| 1 |
$Id$ |
| 2 |
(This file public domain, originally written by Norbert Preining.) |
| 3 |
|
| 4 |
Dealing with translations of TeX Live programs |
| 5 |
============================================== |
| 6 |
|
| 7 |
BIG FAT NOTE: Before starting please always fetch the latest NN.po from |
| 8 |
our svn server because we merge new strings into .po files in |
| 9 |
regular intervals. |
| 10 |
|
| 11 |
Here are explanations for gtranslator and poedit. I (np) prefer now |
| 12 |
gtranslator because it keeps the strings where no changes have been |
| 13 |
made in the format as they were, so there will be less commits and |
| 14 |
smaller commits. Another possibility is lokalize (please send details if |
| 15 |
you know them). |
| 16 |
|
| 17 |
Testing your translations: Please try |
| 18 |
|
| 19 |
(perl) install-tl --gui --debug-translation [--lang NN] |
| 20 |
tlmgr --debug-translation gui [--gui-lang NN] |
| 21 |
|
| 22 |
This will give warnings *in*the*terminal* which strings haven't been |
| 23 |
translated. |
| 24 |
|
| 25 |
Don't forget to update the PO-Revision-Date: near the top of the .po file! |
| 26 |
|
| 27 |
Using gtranslator (gtranslator.sf.net) |
| 28 |
-------------------------------------- |
| 29 |
Starting a new translation NN.po: |
| 30 |
- copy messages.pot to NN.po |
| 31 |
- open it with gtranslator |
| 32 |
- select from the menu: Edit -> Header |
| 33 |
and change the items under "Translator and Language", especially |
| 34 |
change CHARSET to utf8 |
| 35 |
- start translating |
| 36 |
|
| 37 |
The first column gives the status, you can sort by clicking on its head. |
| 38 |
|
| 39 |
|
| 40 |
Using poedit (poedit.sf.net) |
| 41 |
---------------------------- |
| 42 |
Starting new translation NN.po: |
| 43 |
- start fresh poedit |
| 44 |
- click on "File -> New catalog from POT file" |
| 45 |
- select messages.pot (in tlpkg/translations/messages.pot) |
| 46 |
- A dialog opens that asks for some fields, like |
| 47 |
Project name and version: |
| 48 |
Team: |
| 49 |
Team's email address: |
| 50 |
Language: |
| 51 |
Country: |
| 52 |
Charset: UTF-8 |
| 53 |
Source code charset: |
| 54 |
Plural Forms: |
| 55 |
etc all of which is unknown to me, but I filled in at least the Language |
| 56 |
and the email of myself of tex-live@tug.org |
| 57 |
- click "Ok" |
| 58 |
- select where to save (either in tlpkg/translations/NN.po or somewhere else |
| 59 |
and send us the file) |
| 60 |
- start translating |
| 61 |
|
| 62 |
Editing an existing NN.po: |
| 63 |
- start poedit |
| 64 |
- open NN.po |
| 65 |
- start translating |
| 66 |
|
| 67 |
|
| 68 |
Requirements and advice for translations: |
| 69 |
---------------------------------------- |
| 70 |
- please use \" instead of ", as can be seen in the original strings |
| 71 |
- several lines in the translations are merged together *without* adding |
| 72 |
anything. So if you want new lines please use \n in the text |
| 73 |
(as seen in several original strings) |
| 74 |
- if %s (one or more) is present, then they are replaced in the |
| 75 |
final strings with the respective infos. Please keep them. |
| 76 |
|
| 77 |
We update the messages.pot nightly and merge the strings into all the |
| 78 |
.po files (using msgmerge). That means if we change one of the english |
| 79 |
strings the translation will normally be marked as "fuzzy" in the |
| 80 |
.po file. |
| 81 |
|
| 82 |
In gtranslator the first column shows a warning sign if the message is |
| 83 |
fuzzy. |
| 84 |
|
| 85 |
In poedit those fuzzy translations are shown in red, telling you that |
| 86 |
those have had a change in the original string and the translation |
| 87 |
should be checked. |
| 88 |
|
| 89 |
So before any of you start out with editing a translation, please fetch |
| 90 |
the latest messages.pot and NN.po! |
| 91 |
|
| 92 |
|
| 93 |
For developers: |
| 94 |
-------------- |
| 95 |
Extraction of the messages == update of the po template messages.pot, and |
| 96 |
Merging/updating of the .po files |
| 97 |
see ../bin/tl-update-messages |
| 98 |
|
| 99 |
Statistics: |
| 100 |
pocount ../translations/*.po |
| 101 |
|
| 102 |
When a new translation (language) is added, add to lists in |
| 103 |
install-tl (under -lang), |
| 104 |
tlmgr.pl (under --gui-lang), |
| 105 |
tlmgrgui.pl (%code_lang). |
| 106 |
Unfortunately nothing checks these for consistency, up to us humans. |
| 107 |
|
| 108 |
When a new translation of the TL Guide is added, update |
| 109 |
texmf-dist/doc/texlive/index.html as well as the text of the guide itself. |
| 110 |
|
| 111 |
When a new translation of the top-level README txt/html is added, |
| 112 |
update Master/index.html. |