]> git.lyx.org Git - lyx.git/blob - README.localization
* README.localization
[lyx.git] / README.localization
1
2         Localization/Translation FAQ
3               
4     by Ran Rutenberg, Pavel Sanda, Michael Gerz
5
6     February 2007
7
8 This file is mainly intended for those who have no or little experience using 
9 .po files, but want to contribute by translating the LyX interface (i.e. menu
10 and dialog items, console messages) into their native language.
11
12
13 1) WHERE DO I START?
14
15 The file you need to edit is an xx.po file where xx stands for your language's
16 two letter code. For a list of languages codes look at:
17
18   http://www.gnu.org/software/gettext/manual/html_mono/gettext.html#Language-Codes
19
20 If you want to start from scratch then you should obtain a copy of the lyx.pot
21 and name it after your language. German would be for example de.po and Polish
22 pl.po. This file is generated in the "po" directory of the source tree during
23 the compilation.
24
25 There are basically two source trees you can start to work with - trunk
26 (development version) and branch (stable version). Unless the development
27 version is shortly before release it is better idea to start your translating
28 work on the stable version. If you have no idea how to get those trees you
29 can follow http://www.lyx.org/HowToUseSVN page.
30
31
32 2) HOW DO I EDIT PO FILES?
33
34 PO files can be edited with every text editor available for your system (e.g. 
35 VIM, NotePad etc.). Yet another option is to use a specialized editor for .po 
36 files. You can e.g. use the editors "poEdit" or "jEdit", Linux users can 
37 additionally use e.g. "kbabel". Using these editors usually makes things easier 
38 as they have many tools to assist the translator.
39
40
41 3) WHAT DO I NEED TO TRANSLATE?
42
43 If you are using a simple text editor you should translate the strings that
44 appear in the msgid line and write the translation into the msgstr line. Note
45 that a "#, fuzzy" line is just a hint for translation from compiler - in order
46 to get the translation of the current item working you have to delete this
47 line. It is recommended that you would take a look at another .po file - that
48 way you can get an idea of what to do. If you are using a specialized po editor
49 then you will see in it the untranslated strings and a place to write your
50 translation for them.
51
52
53 4) WHAT SHOULD I DO WITH THE '&', '|', '$, '%' {} AND [[]] CHARACTERS?
54
55 '&' stands for underlined characters (shortcut) in dialog boxes.
56 '|' stands for underlined characters in menus.
57
58 These chars should be somehow used in your translations, however you'll have to 
59 invent your own working shortcuts for dialog and menu entries and resolve 
60 possible conflicts of the same shortcut chars in one menu... 
61
62 Note also that there are already used global shortcuts (such as p k x c m s a)
63 and you should avoid to use these characters for first-level menu shortcuts.
64
65 '$' and '%' are usually used as handlers for formatting or variables to be 
66 inserted into the strings. Character sequences like %1$s or %1$d MUST also 
67 appear in your translations! Please take them exactly as they are or you may 
68 experience crashes when running LyX.
69
70 [[Context]] is used to distinguish otherwise identical strings, which could
71 have different translation dependent on the Context. [[Context]] appears only
72 in msgid string and should not be repeated in the translated version.
73
74 {} refer to counters and must not be translated. Example would be:
75 msgid "Algorithm \\arabic{theorem}"
76 msgstr "Algoritmus \\arabic{theorem}"
77
78
79 5) WHAT IS pocheck.pl AND HOW DO I USE IT?
80
81 This is a small script located in the "po" directory of the source that helps 
82 you find common errors in your translation. In order to use this script you have 
83 to have the script language Perl installed.
84 Run ./pocheck.pl -h to see all possible switches.
85
86
87 6) HOW CAN I TEST MY TRANSLATION?
88
89 In order to test your translation you need to obtain the LyX sources (from the 
90 SVN repository) and replace the existing .po with yours. Afterwards, you should 
91 compile and install LyX (check the INSTALL file for your OS). If you don't 
92 install LyX it won't work. In order to run LyX with your translation, use the 
93 appropriate LANG variable:
94
95   On Linux: LANG=xx_CC lyx
96   On Windows, you need to change the lyx.bat file and write: set LANG=xx_CC
97
98 xx stands for your language code. CC stands for your country code. So to get, 
99 e.g., Czech, the code is "cs_CZ".
100
101 The most comfortable way to see your updated translation while editing, is
102 running (in linux):
103 1. "make xx.gmo" in the po directory to compile updated xx.po translation
104 2. "make install" in root lyx tree to copy xx.gmo into the appropriate location
105    (or do it by hand...) 
106
107 For advanced users - if you want to remerge your files against current source
108 files run make update-po. 
109
110
111 7) HOW TO CONTRIBUTE MY WORK?
112
113 Send your edited xx.po file to po-updates@lyx.org.
114
115 Also you can check http://www.lyx.org/trac/browser/lyx-devel/trunk to track
116 changes or watch updates.
117
118
119 8) SHALL ALL THE UNUSED STRINGS AT THE BOTTOM OF .PO FILE BE REMOVED,
120    OR SHALL THEY STAY?
121
122 As you wish. They can be reused for generating fuzzy hints when completely
123 new strings appear, no other function.
124
125
126 9) REFERENCES
127
128 For some basic idea on how the translation works, you can look at 
129
130   http://en.wikipedia.org/wiki/Gettext
131
132 For detailed reference (including full list of country and language codes),
133 have a look at 
134
135   http://www.gnu.org/software/gettext/manual/gettext.html
136
137
138 Consider subscribing to the documentation list at lyx-docs@lists.lyx.org (rather
139 silent one) or developer's mailing list lyx-devel@lists.lyx.org (high volume).