]> git.saurik.com Git - wxWidgets.git/blob - docs/tech/tn0002.txt
- applied patch that adds more i18n support to XRC handlers
[wxWidgets.git] / docs / tech / tn0002.txt
1 wxWindows translator guide
2 ==========================
3
4 This note is addressed to wxWindows translators.
5
6 First of all, here is what you will need:
7
8 1. GNU gettext package version 0.10.35 or later (NB: earlier versions were
9 known to have serious bugs)
10
11 a) for Unix systems you can download gettext-0.10.tar.gz from any GNU
12 mirror (RPMs and DEBs are also available from the usual places)
13
14 b) for Windows you can download the precompiled binaries from
15 www.wxwindows.org
16
17 2. A way to run a program recursively on an entire directory from the command
18 line:
19
20 a) for Unix systems, this is done in locale/Makefile using the standard find
21 command and xargs which is installed on almost all modern Unices. If you
22 are unlucky enough to not have xargs, you can use the -exec option of find
23 instead.
24
25 b) for Win32 systems this is less trivial: if you have 4DOS/4NT/bash, that's
26 fine, but you'd have to use some kind of "for /s" loop with the
27 command.com/cmd.exe.
28
29 3. (at least read) access to the cvs is not necessary strictly speaking, but
30 will make the things a lot easier for you and others.
31
32
33 Now a brief overview of the process of translations (please refer to GNU
34 gettext documentation for more details). It happens in several steps:
35
36 1. the strings to translate are extracted from the C++ sources using xgettext
37 program into a wxstd.po file which is a "text message catalog"
38
39 2. this new wxstd.po file (recreated each time some new text messages are added
40 to wxWindows) is merged with existing translations in another .po file (for
41 example, de.po) and replaces this file (this is done using the program
42 msgmerge)
43
44 3. the resulting .po file must be translated
45
46 4. finally, msgformat must be run to produce a .mo file: "binary message catalog"
47
48
49 How does it happen in practice? Under Unix there is a Makefile in the "locale"
50 directory which will do almost everything (except translations) for you, i.e.
51 just type "make lang.po" to create or update the message catalog for 'lang'.
52 Then edit the resulting lang.po and make sure that there are no empty or fuzzy
53 translations left (empty translations are the ones with msgstr "", fuzzy
54 translations are those which have the word "fuzzy" in a comment just above
55 them). Then type "make lang.mo" which will create the binary message catalog.
56
57 Under Windows, you should execute the commands manually, please have a look at
58 Makefile to see what must be done.
59
60 === EOF ===
61
62 Author: VZ
63 Version: $Id$
64
65 $Log$
66 Revision 1.2 2002/07/03 15:01:26 VZ
67 typos and other doc corrections from Olly Betts (patch 573738)
68
69 Revision 1.1 2000/03/07 10:53:53 VZ
70 technote about translations added
71