]>
Commit | Line | Data |
---|---|---|
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 |