summaryrefslogtreecommitdiff
path: root/docs
Unidiff
Diffstat (limited to 'docs') (more/less context) (ignore whitespace changes)
-rw-r--r--docs/usermanual/i18n.sgm36
1 files changed, 18 insertions, 18 deletions
diff --git a/docs/usermanual/i18n.sgm b/docs/usermanual/i18n.sgm
index faa0b03..0c52392 100644
--- a/docs/usermanual/i18n.sgm
+++ b/docs/usermanual/i18n.sgm
@@ -1,198 +1,198 @@
1<chapter> 1<chapter>
2<title>Translations</title> 2<title>Translations</title>
3 <para> 3 <para>
4 The &opie;-Project tries to offer the support for as many languages 4 The &opie;-Project tries to offer the support for as many languages
5 as possible. In this chapter the process of translating &opie; and its 5 as possible. In this chapter the process of translating &opie; and its
6 documentation is explained. 6 documentation is explained.
7 </para> 7 </para>
8 <para> 8 <para>
9 To ensure that &opie; can be used by as many people as possible the 9 To ensure that &opie; can be used by as many people as possible the
10 &opie;-project aims to be translated in as many languages as possible. Of 10 &opie;-project aims to be translated in as many languages as possible. Of
11 course, as there are so many different languages, there is always a lot 11 course, as there are so many different languages, there is always a lot of
12 work to do. Furthermore, &opie; evolves and thus most likely there are 12 work to do. Furthermore, &opie; evolves and thus most likely there are
13 translations for applications which should be updated. In this tutorial 13 translations for applications which should be updated. In this tutorial
14 you will learn how to help &opie; to be available in as many languages as 14 you will learn how to help &opie; to be available in as many languages as
15 possible and see how easy it is to give something very much respected to 15 possible and see how easy it is to give something very much respected to
16 the open-source community. 16 the open-source community.
17 </para> 17 </para>
18 18
19<section> 19<section>
20 <title>Preferences</title> 20 <title>Preferences</title>
21 21
22 <para> 22 <para>
23 In order to translate for &opie; you need an editor to edit the 23 In order to translate for &opie; you need an editor to edit the
24 translationfile and preferably access to cvs. The preferred editor 24 translation file and preferably access to cvs. The preferred editor
25 is Linguist. That is an application which comes with &qt;. It has a 25 is Linguist. That is an application which comes with &qt;. It has a
26 intuitive GUI and is very easy to use. A tutorial can be found <ulink 26 intuitive GUI and is very easy to use. A tutorial can be found <ulink
27 url="http://doc.trolltech.com/3.1/linguist-manual-3.html">here</ulink>. 27 url="http://doc.trolltech.com/3.1/linguist-manual-3.html">here</ulink>.
28 </para> 28 </para>
29 <para> 29 <para>
30 However, you can use every editor which works with UTF8, for example VIM or 30 However, you can use every editor which works with UTF8, for example VIM or
31 EMACS. The advantage of Linguist is that its GUI is optimized for &opie;s 31 EMACS. The advantage of Linguist is that its GUI is optimized for &opie;s
32 translationfiles and can help you by proposing a translation and warn 32 translation files and can help you by proposing a translation and warn
33 you if there is an error within the translation. 33 you if there is an error within the translation.
34 </para> 34 </para>
35 <para> 35 <para>
36 CVS is a tool which the developers and most translators use to get the source 36 CVS is a tool which the developers and most translators use to get the source
37 of &opie;. If you already have an anonymous account for the &opie;-cvs you 37 of &opie;. If you already have an anonymous account for the &opie;-cvs you
38 should go to <filename class='directory'>OPIEDIR/i18n</filename> and do 38 should go to <filename class='directory'>OPIEDIR/i18n</filename> and do
39 39
40 <programlisting>cvs up</programlisting> 40 <programlisting>cvs up</programlisting>
41 41
42 If there is already a translation for the language you would like to 42 If there is already a translation for the language you would like to
43 translate you will see the language code in that directory. For example, 43 translate you will see the language code in that directory. For example,
44 for german this is <programlisting>de</programlisting> and for danish it is 44 for german this is <programlisting>de</programlisting> and for danish it is
45 45
46 <programlisting>da</programlisting> 46 <programlisting>da</programlisting>
47 47
48 If not, you should contact the coordinator 48 If not, you should contact the coordinator
49 <personname><firstname>Carsten</firstname> <surname>Niehaus</surname></personname> 49 <personname><firstname>Carsten</firstname> <surname>Niehaus</surname></personname>
50 so that everything will be set up for your language. 50 so that everything will be set up for your language.
51 </para> 51 </para>
52</section> 52</section>
53 53
54<section> 54<section>
55 <title>Styleguide</title> 55 <title>Styleguide</title>
56 <para> 56 <para>
57 To ensure a high quality of the translations the translatiors have to keep certain things 57 To ensure a high quality of the translations the translators have to keep certain things
58 in mind. 58 in mind.
59 </para> 59 </para>
60 <itemizedlist mark='opencircle'> 60 <itemizedlist mark='opencircle'>
61 <listitem> 61 <listitem>
62 <para> 62 <para>
63 The applications do not speak to the user. This means that for example it should not 63 The applications do not speak to the user. This means that for example it should not
64 be <errortext>I didn't find the file!</errortext> but <errortext>File not found!</errortext>. 64 be <errortext>I didn't find the file!</errortext> but <errortext>File not found!</errortext>.
65 </para> 65 </para>
66 </listitem> 66 </listitem>
67 <listitem> 67 <listitem>
68 <para> 68 <para>
69 Try not to use exclamationmarks. If the users sees them to often the ! looses it function 69 Try not to use exclamation marks. If the users see them to often the ! looses it function
70 as a amplifier of a warning. 70 as an amplifier of a warning.
71 </para> 71 </para>
72 </listitem> 72 </listitem>
73 <listitem> 73 <listitem>
74 <para> 74 <para>
75 Don't put a space in front of a punctuation mark. So write eg "this is a demonstation!" instead 75 Don't put a space in front of a punctuation mark. So write eg "this is a demonstration!" instead
76 of "this is a demonstation !". 76 of "this is a demonstration !".
77 </para> 77 </para>
78 </listitem> 78 </listitem>
79 </itemizedlist> 79 </itemizedlist>
80</section> 80</section>
81 81
82<section> 82<section>
83 <title>Examplecode</title> 83 <title>Examplecode</title>
84 84
85 <para> 85 <para>
86 In the next paragraph you see an example of what the XML looks like. 86 In the next paragraph you see an example of what the XML looks like.
87 </para> 87 </para>
88<literallayout> 88<literallayout>
89 &lt;message&gt; 89 &lt;message&gt;
90 &lt;source&gt;New&lt;/source&gt; 90 &lt;source&gt;New&lt;/source&gt;
91 &lt;translation&gt;Neu&lt;/translation&gt; 91 &lt;translation&gt;Neu&lt;/translation&gt;
92 &lt;/message&gt; 92 &lt;/message&gt;
93 &lt;message&gt; 93 &lt;message&gt;
94 &lt;source&gt;Today&lt;/source&gt; 94 &lt;source&gt;Today&lt;/source&gt;
95 &lt;translation&gt;Heute&lt;/translation&gt; 95 &lt;translation&gt;Heute&lt;/translation&gt;
96 &lt;/message&gt; 96 &lt;/message&gt;
97 &lt;message&gt; 97 &lt;message&gt;
98 &lt;source&gt;Day&lt;/source&gt; 98 &lt;source&gt;Day&lt;/source&gt;
99 &lt;translation type="unfinished"&gt;&lt;/translation&gt; 99 &lt;translation type="unfinished"&gt;&lt;/translation&gt;
100 &lt;/message&gt; 100 &lt;/message&gt;
101</literallayout> 101</literallayout>
102 102
103 <para> 103 <para>
104 As you can see the markup is very simple. The part between two source-tags is 104 As you can see the markup is very simple. The part between two source-tags is
105 the english text which appears if there is no translation yet. In the first 105 the english text which appears if there is no translation yet. In the first
106 case this is <quote>New</quote>. The next row is where the translated string 106 case this is <quote>New</quote>. The next row is where the translated string
107 would be. The first two messages are already translated, the third is 107 would be. The first two messages are already translated, the third is
108 not. This is marked by the 108 not. This is marked by the
109 109
110 <programlisting>type="unfinished"</programlisting> 110 <programlisting>type="unfinished"</programlisting>
111 111
112 </para> 112 </para>
113 <para> 113 <para>
114 If you choose to use an editor like VIM instead of the prefered tool 114 If you choose to use an editor like VIM instead of the prefered tool
115 -Linguist- you have to remove that mark and add the translated string 115 -Linguist- you have to remove that mark and add the translated string
116 between the two translation-tags. 116 between the two translation-tags.
117 </para> 117 </para>
118 <para> 118 <para>
119 It might happen that you see <emphasis>type="obsolete"</emphasis> in a 119 It might happen that you see <emphasis>type="obsolete"</emphasis> in a
120 .ts-file. You should not translate these stings as they do no longer appear in the 120 .ts-file. You should not translate these strings as they do no longer appear in the
121 application. The translationcoordinator removes those strings from time to time. In 121 application. The translation coordinator removes those strings from time to time. In
122 Linguist those strings are grey and not translatable. 122 Linguist those strings are grey and not translatable.
123 </para> 123 </para>
124</section> 124</section>
125 125
126<section> 126<section>
127 <title>Filetypes</title> 127 <title>Filetypes</title>
128 <para> 128 <para>
129 As a translator one needs to know three different filetypes. 129 As a translator one needs to know three different filetypes.
130 130
131 <filename class='extension'>ts</filename> 131 <filename class='extension'>ts</filename>
132 .ts-files are the most important files for translators. In these files are all strings which 132 .ts-files are the most important files for translators. In these files are all strings which
133 need to be translated and the translations themselfs. All .ts-files are located in 133 need to be translated and the translations themselves. All .ts-files are located in
134 <filename class='directory'>OPIEDIR/i18n/xx</filename> while xx is a languagecode (eg. de or de). 134 <filename class='directory'>OPIEDIR/i18n/xx</filename> while xx is a languagecode (eg. de or de).
135 In theory .ts-files are the only ones a translator needs to know. 135 In theory .ts-files are the only ones a translator needs to know.
136 136
137 <filename class='extension'>pro</filename> 137 <filename class='extension'>pro</filename>
138 Every application has a .pro-file from which the Makefiles are generated. As a translator 138 Every application has a .pro-file from which the Makefiles are generated. As a translator
139 you need to check if in every .pro-file is a line for the language you want to translate to. 139 you need to check if in every .pro-file is a line for the language you want to translate to.
140 This line should look like: 140 This line should look like:
141 141
142 <programlisting> 142 <programlisting>
143 ../../../i18n/de/today.ts \ 143 ../../../i18n/de/today.ts \
144 </programlisting> 144 </programlisting>
145 145
146 Usually the translationcoordinator takes care of these entries so you should not 146 Usually the translation coordinator takes care of these entries so you should not
147 need to edit them. 147 need to edit them.
148 148
149 <filename class='extension'>qm</filename> 149 <filename class='extension'>qm</filename>
150 These are binary files used by &opie; to display the translated strings. They are 150 These are binary files used by &opie; to display the translated strings. They are
151 automatically generated by calling the command <command>make lrelease</command>. Of course, 151 automatically generated by calling the command <command>make lrelease</command>. Of course,
152 you need to have the binary of <application>lrelease</application> which comes with &qt;. 152 you need to have the binary of <application>lrelease</application> which comes with &qt;.
153 </para> 153 </para>
154</section> 154</section>
155 155
156<section> 156<section>
157 <title>Do's and don'ts</title> 157 <title>Do's and don'ts</title>
158 <para> 158 <para>
159 There are certain things that should only be done be the 159 There are certain things that should only be done be the
160 translationcoordinator or one of the core developers. 160 translation coordinator or one of the core developers.
161 <itemizedlist mark='opencircle'> 161 <itemizedlist mark='opencircle'>
162 <listitem> 162 <listitem>
163 <para> 163 <para>
164 The translationfiles should never be updated by the translators. Only the 164 The translation files should never be updated by the translators. Only the
165 translationcoordinator updates the repository. This is to avoid merging conflicts. 165 translation coordinator updates the repository. This is to avoid merging conflicts.
166 </para> 166 </para>
167 </listitem> 167 </listitem>
168 <listitem> 168 <listitem>
169 <para> 169 <para>
170 The binary .qm-files are created by either the translationcoordinator or by the feed-manager. 170 The binary .qm-files are created by either the translation coordinator or by the feed-manager.
171 Of course, the translators can create them as described above for testing purposes but 171 Of course, the translators can create them as described above for testing purposes but
172 the official files will be provided. 172 the official files will be provided.
173 </para> 173 </para>
174 </listitem> 174 </listitem>
175 <listitem> 175 <listitem>
176 <para> 176 <para>
177 Whenever you find a typo or an incorrect message, contact the author of the application 177 Whenever you find a typo or an incorrect message, contact the author of the application
178 and/or use our bug tracking system (Mantis) to make sure this string will be fixed. 178 and/or use our bug tracking system (Mantis) to make sure this string will be fixed.
179 </para> 179 </para>
180 </listitem> 180 </listitem>
181 <listitem> 181 <listitem>
182 <para> 182 <para>
183 If you find a string like "Form1" contact the translation coordinator. These strings 183 If you find a string like "Form1" contact the translation coordinator. These strings
184 should not be in the translationfiles. You don't need to translate them. 184 should not be in the translation files. You don't need to translate them.
185 </para> 185 </para>
186 </listitem> 186 </listitem>
187 <listitem> 187 <listitem>
188 <para> 188 <para>
189 If you check you translation and see an un-translated string even though your translationfile 189 If you check your translation and see an un-translated string even though your translation file
190 is 100% translated use the bug tracking system and/or contact the author of that application 190 is 100% translated use the bug tracking system and/or contact the author of that application
191 directly so that this bug is fixed. 191 directly so that this bug is fixed.
192 </para> 192 </para>
193 </listitem> 193 </listitem>
194 </itemizedlist> 194 </itemizedlist>
195 </para> 195 </para>
196</section> 196</section>
197 197
198</chapter> 198</chapter>