Distributed Proofreaders 496 books posted to PG from DP!   Visit DP-INT 
  DP » FAQ Central
ID: Password:  ·  Register ·  Help 
 

Site translation

This page contains information on how to translate DP site. For information on translation status of various languages, see Software information.

If you wish to translate our site to your language, or improve upon the existing translation, please visit the Site translation thread first to make sure that noone is already doing that. You may also report problems with existing translation there.

There are several things that could be translated.

Table of contents

Site

Site interface could be translated with the help of an on-line translation interface—the Translation Center.

Translation Center

Translation Center is located at dp.rastko.net/locale/translators. Each user can wade through it and see how it works, but only an appointed translator can really save the translation. If you want to translate the site, you need to ask for translator status. After you get it, read the instructions for use of the interface.

Languages

Upon entering it, you will see a list of languages. If your language is not in the list, you can add it by clicking on the link above. Note however, that even though you can work on the translation, the language will not be automatically added to the site, but will have to be added by site admins. It is not technically possible to add to the site all languages which could be translated! (For a partial list see misc below.) You should therefore announce your wish to add a new language in the Site translation thread.

Clicking on "Translate" beside a language will take you to a page dedicated to that language. You will now see a list of site parts which could be translated.

Parts

Clicking on "Location" aside one of them will lead you to that part so that you will see what are you actually translating. This will not always work, especially for pages ending in .inc; just try to recognise the strings. If you want to translate something specific but don't know in which part of the site it is actually located, ask in the thread!

There are priorities. First things that should be translated are those that all visitors of the site see (default.php, pinc/theme.inc, pinc/showstartexts.inc...). Then, those that all logged in users see (tools/proofers/proof_per.php, userprefs.php, pinc/button_defs.inc...). If no Project Managers who don't know English are expected, PM interface could even be left untranslated. Even the translation interface is translatable, though from obvious reasons it is not neccesary to translate it.

If a string is changed in the site code, its translation is no longer usable (alas, even if the change would not reflect on translations). At the bottom of the interface, there is "Rebuild String List" button. Clicking on it will insert into the translation interface any changed and new strings from the site code. Changes which would require its use will usually be announced on the Site translation thread. Rest assured that your existing translations would never be lost, the old string and its translation will still be visible, and if the new string is same or similar to old one, you can just copy and paste it.

Strings

Clicking on "Translate" at the right will (finally!) let you to actually translate something. If you wish, clicking next to "All" will give you access to entire site at once but we don't recommend this as the page might be several hundreds of kilobytes long! Regardless of which you choose, you don't need to translate entire page of strings at once, of course—do as much as you wish. Again, there is need to coordinate; if two persons are translating same part of the site at the same time, they might cancel each other's work! And while backup of each translation is kept, and the work will not be lost, this will just make a headache for everyone, so please unless you're just fixing a typo, announce your wish to translate in the thread and wait a bit to see if someone was already translating.

The translation interface is pretty straightforward. There is a list of strings, each followed with a text box. Type your translation of a string in its text box, and move onto the next string. When you have translated all the strings, or gotten bored, click on the "Save and Compile" button at the bottom to save your strings and that's it!

In the past, your strings would have been visible immediately after the translation. Unfortunately, this had to be turned off as it caused some problems on the site. The translations will be compiled periodically; if you have made a significant translation, ask the admin to compile it or announce it in the thread.

Distributed Proofreaders Europe for a while used a different translation system, which resulted in somewhat incompatible translations. Partly because of this, and partly because some strings have changed between the two versions of the software (for example, "proofer" changed to "proofreader"), existing translations are not usable in entirety. In particular, of 173 messages in messages.inc, 80 are salvaged, and a few dozen more could be reinserted manually. You can download the .inc file for your language here if you want to reuse old messages.

Special strings

Pay attention that you must not translate HTML tags and entities (except those entities which are parts of words in the text); that any spaces at the beginning or the end of a line must still be present; and that any eventual quotes must be escaped, as in the original text. Examples:

String: Translation: Note
Project<BR>Manager Управник<BR>пројекта <BR> is not translated.
Name&nbsp;of&nbsp;Work Име&nbsp;дела &nbsp; is not translated.
Encyclop&aelig;dia Britannica Енциклопедија Британика &aelig; is part of a word—translated.
active users out of  активних корисника од  Spaces at the beginning and the end are preserved.
\"Show Projects From\" \"Приказ пројеката од\" Note the \ before the ". Other possibilities are \r, \n, \\
%A, %B %e, %Y %A, %e. %B %Y. See strftime and sprintf below.

Strftime and sprintf

Some strings are not displayed as-is, but are passed to PHP's strftime function. These strings are recognisable by containing or consisting in entirety of % signs, each followed by a letter (%A, %B... we shall call such percent-letter combinations tags). The tags are replaced with already translated time-related terms (day names, month names...)—you don't need to translate them yourself! For example, %B expands to month name (f.e. August), and %Y expands to full year (f.e. 2004).

It might be neccesary to reorganise the tags so that they form a date which is more natural for your language. As for above examples, "%A, %B %e, %Y" becomes "Friday, August 13 2004" while "%A, %e. %B %Y." becomes "Friday, 13. August 2004." when used for English. For a full list of all tags and a more detailed explanation, you can see strftime in PHP's manual.

Note that some other strings also have tags, but are not passed to strftime, but to sprintf function instead. You will see that the strings and tags are not date-related. An example could be "<a href=%s>your preferences page</a>". You should just leave the tags as they are.

If the need arises to use the % sign in either strftime or sprintf strings, you should type in %% instead. The additional % acts as an escape.

FAQs

It is possible to translate various FAQs of the site. The files are PHP files; you could translate them as if they are ordinary HTML files. Do not use "Save As" when viewing a FAQ and translate saved file; such translations will not be directly usable. Download a file from here and translate it.

For translating FAQs, it is perhaps best to use a HTML editor (that knows of PHP) or a text editor with HTML syntax highlighting. If you use a text editor, you have to save the files using UTF-8 encoding and pay attention not to translate HTML tags and entities, just as above. But you should also translate the page title:
Before: After:
theme('FAQ Central','header');
theme('Централни FAQ','header');
You should also change path for images and the relPath variable to one more level below:
Before:
<img src="tablec.png" alt="" width="591" height="780">
$relPath='../pinc/';
After:
<img src="../tablec.png" alt="" width="591" height="780">
$relPath='../../pinc/';

Note that these are original files of Project Gutenberg Distributed Proofreaders. On Distributed Proofreaders Europe, some policies will different, in particular those about ASCII; for example, on Distributed Proofreaders Europe, Greek is not transliterated. But for now, just translate these files literally, as they will still be usable as documentation in your language for the original PGDP site.

Again, there are priorities, and you don't need to translate everything. At the very least you should translate FAQ Central (faq_central.php) and the Privacy Statement (privacy.php), then the Beginning Proofreader's FAQ (ProoferFAQ.php), Proofreading Guidelines (document.php) and Proofreading Interface Help (prooffacehelp.php), and after that whatever you like the most.

After translating, send translated files to the admin so that they can be included in the site. If you can't translate all of the files that you want to translate at once, you can send the files separately; but please, translate and send as much as possible at one time. If you notice some errors afterwards, please don't update your local files, but download them from the site again and update those. This is because some changes might have to be made to your files and so would have to be made again otherwise.

Forums

If your community is active enough, it can have a forum on its own, or even a full forum hierarchy. For a forum, just ask the admin. For full hierarchy, you have to translate all the forums' names and PM them to the admin.

Translation of the forum interface to your language should be installed when the language itself is installed, if not before. If it isn't, remind the admin to do it.

Misc

After you translate something, you migh also tell us how is "welcome" written in your language :)

Linking

When you are linking to the site, you can link directly to its version in a particular language, and it will appear in that language irrespective of the user's browser settings. This should be used especially when writing about the site in a foreign language.

Currently the following URLs are available:

For more information, see Linking to the DP Europe site forum topic.

Unsupported languages

For technical reasons, we are currently unable to add interface translation (though we can add the documentation) for the following languages and dialects:

  • (Armenian)
  • Brezhoneg (Breton)
  • Cymraeg (Welsh)
  • Čakavski (Tchakavian)
  • Esperanto
  • (Georgian)
  • Ghàidhlig (Scottish Gaelic)
  • Kajkavski (Kajkavian)
  • Ladino
  • Latina (Latin)
  • Retoroman
  • Романи (Romany)
  • Sámigiella (Sami)
  • Словио (Slovio)
  • Serbščina, Horna (Upper Wendish)
  • Serbščina, Delna (Lower Wendish)
  • Старославянски (Old Slavic)
  • (Tzintzarian)
  • Yiddish

You can make plans for translating them, contact us about it, tell us how some of them are actually called, and we do plan to solve the technical difficulties once.

 
Copyright Distributed Proofreaders (Page Build Time: 0.084) Report a Bug