The first step in internationalization ("i18n" for short) is to translate the text in the GUI of each application. This is the text that appears in the Menus and Dialogs.
We are using the GNU gettext approach for translations. This is the normal way to do i18n with wxWidgets applications. A nice free GUI tool for working with gettext files is poEdit; there are many others.
A brief description of the process:
- The programmer outputs a .pot file, which is a simple text file, then makes a copy to a .po file.
- The translator fills in the .po file with translated text, and returns it to the programmer.
- The programmer turns the .po file into a .mo file.
- The user (or the installer) puts the .mo file in a folder under their application.
- When the application launches, it finds the .mo file and the GUI is displayed in the desired language.
Bilingual translators are needed only for step 2.
Language POX Translators MO last
Put in a
Afrikaans Enviro.po Riaan van den Dool Enviro.mo 2004.03.26 af Arabic Enviro.po Alaa Ahmed Masoud Enviro.mo 2006.11.10 ar Chinese Enviro.po Juan Hu, Jangeofan,
Enviro.mo 2007.09.16 zh English (UK) Enviro.po Roger James Enviro.mo 2004.03.22 en_GB French Enviro.po Peraud Joseph,
Enviro.mo 2009.04.25 fr German Enviro.po Thomas Schubert,
Enviro.mo 2007.09.02 de Hungarian Enviro.po Andras Sarkozy Enviro.mo 2004.03.25 hu Italian Enviro.po Federico Rottura,
Enviro.mo 2008.12.03 it Portuguese Enviro.po Rodrigo Pellizzari Enviro.mo 2004.03.22 pt Romanian Enviro.po Vasile Craciunescu,
Enviro.mo 2007.01.8 ro Spanish Enviro.po José-Luis Díez Enviro.mo 2004.11.29 es Swedish Enviro.po Fredrik Ahl Enviro.mo 2006.10.18 sv Turkish Enviro.po Metin Inanc Enviro.mo 2005.08.15 tr
Note: by default, Enviro will attempt to use the default locale of your computer. If you want to force it to use a difference locale you can use Enviro's command-line argument
-locale. For example, to use Romanian, use
There are fewer translations for VTBuilder, so far. To begin a new language, please start translating with the VTBuilder.pot file above. Much of the text is the same as Enviro, especially toward the bottom of the file, so this might make it easier.
Language POX Translators MO MO
Put in a
Arabic VTBuilder.po Alaa Ahmed Masoud VTBuilder.mo 2006.11.10 ar Chinese VTBuilder.po Juan Hu, Jangeofan,
VTBuilder.mo 2007.09.08 zh French VTBuilder.po Peraud Joseph,
Philippe de Franclieu
VTBuilder.mo 2005.12.20 fr German VTBuilder.po Gerrit Wessendorf,
VTBuilder.mo 2007.09.02 de Italian VTBuilder.po Roberto Angeletti VTBuilder.mo 2008.09.08 it Romanian VTBuilder.po Vasile Craciunescu,
VTBuilder.mo 2007.01.8 ro
Like Enviro, VTBuilder will attempt to use the default locale of your computer, but you can tell it to use a difference locale with a command-line argument, e.g.
If you are running on a WinXP computer whose default language is not Chinese, you must have support enabled. Look under Settings: Control Panel: Regional and Language Options. The checkbox with "Install files for East Asian Languages" must be checked.
There are scripts in the VTP source tree (vtp/Scripts) which help automate the gettext process. These should run from the VTP folder, and they should work on either Linux or Windows/Cygwin.
update-pot-enviro.sh - Run this any time
the Enviro source has changed its user-facing messages. It will scan the
source and update the universal
update-pot-vtbuilder.sh - Run this any
time the VTBuilder source has changed its user-facing messages. It will scan
the source and update the universal
update-po.sh <app> <language> - Run this
to merge the current .pot file into the existing .po file. This should
happen when the .pot file is updated. Example:
publish-po.sh - <app> <language> -
Run this to convert the .po file to a .mo for use. Example:
publish-po.sh VTBuilder it