| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- wxWidgets translator guide
- ==========================
- This note is addressed to wxWidgets 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 GNU
- mirror (RPMs and DEBs are also available from the usual places)
- b) for Windows you can download the precompiled binaries from
- www.wxwidgets.org or install PoEdit (poedit.sourceforge.net) and
- add <installdir>/poEdit/bin to your path (so it can find xgettext).
- 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 the standard find
- command and xargs which is installed on almost all modern Unices. If you
- are unlucky enough to not have xargs, you can use the -exec option of find
- instead.
- b) for Win32 systems you can use either Cygwin or MinGW. If you don't have
- those it 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 subversion is not necessary strictly speaking, but
- will make 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.pot file which is a "text message catalog"
- 2. this new wxstd.pot file (recreated each time some new text messages are added
- to wxWidgets) 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? There is a Makefile in the "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 ones 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 (If you don't have Cygwin or MinGW), you should execute the
- commands manually, please have a look at Makefile to see what must be done.
- For platform specific translations, .po files such as 'locale/msw/it.po' can be
- used to provide translations that override the usual ones in 'locale/it.po'.
- The generated .mo files are then installed under the names such as 'wxmsw.mo'
- alongside the generic 'wxstd.mo'.
- A new platform specific translation should be added to a section such as this
- in wx.bkl:
- <gettext-catalogs id="locale_msw">
- <srcdir>$(SRCDIR)/locale/msw</srcdir>
- <catalog-name>wxmsw</catalog-name>
- <linguas>it</linguas>
- <install-to>$(LOCALEDIR)</install-to>
- </gettext-catalogs>
- === EOF ===
- Author: VZ
- $Log$
- Revision 1.7 2005/08/12 15:34:01 MW
- Typo
- Revision 1.6 2005/08/12 15:29:47 MW
- Translate '&Help' to '&' for italian Windows only
- Revision 1.5 2004/10/22 19:12:59 KH
- *** empty log message ***
- Revision 1.4 2004/05/04 08:26:58 JS
- Name change replacements
- Revision 1.3 2003/11/18 16:37:11 DS
- Updated translation technote to mention Makefile usage under Windows.
- Revision 1.2 2002/07/03 15:01:26 VZ
- typos and other doc corrections from Olly Betts (patch 573738)
- Revision 1.1 2000/03/07 10:53:53 VZ
- technote about translations added
|