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