2007-02-24 14:14:10 +00:00
|
|
|
|
2007-02-24 15:32:12 +00:00
|
|
|
Localization/Translation FAQ
|
2007-02-24 14:55:19 +00:00
|
|
|
|
2007-02-24 15:32:12 +00:00
|
|
|
by Ran Rutenberg, Pavel Sanda, Michael Gerz
|
|
|
|
|
|
|
|
February 2007
|
|
|
|
|
|
|
|
This file is mainly intended for those who have no or little experience using
|
|
|
|
.po files, but want to contribute by translating the LyX interface into their
|
|
|
|
native language.
|
2007-02-24 14:14:10 +00:00
|
|
|
|
|
|
|
|
|
|
|
1) WHERE DO I START?
|
|
|
|
|
2007-02-24 15:32:12 +00:00
|
|
|
The file you need to edit it an xx.po file where xx stands for your language's
|
|
|
|
two letter code. German would be for example de.po and Polish pl.po. For a list
|
2007-07-10 01:01:05 +00:00
|
|
|
of languages codes look at:
|
2007-02-24 15:32:12 +00:00
|
|
|
|
2007-07-10 01:01:05 +00:00
|
|
|
http://www.gnu.org/software/gettext/manual/html_mono/gettext.html#Language-Codes
|
2007-02-24 15:32:12 +00:00
|
|
|
|
2007-03-02 21:48:13 +00:00
|
|
|
If you want to start from scratch then you should obtain a copy of the lyx.pot
|
|
|
|
and name it after your language. German would be for example de.po and Polish
|
|
|
|
pl.po. This file is generated in the "po" directory of the source tree during
|
|
|
|
the compilation.
|
2007-02-24 15:32:12 +00:00
|
|
|
|
2007-02-24 14:14:10 +00:00
|
|
|
|
|
|
|
2) HOW DO I EDIT PO FILES?
|
|
|
|
|
2007-02-24 15:32:12 +00:00
|
|
|
PO files can be edited with every text editor available for your system (e.g.
|
|
|
|
VIM, NotePad etc.). Yet another option is to use a specialized editor for .po
|
|
|
|
files. You can e.g. use the editors "poEdit" or "jEdit", Linux users can
|
|
|
|
additionally use e.g. "kbabel". Using these editors usually makes things easier
|
|
|
|
as they have many tools to assist the translator.
|
|
|
|
|
2007-02-24 14:14:10 +00:00
|
|
|
|
|
|
|
3) WHAT DO I NEED TO TRANSLATE?
|
|
|
|
|
2007-03-02 21:48:13 +00:00
|
|
|
If you are using a simple text editor you should translate the strings that
|
|
|
|
appear in the msgid line and write the translation into the msgstr line. Note
|
|
|
|
that a "#, fuzzy" line is just a hint for translation from compiler - in order
|
|
|
|
to get the translation of the current item working you have to delete this
|
|
|
|
line. It is recommended that you would take a look at another .po file - that
|
2007-07-10 01:01:05 +00:00
|
|
|
way you can get an idea of what to do. If you are using a specialized po editor
|
2007-03-02 21:48:13 +00:00
|
|
|
then you will see in it the untranslated strings and a place to write your
|
|
|
|
translation for them.
|
2007-02-24 15:32:12 +00:00
|
|
|
|
2007-02-24 14:14:10 +00:00
|
|
|
|
2007-09-04 23:58:00 +00:00
|
|
|
4) WHAT SHOULD I DO WITH THE '&', '|', '$, '%' AND [[]] CHARACTERS?
|
2007-02-24 14:14:10 +00:00
|
|
|
|
|
|
|
'&' stands for underlined characters (shortcut) in dialog boxes.
|
|
|
|
'|' stands for underlined characters in menus.
|
2007-02-24 15:24:08 +00:00
|
|
|
|
2007-02-24 15:32:12 +00:00
|
|
|
These chars should be somehow used in your translations, however you'll have to
|
|
|
|
invent your own working shortcuts for dialog and menu entries and resolve
|
|
|
|
possible conflicts of the same shortcut chars in one menu...
|
2007-02-24 14:14:10 +00:00
|
|
|
|
2007-09-04 23:58:00 +00:00
|
|
|
Note also that there are already used global shortcuts (such as p k x c m) and
|
|
|
|
you should avoid to use these characters for first-level menu shortcuts.
|
|
|
|
|
2007-02-24 15:32:12 +00:00
|
|
|
'$' and '%' are usually used as handlers for formatting or variables to be
|
|
|
|
inserted into the strings. Character sequences like %1$s or %1$d MUST also
|
|
|
|
appear in your translations! Please take them exactly as they are or you may
|
|
|
|
experience crashes when running LyX.
|
2007-02-24 15:24:08 +00:00
|
|
|
|
2007-09-04 23:58:00 +00:00
|
|
|
[[Context]] is used to distinguish otherwise identical strings, which could
|
|
|
|
have different translation dependent on the Context. [[Context]] appears only
|
|
|
|
in msgid string and should not be repeated in the translated version.
|
|
|
|
|
2007-02-24 15:24:08 +00:00
|
|
|
|
2007-02-24 14:14:10 +00:00
|
|
|
5) WHAT IS pocheck.pl AND HOW DO I USE IT?
|
|
|
|
|
2007-02-24 15:32:12 +00:00
|
|
|
This is a small script located in the "po" directory of the source that helps
|
|
|
|
you find common errors in your translation. In order to use this script you have
|
|
|
|
to have the script language Perl installed.
|
|
|
|
|
2007-02-24 14:14:10 +00:00
|
|
|
|
2007-02-24 14:55:19 +00:00
|
|
|
6) HOW CAN I TEST MY TRANSLATION?
|
2007-02-24 14:14:10 +00:00
|
|
|
|
2007-02-24 15:32:12 +00:00
|
|
|
In order to test your translation you need to obtain the LyX sources (from the
|
|
|
|
SVN repository) and replace the existing .po with yours. Afterwards, you should
|
|
|
|
compile and install LyX (check the INSTALL file for your OS). If you don't
|
2007-03-02 21:48:13 +00:00
|
|
|
install LyX it won't work. In order to run LyX with your translation, use the
|
2007-02-24 15:32:12 +00:00
|
|
|
appropriate LANG variable:
|
|
|
|
|
|
|
|
On Linux: LANG=xx_CC lyx
|
|
|
|
On Windows, you need to change the lyx.bat file and write: set LANG=xx_CC
|
|
|
|
|
|
|
|
xx stands for your language code. CC stands for your country code. So to get,
|
|
|
|
e.g., Czech, the code is "cs_CZ".
|
2007-02-24 14:14:10 +00:00
|
|
|
|
2007-03-02 21:48:13 +00:00
|
|
|
The most comfortable way to see your updated translation while editing, is
|
|
|
|
running (in linux):
|
2007-07-10 01:01:05 +00:00
|
|
|
1. "make xx.gmo" in the po directory to compile updated xx.po translation
|
2007-03-02 21:48:13 +00:00
|
|
|
2. "make install" in root lyx tree to copy xx.gmo into the appropriate location
|
|
|
|
(or do it by hand...)
|
|
|
|
|
2007-07-10 01:01:05 +00:00
|
|
|
For advanced users - if you want to remerge your files against current source
|
|
|
|
files run make update-po.
|
2007-03-02 21:48:13 +00:00
|
|
|
|
2007-07-10 01:01:05 +00:00
|
|
|
|
|
|
|
7) HOW TO CONTRIBUTE MY WORK?
|
|
|
|
|
|
|
|
You can manually use diff utility to make patch; usually the most comfortable
|
|
|
|
way is to run something like (after you edit xx.po):
|
|
|
|
|
|
|
|
svn diff xx.po > xx.po.patch
|
|
|
|
|
|
|
|
This file should be sent to po-updates@lyx.org.
|
|
|
|
|
|
|
|
Also you can check http://www.lyx.org/trac/browser/lyx-devel/trunk to track
|
|
|
|
changes or watch updates.
|
|
|
|
|
|
|
|
|
|
|
|
8) REFERENCES
|
2007-02-24 15:32:12 +00:00
|
|
|
|
|
|
|
For some basic idea on how the translation works, you can look at
|
|
|
|
|
|
|
|
http://en.wikipedia.org/wiki/Gettext
|
|
|
|
|
2007-07-10 01:01:05 +00:00
|
|
|
For detailed reference (including full list of country and language codes),
|
|
|
|
have a look at
|
2007-02-24 15:32:12 +00:00
|
|
|
|
|
|
|
http://www.gnu.org/software/gettext/manual/gettext.html
|
2007-07-10 01:01:05 +00:00
|
|
|
|
|
|
|
|
|
|
|
Consider subscribing to the documentation list at lyx-docs@lists.lyx.org (rather
|
|
|
|
silent one) or developer's mailing list lyx-devel@lists.lyx.org (high volume).
|