68 lines
2.6 KiB
Plaintext
68 lines
2.6 KiB
Plaintext
|
wxWindows translator guide
|
||
|
==========================
|
||
|
|
||
|
This note is addressed to wxWindows translators.
|
||
|
|
||
|
First of all, here is what you will need:
|
||
|
|
||
|
1. GNU gettext package version 0.10.35 or later (NB: earlier versions were
|
||
|
known to have serious bugs)
|
||
|
|
||
|
a) for Unix systems you can download gettext-0.10.tar.gz from any of GNU
|
||
|
mirrors (RPMs and DEBs are also available from the usual places)
|
||
|
|
||
|
b) for Windows you can grab the precompiled binaries from www.wxwindows.org
|
||
|
|
||
|
2. A way to run a program recursively on an entire directory from the command
|
||
|
line:
|
||
|
|
||
|
a) for Unix systems, this is done in locale/Makefile using standard find
|
||
|
command and xargs which is installed on almost all modern Unices, if you
|
||
|
are unhappy enough to not have it you can use -exec option of find
|
||
|
instead.
|
||
|
|
||
|
b) for Win32 systems this is less trivial: if you have 4DOS/4NT/bash, that's
|
||
|
fine, but you'd have to use some kind of "for /s" loop with the
|
||
|
command.com/cmd.exe.
|
||
|
|
||
|
3. (at least read) access to the cvs is not necessary strictly speaking, but
|
||
|
will make the things a lot easier for you and others.
|
||
|
|
||
|
|
||
|
Now a brief overview of the process of translations (please refer to GNU
|
||
|
gettext documentation for more details). It happens in several steps:
|
||
|
|
||
|
1. the strings to translate are extracted from the C++ sources using xgettext
|
||
|
program into a wxstd.po file which is a "text message catalog"
|
||
|
|
||
|
2. this new wxtd.po file (recreated each one some new text messages are added
|
||
|
to wxWindows) is merged with existing translations in another .po file (for
|
||
|
example, de.po) and replaces this file (this is done using the program
|
||
|
msgmerge)
|
||
|
|
||
|
3. the resulting .po file must be translated
|
||
|
|
||
|
4. finally, msgformat must be run to produce a .mo file: "binary message catalog"
|
||
|
|
||
|
|
||
|
How does it happen in practice? Under Unix there is a Makefile under "locale"
|
||
|
directory which will do almost everything (except translations) for you, i.e.
|
||
|
just type "make lang.po" to create or update the message catalog for 'lang'.
|
||
|
Then edit the resulting lang.po and make sure that there are no empty or fuzzy
|
||
|
translations left (empty translations are the one with msgstr "", fuzzy
|
||
|
translations are those which have the word "fuzzy" in a comment just above
|
||
|
them). Then type "make lang.mo" which will create the binary message catalog.
|
||
|
|
||
|
Under Windows, you should execute the commands manually, please have a look at
|
||
|
Makefile to see what must be done.
|
||
|
|
||
|
=== EOF ===
|
||
|
|
||
|
Author: VZ
|
||
|
Version: $Id$
|
||
|
|
||
|
$Log$
|
||
|
Revision 1.1 2000/03/07 10:53:53 VZ
|
||
|
technote about translations added
|
||
|
|