                          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: tn0002.txt,v 1.1 2000/03/07 10:53:53 VZ Exp $

$Log: tn0002.txt,v $
Revision 1.1  2000/03/07 10:53:53  VZ
technote about translations added

