]> git.saurik.com Git - wxWidgets.git/blame - docs/tech/tn0002.txt
fixed to translatable strings output
[wxWidgets.git] / docs / tech / tn0002.txt
CommitLineData
f077f5c3
VZ
1 wxWindows translator guide
2 ==========================
3
4This note is addressed to wxWindows translators.
5
6First of all, here is what you will need:
7
81. 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 of GNU
12 mirrors (RPMs and DEBs are also available from the usual places)
13
14 b) for Windows you can grab the precompiled binaries from www.wxwindows.org
15
162. A way to run a program recursively on an entire directory from the command
17 line:
18
19 a) for Unix systems, this is done in locale/Makefile using standard find
20 command and xargs which is installed on almost all modern Unices, if you
21 are unhappy enough to not have it you can use -exec option of find
22 instead.
23
24 b) for Win32 systems this is less trivial: if you have 4DOS/4NT/bash, that's
25 fine, but you'd have to use some kind of "for /s" loop with the
26 command.com/cmd.exe.
27
283. (at least read) access to the cvs is not necessary strictly speaking, but
29 will make the things a lot easier for you and others.
30
31
32Now a brief overview of the process of translations (please refer to GNU
33gettext documentation for more details). It happens in several steps:
34
351. the strings to translate are extracted from the C++ sources using xgettext
36 program into a wxstd.po file which is a "text message catalog"
37
382. this new wxtd.po file (recreated each one some new text messages are added
39 to wxWindows) is merged with existing translations in another .po file (for
40 example, de.po) and replaces this file (this is done using the program
41 msgmerge)
42
433. the resulting .po file must be translated
44
454. finally, msgformat must be run to produce a .mo file: "binary message catalog"
46
47
48How does it happen in practice? Under Unix there is a Makefile under "locale"
49directory which will do almost everything (except translations) for you, i.e.
50just type "make lang.po" to create or update the message catalog for 'lang'.
51Then edit the resulting lang.po and make sure that there are no empty or fuzzy
52translations left (empty translations are the one with msgstr "", fuzzy
53translations are those which have the word "fuzzy" in a comment just above
54them). Then type "make lang.mo" which will create the binary message catalog.
55
56Under Windows, you should execute the commands manually, please have a look at
57Makefile to see what must be done.
58
59=== EOF ===
60
61Author: VZ
62Version: $Id$
63
64$Log$
65Revision 1.1 2000/03/07 10:53:53 VZ
66technote about translations added
67