From VsWiki
Jump to: navigation, search

View this site in other languages:   DeutschEnglishFrançaisEspañolPolskiItalianoNederlandsРуccкий简体中文


A new repository has been created on github It holds in the sourceforge's trunk's data folder dated 13/04/2014 (r13675).

I had to delete following files in order to not exceed my quota.

  • *.bmp
  • *.psd
  • *.jpg
  • *.png
  • *.ogg
  • *.texture
  • *.image
  • *.bfxm
  • /textures

I've created a new folder i18n/LC_MESSAGES, which will contain files to traduce
Some indications for the Github repository use are proposed here: Github


Please read carefully the doc about how to work with github and comments on what must be translated in the source code.

Add gettext tags in the source code

Adding internationalization in python or c++ code is fairly simple. You have to scan the source code, and spot the hardcoded english text. Then, for each text, you have to coat it in a gettext tag _(...) like this :

 Base.Message("No? Come back to me again if you change your mind.")
 becomes :
 Base.Message(_("No? Come back to me again if you change your mind."))

Some exemples are already on the repository

Notes on translatable texts in diffrent files formats

Import gettext module

Presuming all gettext files are available in the Vega Strike package, a line must be added at the beginning of each module containing translatable text, to import the gettext module.
Python : import gettext
C++ : #include <libintl.h>

Generate the .po file from the source code, with PoEdit

When all the source code will have been scanned, we'll use this software PoEdit, to scan the source code and locate all added tags : _(...). The software will create the vegastrike-fr_FR.po file, which will contain all translatable texts... magic :)

Translate the .po with PoEdit

Translators will use the same software to open the /data/i18n/LC_MESSAGES/vegastrike-fr_FR.po file, and will have to translate each line... This is less magic ;-)


Please add here the tree which has been processed. If an entire folder is processed, please don't show all files list, a (*) near the folder name will be enough ;-)

 |---bases (*) (green) .py
 |   |---fixers (*) (Obu) .py
 |---communications (canceled) (Obu) .xml gettext works with c++ and python files. We'll make it work with these formats, then try with XML.
 |---mission (*) I had to re-factor all the .mission for poedit to detect translatable text (costalfy) .mission
                     ex : <var name="mission_name" value="Bounty Mission" />   =>   Bounty Mission
 |---modules (*) (green) .py
 |   |-------- ai (green) no texts
 |   |-------- missions (green) .py
 |   |-------- quests (*) ( ezee ) .py

Nota : for all these directories (except "communications"), "import gettext" and "_()" tags were added in files in need.