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.
- Enviro.pot, UTF-8, last updated 2012.12.31
- VTBuilder.pot, UTF-8, last updated 2012.12.31
Language POX Translators MO last
updatedPut 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'inEnviro.mo 2007.09.16 zh English (UK) Enviro.po Roger James Enviro.mo 2004.03.22 en_GB French Enviro.po Peraud Joseph,
Florence JacquinodEnviro.mo 2009.04.25 fr German Enviro.po Thomas Schubert,
Gerrit Wessendorf,
Lars FrickeEnviro.mo 2007.09.02 de Hungarian Enviro.po Andras Sarkozy Enviro.mo 2004.03.25 hu Italian Enviro.po Federico Rottura,
Marco Gualdrini,
Roberto AngelettiEnviro.mo 2008.12.03 it Portuguese Enviro.po Rodrigo Pellizzari Enviro.mo 2004.03.22 pt Romanian Enviro.po Vasile Craciunescu,
Stefan ConstantinescuEnviro.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
updatedPut in a
folder named...Arabic VTBuilder.po Alaa Ahmed Masoud VTBuilder.mo 2006.11.10 ar Chinese VTBuilder.po Juan Hu, Jangeofan,
Jam Ch'inVTBuilder.mo 2007.09.08 zh French VTBuilder.po Peraud Joseph,
Philippe de FranclieuVTBuilder.mo 2005.12.20 fr German VTBuilder.po Gerrit Wessendorf,
Lars FrickeVTBuilder.mo 2007.09.02 de Italian VTBuilder.po Roberto Angeletti VTBuilder.mo 2008.09.08 it Romanian VTBuilder.po Vasile Craciunescu,
Stefan ConstantinescuVTBuilder.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
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 i18n/Enviro.pot
file.
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 i18n/VTBuilder.pot
file.
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: update-po.sh
VTBuilder it
publish-po.sh - <app> <language>
-
Run this to convert the .po file to a .mo for use. Example:
publish-po.sh VTBuilder it