Mercurial > pyntnclick
comparison README-i18n.txt @ 478:a9925aaf5f61 1.0.1
i18n and Russian translation
author | Stefano Rivera <stefano@rivera.za.net> |
---|---|
date | Tue, 08 Mar 2011 12:29:14 +0200 |
parents | |
children | 4ea237bbcef8 |
comparison
equal
deleted
inserted
replaced
477:51055400a9a8 | 478:a9925aaf5f61 |
---|---|
1 These are notes on internationalization and translation. They are | |
2 suitable for Unix like systems. As prerequisites you need `gettext' | |
3 being installed and (if you want to translate) some editor for | |
4 gettext catalogs like `poedit' or `virtaal'. In case you are familiar | |
5 with gettext ".po" format any text editor will do. | |
6 | |
7 | |
8 == How do I translate suspended-sentence into my language? == | |
9 | |
10 First of all look if there is already translation catalog for | |
11 your locale in `po/' subdirectory. The file should be named like | |
12 `<locale>.po' where <locale> is the language code for your locale. | |
13 For example, catalog for German is called `de.po'. If it is there | |
14 you can start translating. | |
15 | |
16 If there is no file for your locale you need to generate it. To do | |
17 this navigate to the `po/' directory in terminal and type command | |
18 | |
19 msginit -l <locale> | |
20 | |
21 where <locale> is two-letters-language-code you need. Then translate | |
22 generated file using your preferred editor. | |
23 | |
24 To get new translation worked you need to compile and install it by | |
25 executing `install-po.sh' script. | |
26 | |
27 | |
28 == How can I mark the string in code as translatable? == | |
29 | |
30 Just surround it with _( and ) like | |
31 "Hello, world" -> _("Hello, world!") | |
32 | |
33 _() is a function that I placed in `gamelib/i18n.py' file, so you | |
34 might want to import it first. | |
35 | |
36 from gamelib.i18n import _ | |
37 | |
38 And don't forget to update message catalogs with new strings. To do | |
39 that just execute `update-po.sh' script. It collects all translatable | |
40 strings from files that are specified in `po/POTFILES'. Make sure file | |
41 you worked on is in there. | |
42 |