~ubuntu-branches/ubuntu/gutsy/amsn/gutsy

« back to all changes in this revision

Viewing changes to lang/LANG-HOWTO

  • Committer: Bazaar Package Importer
  • Author(s): Theodore Karkoulis
  • Date: 2006-01-04 15:26:02 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20060104152602-ipe1yg00rl3nlklv
Tags: 0.95-1
New Upstream Release (closes: #345052, #278575).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
1
2
LANG-HOWTO
2
 
Created 06.Jan.2004, Alberto Diaz
3
 
Updated 03.May.2004, Henrique Cesar Ulbrich (Hatredman)
4
 
 
 
3
Version 2.2
 
4
 
 
5
File name: msn/lang/LANG-HOWTO
 
6
This document and its contents are licenced under the 
 
7
GNU-FDL licence version 1.2 or up.
 
8
http://www.gnu.org/copyleft/fdl.html
 
9
 
 
10
If you modify this file, please update the version and add 
 
11
your name to the credits at the end.
5
12
 
6
13
This little document is a guide to translator and translation
7
 
managers that works or wants to work in aMSN.
8
 
 
9
 
This document deals only with the langXX files (that is, the
10
 
language files that translates aMSN's messages, menus and dialog
11
 
boxes). We are preparing another document for the docs/ folder,
12
 
dealing with the translation of the HELP, FAQ and README files. In
13
 
the mean time, read the present file completely and ask what to do
 
14
managers that works or wants to work in aMSN. It is indeed a
 
15
little document, but has a lot of information. We suggest you 
 
16
to print it and leave it within the reach of your hands if you
 
17
are serious in this translation business.
 
18
 
 
19
Another word of warning: if you are in doubt, please ask! 
 
20
We will be pleased to help you. The right place to ask 
 
21
questions is our discussion list: amsn-lang@lists.sourceforge.net
 
22
You must subscribe to post there. Instructions on how to subscribe
 
23
can be found here: http://lists.sourceforge.net/lists/listinfo/amsn-lang
 
24
 
 
25
One of our goals is to be the most internationalized 
 
26
free software / open source project of the world. 
 
27
And to achieve that we need you!
 
28
 
 
29
Thanks for the interest on the aMSN project!
 
30
 
 
31
Index:
 
32
 
 
33
*. Introduction.
 
34
   What is this aMSN translation stuff all about?
 
35
 
 
36
0. The most important thing
 
37
   Explains why and how to subscribe to the amsn-lang forum.
 
38
 
 
39
1. For translators
 
40
   For those who want to translate aMSN for their own language, 
 
41
   or help improve/extend the existing translation. Must read.
 
42
        -- Rules that must be followed
 
43
        -- How to add a new language
 
44
 
 
45
2. For translation managers
 
46
   For those who are in charge of coordination of local or global 
 
47
   translation efforts and commiting the langfiles to the CVS server.
 
48
   If you want to start a local translation effort please read this.
 
49
 
 
50
3. For both - useful tools
 
51
   Some of the tools you *must* use before sending your files. These
 
52
   tools are included with aMSN. 
 
53
 
 
54
============
 
55
Introduction
 
56
============
 
57
 
 
58
There are many ways you can help the aMSN project. One of them is 
 
59
by translating the software to other languages. This can be easily
 
60
done. Another way is proofreading the current translations in search
 
61
of typos and errors and missing (untranslated) messages. There is
 
62
plenty of work for everyone who wants to be involved, and this seems
 
63
to be your case as you are reading this file ;-)
 
64
 
 
65
The aMSN Messenger can be translated into any language you want. 
 
66
It is easy to do so because all of the translated messages for every 
 
67
new language are stored in a special file called langfile. The name 
 
68
of each and every langfile indicates clearly the language it contains. 
 
69
The format is langXX, where XX is the two-caracter ISO code of your 
 
70
language. For instance, for the italian language, whose ISO code is IT, 
 
71
the langfile is called langit. A few examples:
 
72
 
 
73
English: langen
 
74
Spanish: langes
 
75
German: langde
 
76
French: langfr
 
77
 
 
78
The ISO codes for the english, spanish, german and french languages are, 
 
79
respectively, en, es, de and fr. Later in this document we will see how
 
80
to determine the country code for new languages. For the languages already
 
81
present in aMSN (some completely translated, some not) please refer to our 
 
82
translation effort page: 
 
83
http://amsn.sourceforge.net/modules.php?name=Translation
 
84
 
 
85
You can help us enormously by checking periodicaly the webpage above
 
86
and, if your language has any missing key (a key is one of the many 
 
87
messages shown on the various aMSN windows, menus ans dialog boxes), 
 
88
translate it and send us the file. Even if your language has zero 
 
89
missing keys, it is important to scan the file for possible errors 
 
90
or bad writting styles introduced by other translators.
 
91
 
 
92
This document (msn/lang/LANG-HOWTO) deals ONLY with the langXX files
 
93
(that is, the language files that translates aMSN's messages, menus 
 
94
and dialog boxes). Please read the present document completely, make sure 
 
95
you understand everything and ask what to do 
14
96
(at amsn-lang@lists.sourceforge.net) when in doubt.
15
97
 
 
98
There are other files that need translation and proofreading, like the
 
99
HELP, FAQ and README files. There is another document called DOCS-HOWTO,
 
100
located at msn/docs/DOCS-HOWTO. *PLEASE READ THAT DOCUMENT TOO*
 
101
 
 
102
 
 
103
Tip: this LANG-HOWTO file surely contains many errors. If you are a
 
104
native english speaker, please help us by proofreading it.
 
105
 
 
106
 
 
107
===========================
16
108
0. The most important thing
17
 
---------------------------
 
109
===========================
18
110
 
19
111
You MUST subscribe to the amsn-lang@lists.sourceforge.net mailing
20
112
list. There you can discuss various issues with the members of the
24
116
- Best translation practices;
25
117
- Issues and questions about this HOWTO;
26
118
- Coordination of local efforts;
27
 
- Stabilishment of local language translation managers.
 
119
- Stablishment of local language translation managers.
28
120
 
29
121
One important thing you MUST ask at the amsn-lang list is if there
30
122
is somebody already doing what you intend to. 
31
123
 
32
 
For instance, if you want to translate the HELP file in greek
33
 
(HELPgr) you shoud ask first. This way, if there is another person
34
 
already translating the same HELPgr you won't waste your time.
 
124
For instance, if you want to translate the langfile file into greek
 
125
(langel) you shoud ask first. This way, if there is another person
 
126
already translating the same langel you won't waste your time.
35
127
 
36
 
You can join the list by visiting this page:
 
128
You can subscribe to the list by visiting this page:
37
129
 
38
130
   http://lists.sourceforge.net/lists/listinfo/amsn-lang
39
131
 
40
 
Remember, joining or not is not a choice. You MUST joint.
41
 
 
42
 
 
 
132
Remember, joining or not is not an option. You MUST subscribe.
 
133
 
 
134
==================
43
135
1. For Translators
44
 
------------------
 
136
==================
45
137
 
46
138
When you add new keys, you should send the entire updated langXX
47
139
file to the translator managers, who can be reached at
57
149
Keys sent in the body of the email will be ignored, due to character
58
150
coding and line break issues.
59
151
 
 
152
You can help us by translating some sentences to your language,
 
153
or modifying wrongly translated sentences (proofreading).
 
154
 
60
155
RULES THAT MUST BE FOLLOWED:
61
 
1. Download the langfile you want to work on from the website or via
62
 
CVS. ( you will find the link at the translation page )
 
156
----------------------------
 
157
1. Download the latest langfile you want to work on from the website
 
158
or via CVS. You will find the link at the translation page:
 
159
http://amsn.sourceforge.net/modules.php?name=Translation
 
160
-NEVER use files from a stable AMSN package, as they are probably out
 
161
of date, and you'll find yourself translating many keys that are
 
162
already translated in the latest language file version.
 
163
When in doubt, ask! (amsn-lang@lists.sourceforge.net)
63
164
 
64
165
2. Add the missing keywords from the list at the bottom of the page
65
166
to the language file.
66
 
 
67
 
3. Translate the english explanations
68
 
 
69
 
4. Send the updated file to amsn-translations@lists.sourceforge.net
70
 
 
71
 
5. We will ONLY accept langfiles. We will NOT accept, in ANY way,
 
167
-Alternatively, you can also download "langen" file (the master file),
 
168
and use the script "missing.py" in the lang/ folder to check what are
 
169
the missing keys. When in doubt, ask! (amsn-lang@lists.sourceforge.net)
 
170
 
 
171
3. Translate the english sentences.
 
172
-BE CAREFUL with $1, $2... parameters that appear in some
 
173
sentences. You can change their position, but they must appear on
 
174
the sentence, they 'll be substituted during execution with some
 
175
values.
 
176
-Every key must be in a single line. There should be no line breaks.
 
177
The key name (first word on the line), and the translation must be
 
178
separated by a single blank. Don't use Tabs.
 
179
When in doubt, ask! (amsn-lang@lists.sourceforge.net)
 
180
 
 
181
4. Check the translated file with one of the scripts provided 
 
182
in the lang/ folder. For example:
 
183
 $ ./missing.py langXX
 
184
It will tell you if there are any errors or missing keys to translate.
 
185
You'll need the "langen" file in the same folder in order to check the
 
186
missing keys. It can be downloaded from the translations web page too.
 
187
-It's not necessary that the keys in the file are sorted, but it is
 
188
better to have them sorted, in order to find keys more easily. You can
 
189
sort them automatically using the "sortlang" script in the lang/ folder.
 
190
Please MAKE SURE there are no errors in the file before sorting, or the
 
191
file can be messed up.
 
192
When in doubt, ask! (amsn-lang@lists.sourceforge.net)
 
193
 
 
194
5. When all errors are fixed, send the updated file to
 
195
amsn-translations@lists.sourceforge.net
 
196
-We will ONLY accept langfiles. We will NOT accept, in ANY way,
72
197
individual keys received in the body of the email. You MUST send
73
198
the COMPLETE langfile (for instance, langit if you are italian)
74
199
ATTACHED to de email message. Only in special cases we will accept
75
200
diff files or incumplete translation files with a few keys.
76
 
 
77
 
6. As stated above, keys sent in the body of the email will be
 
201
-As stated above, keys sent in the body of the email will be
78
202
IGNORED and DISCARDED.
79
 
 
80
 
7. Langfiles sent to other email addresses than
 
203
-Langfiles sent to other email addresses than
81
204
amsn-translations@lists.sourceforge.net will also be IGNORED and
82
 
DISCARDED.
83
 
 
84
 
8. You can help us by translating some sentences to your language,
85
 
or modifying wrongly translated sentences (proofreading).
86
 
 
87
 
9. Be careful with $1, $2... parameters that appear in some
88
 
sentences. You can change their position, but they must appear on
89
 
the sentence, they 'll be substituted during execution with some
90
 
values.
 
205
DISCARDED. When in doubt, ask!
91
206
 
92
207
If not possible, or you're just translation a few keys, you can just
93
208
send (although it is not the ideal) a text file attached to the
103
218
text is a bad idea, as mail clients usually split long lines and
104
219
change the character encodings, which leads to mistakes.
105
220
 
106
 
Other kinds of contribution will be rejected, in order to make the
107
 
job easier to the manager. 
 
221
OTHER KINDS OF CONTRIBUTION WILL BE REJECTED, IN ORDER TO MAKE THE
 
222
JOB EASIER TO THE MANAGER.
108
223
 
109
224
I hope you understand, there's usually one person in charge of
110
 
updating the translations, and there are more than 40 languages, so
 
225
updating the translations, and there are more than 50 languages, so
111
226
there are many translations and submission. Don't make it more
112
227
difficult :)
113
228
 
 
229
When in doubt, ask! (amsn-lang@lists.sourceforge.net)
 
230
 
114
231
HOW TO ADD A NEW LANGUAGE
 
232
-------------------------
115
233
 
116
234
1. Choose a short identifier for your language (for example english
117
235
- en). It is better that you use the correct ISO code for your
123
241
instance, fr for french, pt for portuguese). If your language has
124
242
only a 3-letter code (for instance, ale for aleut, pap for
125
243
papiamento) you must use it, though. 
 
244
When in doubt, ask! (amsn-lang@lists.sourceforge.net)
126
245
 
127
246
For languages spoken on colonial lands, you shoud use the language
128
247
ISO code followed by an underline and the country ISO code in CAPS
134
253
Country ISO codes:
135
254
    http://www.bcpl.net/~jspath/isocodes.html
136
255
 
137
 
Some codes have been mistakenly taken (for example, langbr currently
138
 
refers to brazilian portuguese, but the correct code would be
 
256
Some codes have been mistakenly taken (for example, langbr once was 
 
257
taken for the brazilian portuguese, but the correct code would be
139
258
pt_BR, br alone refers to the breton language). If you find that
140
259
the ISO code for your language has been taken by mistake for
141
260
another language, scream your lungs out at the amsn-lang list and
142
261
we will fix things up ;-)
 
262
When in doubt, ask! (amsn-lang@lists.sourceforge.net)
143
263
 
144
264
2. Download the english language (langen) file from
145
265
 
146
 
    http://amsn.sourceforge.net
 
266
    http://amsn.sourceforge.net/modules.php?name=Translation
147
267
 
148
268
3. Rename the file to langXX, where XX the ISO language code you've
149
269
chosen. Remember that, for some languages, the ISO code has three
156
276
5. TEST THE FILE. Use the new file in your local aMSN before
157
277
sending. Go through every menu and every dialog box. Assure that
158
278
all messages have the proper size. If you don't know how to do it,
159
 
ask on the amsn-lang list.
 
279
ask for help on the amsn-lang list. Also use the scripts provided in 
 
280
the lang/ folder to check for errors in the translation. There is a 
 
281
description of these scripts in section 3 of this document.
 
282
When in doubt, ask! (amsn-lang@lists.sourceforge.net)
160
283
 
161
284
6. Only after testing for one or two days, send the new file to
162
285
 
165
288
Send to this email only! Submissions to other emails will be ignored
166
289
and discarded.
167
290
 
 
291
7. When in doubt, ask! (amsn-lang@lists.sourceforge.net)
 
292
 
 
293
===========================
168
294
2. For Translation Managers
169
 
----------------------------
 
295
===========================
170
296
 
171
297
When a new translation arrives to you, you should only accept it if
172
298
is a diff file or a complete langXX file. Do not accept other kinds
173
 
of submissions, 'cause our users can always send sparse translated
174
 
keys by mail, and it's a big job :)
175
 
 
176
 
Be sure of using a multilanguage editor and use de correct codepage
177
 
for each language or you can corrup them. Encodings are in langlist
178
 
file.
 
299
of submissions, 'cause our users have the sad habit of sending sparse
 
300
translated keys by mail, and it's a big job :)
 
301
 
 
302
*TEST THE FILE WITH THE missing.py SCRIPT!*
 
303
*YOU, AS A TRANSLATION MANAGER, ***MUST*** DO THIS TO ENSURE THE FILE IS OK!*
 
304
Do this before commiting the file and only commit it if it's ok!
 
305
 
 
306
If the file has any problems, the best thing to do is to return it to 
 
307
the translator and ask him to correct it. If you really need to edit a 
 
308
file (for whatever reason) be sure you use a multilanguage editor and 
 
309
also use de correct codepage for each language --- or you can corrupt it.
 
310
Encodings are in langlist file (msn/langlist). This file is XML-formatted 
 
311
so it must be easy to understand.
179
312
 
180
313
If you reject a translation by any reason, do it politely. 
181
314
Explain the reasons of why you're rejecting it and always: 
187
320
 
188
321
When you get big contributions (not just 1 or 2 keys), or when you
189
322
notice a person is very active (sending frequent translation
190
 
updates for a language), you should add him to the credits in the
191
 
README file. You should tell him about this, and ask him if he
 
323
updates for a language), you should add him to the CREDITS file. 
 
324
You should tell him/her about this, and ask him/her if he or she
192
325
wants to be removed (nobody wanted to be removed until now, but
193
326
it's polite to ask :))
194
327
 
 
328
When adding a new language, make sure to create an entry in the langlist file found in the top amsn directory. See the existing entries for the format.
 
329
 
 
330
==========================
195
331
3. For both - Useful tools
196
 
--------------------------
197
 
 
198
 
In the lang/ folder you have some useful scripts.
199
 
 
200
 
untranslated.py langXX: will list the missing keys in langXX file. That
 
332
==========================
 
333
 
 
334
In the lang/ folder you have some useful scripts. 
 
335
Remember to replace XX in langXX for the two-letter
 
336
code of your language. Example: Valenciano = langva.
 
337
 
 
338
The tools are:
 
339
 
 
340
- missing.py: will list the missing keys in the langXX file, that
201
341
is, the keys that exist in langen (the master language), but not in
202
 
langXX file. This is an updated version of the old missing.py file, 
203
 
which is still necessary for the website automation.
204
 
 
205
 
Usage in Linux:
206
 
./untranslated.py langXX
207
 
 
208
 
Usage in Windows (must have the Python interpreter installed):
209
 
python unstranslated.py langXX
210
 
 
211
 
errors.py langXX: will list the possible errors in langXX. That is,
212
 
the apparent keys that are in langXX but not in langen. This
213
 
usually happens when a key name is mistyped, or when there are
214
 
spplited lines (a translation is spplited into multiple lines
215
 
instead of being just one line), or when a key was removed from the
216
 
langen file because it's no longer used.
217
 
 
218
 
Usage in Linux:
219
 
./errors.py langXX
220
 
 
221
 
Usage in Windows (must have the Python interpreter installed):
222
 
python errors.py langXX
223
 
 
224
 
dups.sh langXX: will tell you the keys that are duplicated inside
225
 
the file.
226
 
 
227
 
Usage in Linux:
228
 
./dups.sh langXX
229
 
 
230
 
To use it in Windows you will have Cygwin installed. The syntax is
231
 
the same.
232
 
 
233
 
sortlang langXX: will sort the language file. BE CAREFUL. Don't apply
 
342
langXX. It will also warn about errors and count the number of 
 
343
untranslated keys. It's a very useful script, please use it!
 
344
 
 
345
Usage in Linux:
 
346
./missing.py langXX
 
347
 
 
348
Usage in Windows (must have the Python interpreter installed):
 
349
python missing.py langXX
 
350
 
 
351
- sortlang: will sort the language file. BE CAREFUL. Don't apply
234
352
sortlang if there are spplited translations, as sorting it will
235
353
sort these spplited lines, and it will be quite difficult to join
236
354
them again. So please fix any spplited lines before sorting.
237
355
Sorting is not mandatory, but it's recommended to sort before
238
356
commiting to the CVS.
239
357
 
240
 
convert.tcl source_file source_encoding dest_file dest_encoding:
241
 
Converts the given source, in the source encoding, to the given
242
 
destination file using the given encoding.
 
358
Usage in Linux:
 
359
./sortlang langXX
 
360
 
 
361
To use it in Windows you must have Cygwin installed.
 
362
The syntax is identical. http://www.cygwin.com
 
363
 
 
364
- convert.tcl: converts the given source, in the source encoding, 
 
365
to the given destination file using the given encoding.
 
366
 
 
367
Usage in Linux:
 
368
./convert.tcl source_file 
 
369
source_encoding dest_file dest_encoding
 
370
 
 
371
Usage in Windows:
 
372
wish convert.tcl source_file source_encoding dest_file dest_encoding
243
373
 
244
374
If you are in Linux using bash, remember that the auto completion is your friend...
 
375
 
 
376
 
 
377
=========
 
378
 CREDITS 
 
379
=========
 
380
File created by Alberto Diaz
 
381
 
 
382
Version         Created         Author                                  Obs
 
383
  1.0           06.Jan.2004     Alberto Diaz                            Initial file
 
384
  2.0           03.May.2004     Henrique Cesar Ulbrich (Hatredman)      Total rewrite
 
385
  2.1           Unknown         Alvaro Iradier                          Inclusion of new tools (section 3)
 
386
  2.2           29.Aug.2004     Henrique Cesar Ulbrich (Hatredman)      Instructions for FAQ, README and HELP files
 
387
 
 
388
Please be don't mess with the versioning system. It's quite simple to determine
 
389
what version your mods should take. If you just add a few items or correct some,
 
390
ad one to the MINOR version number (example, 1.1 to 1.2). If you totally rewrite the file (or rewrite
 
391
large portions of it) add one to the MAJOR number and make the minor zero (example: 2.6 to 3.0).
 
392
 
 
393
These credits are not a reward or reconition for you, but a way
 
394
to hunt for a guilty person if something goes wrong he he he...
 
395
We have the CVS versioning anyway.