source: tags/1.5/README_TRANSLATORS.TXT

Last change on this file was 1402, checked in by gogo, 10 months ago

Rebuild the translation system and language files.

Includes a few kludges to help lc_parse_strings.php detect translation strings.

See README_TRANSLATORS.TXT for description of the translation system.

File size: 7.1 KB
Line 
1Translating Xinha
2################################################################################
3
4Hello you multi-lingual person you, so you would like to help translate Xinha
5or create your own special translation to use?
6
7It's really easy!
8
9In the Xinha distribution you will find some files under the following directory
10
11   /lang/merged/*.js
12
13you can see that there is a file for every currently existing translation there
14and also one called "__new__.js".  You will also see there are other lang files
15around the place, they are used only when not using a merged file, you don't need
16to touch them, just work on /lang/merged/*.js !
17
18If your language is there already, simply open that .js file in your favourite
19UTF-8 compliant text editor.
20
21If your language is not there, copy the __new__.js file and create a new one called
22[yourlanguagecode].js, for example if you are translating into Klingon, perhaps
23"kl.js" and then open it in your favourite UTF-8 compliant text editor.
24
25Please note that all translation is in UTF-8 Encoding, do not try to use other
26character encodings (character sets), it's not going to end well.
27
28To actually test or use your translation, in your code right before you load
29Xinha specify the language and file like this...
30
31    <!-- Set Language To Klingon -->
32    <script type="text/javascript>
33      _editor_lang              = 'kl';
34      _editor_lang_merged_file  = '/xinha/lang/merged/kl.js';
35    </script>
36   
37    <!-- And Load Xinha As Usual -->
38    <script type="text/javascript" src="../XinhaCore.js"></script>
39
40that's it, try out Xinha and your language file should provide the translations.
41
42When you have made your translation file and would like to submit it
43to Xinha for inclusion in a future distibution of Xinha, please just open a
44ticket at http://trac.xinha.org/ and attach your new or improved language file,
45be sure to let us know your details to add the the contributors list below!
46
47Tools
48################################################################################
49
50In the contrib directory there are a few scripts written in PHP to handle the
51translation setup tasks.
52
53lc_parse_strings.php
54--------------------------------------------------------------------------------
55
56This script goes through all the Xinha files, javascript, php, html, and pulls
57out the strings which should get translated.  These are written into lc_base.js
58translation files spread through the system, eg /lang/lc_base.js,
59/modules/.../lang/lc_base.js, /plugins/.../lang/lc_base.js and so forth.
60
61lc_base.js files do not get committed to the Subversion repository they are
62just temporary working files.
63
64lc_create_merged_file.php
65--------------------------------------------------------------------------------
66
67This script takes all the lc_base.js files and the existing lang files for a given
68language and creates a merged language file, for example
69
70    php contrib/lc_create_merged_file.php fr /tmp/fr.js
71
72creates the French translation merged file /tmp/fr.js
73
74Note that existing merged files are not consulted during this process.
75
76Translators can then work on the merged file to do their translation work.
77
78To make things easy the `lang/merged/` directory contains pre-generated merged
79language files of each language of the release, again these are not committed
80to the subversion repository.
81
82If you run this script without arguments it will give you some help showing how
83you can generate all the merged language files at once, this is done as part of
84the release process.
85
86lc_split_merged_file.php
87--------------------------------------------------------------------------------
88
89This script takes a merged file and splits it into the constituent lang files
90these files are written into a temporary directory structure so that you can
91use a diff/merge tool if you wish to compare them rather than actually copying
92them into place.  For example,
93
94  php contrib/lc_split_merged_file.php /tmp/fr.js fr
95
96will create a directory structure (it will be printed at completion) in /tmp,
97
98  /tmp/something-unique-here/lang/fr.js
99  /tmp/something-unique-here/modules/.../lang/fr.js
100  /tmp/something-unique-here/plugins/.../lang/fr.js
101  /tmp/something-unique-here/unsupported_plugins/.../lang/fr.js
102
103the directory and some instructions for easily "installing" the generated files
104is printed.
105
106Contributors
107################################################################################
108
109The following people are thanked for providing and updating translations!
110
111ch: Samuel Stone, http://stonemicro.com/
112cz: Jiri Löw, <jirilow@jirilow.com>
113da: Bjarke M. Lauridsen, http://www.detailx.dk, detailx@gmail.com
114da: rene, <rene@laerke.net>
115da: Steen SÞnderup, <steen@soenderup.com>
116de: Broxx, <broxx@broxx.com>
117de: Holger Hees, <hhees@systemconcept.de>, http://www.systemconcept.de
118de: Mihai Bazon, http://dynarch.com/mishoo
119de: Raimund Meyer xinha@ray-of-light.org
120de: sven schomacker, http://www.hilope.de, mail@hilope.de
121de: Udo Schmal (gocher), http://www.schaffrath-neuemedien.de/, udo.schmal@t-online.de
122ee: Martin Raie, <albertvill@hot.ee>
123el: Dimitris Glezos, dimitris@glezos.com
124es: Derick Leony <dleony@gmail.com>
125es: michael Hauptmnn (mhauptma73) , http://www.azahost.com/, miguel@azalorea.com
126eu: Unkown
127fa: Unknown
128fi: Unknown
129fr: Kevin Huppert - Créabilis, http://www.creabilis.com, kevin.huppert@worldonline.fr
130he: Liron Newman, http://www.eesh.net, <plastish at ultinet dot org>
131he: Mihai Bazon, http://dynarch.com/mishoo
132hu: Miklós Somogyi, <somogyine@vnet.hu>
133it: Fabio Rotondo <fabio@rotondo.it>
134it: Mattia Landoni, http://www.webpresident.org/
135it: Udo Schmal (gocher), http://www.schaffrath-neuemedien.de/, udo.schmal@t-online.de
136ja: Unknown
137lt: Jaroslav Šatkevič, <jaro@akl.lt>
138lv: Mihai Bazon, http://dynarch.com/mishoo
139nb: Kim Steinhaug,  http://www.steinhaug.com/, http://www.easycms.no/, kim@easycms.no
140nb: Mihai Bazon, <mihai_bazon@yahoo.com>
141nb: HÃ¥vard Wigtil <havardw@extend.no>
142nb: ses<ses@online.no>
143nl: A.H van den Broek  http://www.kontaktfm.nl, tonbroek@kontaktfm.nl
144nl: Arthur Bogaart a.bogaart@onehippo.org
145nl: Holger Hees, <hhees@systemconcept.de>
146nl: Maarten Molenschot, maarten@nrgmm.nl
147nl: Michel Weegeerink (info@mmc-shop.nl), http://mmc-shop.nl
148nl: Mihai Bazon, http://dynarch.com/mishoo
149nl: Raimund Meyer xinha@ray-of-light.org
150nl: Udo Schmal (gocher), http://www.schaffrath-neuemedien.de/, udo.schmal@t-online.de
151pl: Krzysztof Kotowicz, http://www.web.eskot.pl, http://www.eskot.krakow.pl/portfolio/, koto@webworkers.pl, koto1sa@o2.pl
152pt_br: Cau guanabara (independent developer), caugb@ibest.com.br
153pt_br: Marcio Barbosa, <marcio@mpg.com.br>, http://www.mpg.com.br/
154ro: Mihai Bazon, http://dynarch.com/mishoo
155ru: Andrei Blagorazumov, a@fnr.ru
156ru: Helen Mitkina (zerok) <e.mitkina at gmail>
157ru: Yulya Shtyryakova, <yulya@vdcom.ru>
158sh: Ljuba Ranković, http://www.rankovic.net/ljubar
159si: Tomaz Kregar, x_tomo_x@email.si
160sr: Ljuba Ranković, http://www.rankovic.net/ljubar
161sv: Erik Dalén, <dalen@jpl.se>
162th: Suchin Prasongbundit, <suchin@joolsoft.com>
163tr: Serdar Domurcuk, <serdar.domurcuk@km.co.at>, http://www.km.co.at/
164vn: Nguyễn Đình Nam, <hncryptologist@yahoo.com>
165zh_cn: Dave Lo, dlo@interactivetools.com
166b5: Dave Lo, dlo@interactivetools.com
Note: See TracBrowser for help on using the repository browser.