Localization/Translation FAQ 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. 1) WHERE DO I START? 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 of country codes look at: http://www.gnu.org/software/gettext/manual/html_mono/gettext.html#SEC222 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. 2) HOW DO I EDIT PO FILES? 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. 3) WHAT DO I NEED TO TRANSLATE? 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 way you can get an idea of what to do. If your using a specialized po editor then you will see in it the untranslated strings and a place to write your translation for them. 4) WHAT SHOULD I DO WITH THE '&', '|', '$, AND '%' CHARACTERS? '&' stands for underlined characters (shortcut) in dialog boxes. '|' stands for underlined characters in menus. 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... '$' 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. 5) WHAT IS pocheck.pl AND HOW DO I USE IT? 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. 6) HOW CAN I TEST MY TRANSLATION? 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 install LyX it won't work. In order to run LyX with your translation, use the 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". The most comfortable way to see your updated translation while editing, is running (in linux): 1. "make xx.po" in po directory to compile updated xx.po translation 2. "make install" in root lyx tree to copy xx.gmo into the appropriate location (or do it by hand...) 7) REFERENCES For some basic idea on how the translation works, you can look at http://en.wikipedia.org/wiki/Gettext For detailed reference, have a look at http://www.gnu.org/software/gettext/manual/gettext.html