VTP Software: Internationalization

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:

  1. The programmer outputs a .pot file, which is a simple text file, then makes a copy to a .po file.
  2. The translator fills in the .po file with translated text, and returns it to the programmer.
  3. The programmer turns the .po file into a .mo file.
  4. The user (or the installer) puts the .mo file in a folder under their application.
  5. 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.

Current template files:


Language POX Translators MO last
Put in a
folder named...
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,
Jam Ch'in
Enviro.mo 2007.09.16 zh
English (UK) Enviro.po Roger James Enviro.mo 2004.03.22 en_GB
French Enviro.po Peraud Joseph,
Florence Jacquinod
Enviro.mo 2009.04.25 fr
German Enviro.po Thomas Schubert,
Gerrit Wessendorf,
Lars Fricke
Enviro.mo 2007.09.02 de
Hungarian Enviro.po Andras Sarkozy Enviro.mo 2004.03.25 hu
Italian Enviro.po Federico Rottura,
Marco Gualdrini,
Roberto Angeletti
Enviro.mo 2008.12.03 it
Portuguese Enviro.po Rodrigo Pellizzari Enviro.mo 2004.03.22 pt
Romanian Enviro.po Vasile Craciunescu,
Stefan Constantinescu
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 -locale=ro.


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
folder named...
Arabic VTBuilder.po Alaa Ahmed Masoud VTBuilder.mo 2006.11.10 ar
Chinese VTBuilder.po Juan Hu, Jangeofan,
Jam Ch'in
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,
Lars Fricke
VTBuilder.mo 2007.09.02 de
Italian VTBuilder.po Roberto Angeletti VTBuilder.mo 2008.09.08 it
Romanian VTBuilder.po Vasile Craciunescu,
Stefan Constantinescu
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. -locale=zh

About Chinese support:

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.

Developer Notes

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.