]>
Commit | Line | Data |
---|---|---|
f077f5c3 VZ |
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 | ||
552861bf VZ |
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) | |
f077f5c3 | 13 | |
552861bf VZ |
14 | b) for Windows you can download the precompiled binaries from |
15 | www.wxwindows.org | |
f077f5c3 VZ |
16 | |
17 | 2. A way to run a program recursively on an entire directory from the command | |
18 | line: | |
19 | ||
552861bf VZ |
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 | |
f077f5c3 VZ |
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 | ||
552861bf | 39 | 2. this new wxstd.po file (recreated each time some new text messages are added |
f077f5c3 VZ |
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 | ||
552861bf | 49 | How does it happen in practice? Under Unix there is a Makefile in the "locale" |
f077f5c3 VZ |
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 | |
552861bf | 53 | translations left (empty translations are the ones with msgstr "", fuzzy |
f077f5c3 VZ |
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$ | |
552861bf VZ |
66 | Revision 1.2 2002/07/03 15:01:26 VZ |
67 | typos and other doc corrections from Olly Betts (patch 573738) | |
68 | ||
f077f5c3 VZ |
69 | Revision 1.1 2000/03/07 10:53:53 VZ |
70 | technote about translations added | |
71 |