X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=README.localization;h=6b0b540b5eb0ebc309dc9d7ee51b75da3c9f96f9;hb=4f865d0f4d870032451dc3578b547abc158a7e42;hp=09d509e6fd03d88612e5d081fd0c8d1a93da100a;hpb=a5c0cef5a0f908deea3241c3cec7f60b41339f84;p=lyx.git diff --git a/README.localization b/README.localization index 09d509e6fd..6b0b540b5e 100644 --- a/README.localization +++ b/README.localization @@ -1,19 +1,22 @@ Localization/Translation FAQ - + (2007-2015) + 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. +PART I - Interface translation +------------------------------ + +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 (i.e. menu +and dialog items, console messages) 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. For a list of languages codes look at: +The file you need to edit is an xx.po file where xx stands for your language's +two letter code. For a list of language codes look at: http://www.gnu.org/software/gettext/manual/html_mono/gettext.html#Language-Codes @@ -24,18 +27,20 @@ the compilation. There are basically two source trees you can start to work with - trunk (development version) and branch (stable version). Unless the development -version is shortly before release it is better idea to start your translating +version is shortly before release it is better to start your translating work on the stable version. If you have no idea how to get those trees you -can follow http://www.lyx.org/HowToUseSVN page. +can follow http://www.lyx.org/HowToUseGIT page. 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 +PO files can be edited with any text editor available for your system (e.g. +Vim, jEdit etc.). Yet another option is to use a specialized editor for .po +files. You can e.g. use the editor "Poedit", Linux users can +additionally use e.g. "Lokalize". Using these editors usually makes things easier as they have many tools to assist the translator. +If you use Poedit, please uncheck in its settings the option to break lines after +80 characters. 3) WHAT DO I NEED TO TRANSLATE? @@ -44,8 +49,8 @@ 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 you are using a specialized po editor +line. It is recommended that you take a look at another .po file - that way you +can get an idea of what to do. If you are using a specialized po editor then you will see in it the untranslated strings and a place to write your translation for them. @@ -55,77 +60,130 @@ translation for them. '&' 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... +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... -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. +Note also that there are already used global shortcuts (such as p k x c m s a) +and you should avoid using these characters for first-level menu shortcuts. -'$' 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 +'$' 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. [[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. +have different translations depending on the Context. It can also be used to +indicate what is substituted for a placeholder. [[Context]] appears only in +msgid string and should not be repeated in the translated version. -{} refer to counters and must not be translated. Example would be: +{} refer to counters and must not be translated. An example would be: msgid "Algorithm \\arabic{theorem}" msgstr "Algoritmus \\arabic{theorem}" 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. +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 +need the script language Perl installed. +Run ./pocheck.pl -h to see all possible switches. 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: +In order to test your translation you need to obtain the LyX sources +(from the git repository) and replace the existing .po with yours. +Afterwards, you should compile and optionally install LyX (check the +INSTALL file for your OS). Note that, as of LyX 2.1, it is not +necessary anymore to install anything. + +In order to run LyX with your translation, change the current language +in Preferences dialog or 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, +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.gmo" in the 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...) +Another possibility is to use the Preferences dialog to set LyX UI to +use your language. Note that, as of LyX 2.2, a newly introduced +language will not appear in the languages combox unless it corresponds +to an entry of the lib/languages file that has a "HasGuiSupport true" +property. See this file for more details. + +The most comfortable way to see your updated translation while +editing, is running (in linux) "make xx.gmo" in the po directory to +compile updated xx.po translation and then run LyX. + +For advanced users - if you want to remerge your files against current source: -For advanced users - if you want to remerge your files against current source -files run make update-po. +- on Linux: execute the command: make update-po +- on Windows: if you compile LyX in install mode, the po files are automatically + updated and output to the folder \po + Another option is to build the target "update-po" in MSVC. 7) HOW TO CONTRIBUTE MY WORK? Send your edited xx.po file to po-updates@lyx.org. -Also you can check http://www.lyx.org/trac/browser/lyx-devel/trunk to track +Also you can check http://www.lyx.org/trac/browser/lyxgit/?rev=master to track changes or watch updates. -8) REFERENCES +8) SHALL ALL THE UNUSED STRINGS AT THE BOTTOM OF .PO FILE BE REMOVED, + OR SHALL THEY STAY? -For some basic idea on how the translation works, you can look at +As you wish. They can be reused for generating fuzzy hints when completely +new strings appear, no other function. + + +9) REFERENCES + +For a basic idea of how the translation works, you can look at http://en.wikipedia.org/wiki/Gettext -For detailed reference (including full list of country and language codes), -have a look at +For detailed reference (including a full list of country and language codes), +have a look at http://www.gnu.org/software/gettext/manual/gettext.html -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). +Consider subscribing to the documentation list, lyx-docs@lists.lyx.org (rather +silent), or the developer's mailing list, lyx-devel@lists.lyx.org (high +volume). + + + +PART II - Translation of Math environments and Floats in the final output +------------------------------------------------------------------------- + +As of 2.0 LyX allows automatic translation in tex/dvi/ps/pdf output for math +environment strings (and some floats) which are not automatically translated via +babel package to the localized form. For example the environment "Exercise" +becomes "Aufgabe" in the output of the documents with language set to German. + +These translations are taken from the previously translated .po file before the +final major LyX release (e.g. 2.0.0) and are fixed for all next minor releases +(e.g. 2.0.x) in order to have fixed output of LyX documents. + +The current translation for your language can be found in the file +lib/layouttranslations. An easy way to check many of the translations is to +simply load lib/examples/localization_test.lyx in LyX and read its +instructions. + +The problematic strings can be then fixed in the .po file. For inspiration the +typical places in .po files, where to fix the translation, can be seen on the +following commit: http://www.lyx.org/trac/changeset/38169. + +If you need to manually regenerate the layouttranslations file from .po files +run `make ../lib/layouttranslations' in the po directory. The Python polib +library is needed for building the output file. + +Q: Running make ../lib/layouttranslations returns with just saying + ../lib/layouttranslations is up to date. +A: To force regerenation, use something like (XX is your language) + make -W XX.po ../lib/layouttranslations