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