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