This page contains documentation to help you localize (translate) the game.
We are currently using Transifex to translate the game texts. To start translating the game, create an account in Transifex and ask to join a translation team (or create a new one) at https://www.transifex.com/projects/p/0ad/
Teams are usually open, except on critical moments, like right before a release. So it should be pretty easy to join a team.
New language requests have to be approved by the WFG team. As we prefer to avoid duplicate work, new languages are only accepted when they differ from existing languages. F.e. standard Polish is assumed to come from Poland, so we don't accept the language "pl_PL" to be added, as it would just be a duplicate of "pl". On the other hand, there are big differences between the Portuguese in Brazil vs Portugal, so we allow the "pt_BR" language. If we denied your language, and you believe it's different from the non nation-specific language, please contact us with some proof your language is different.
It's important to test translations in game, as it might reveal some wrong translations. Note that right-to-left scripts aren't supported yet, and some languages might need additional fonts.
Translations are pulled regularly from Transifex, you can check rather recent translation work when you use the development version of the game. See BuildInstructions for more info.
To test even more recent translations under the development version, you must place your PO files in the right
l10n folders, such as
binaries/data/l10n/ for the engine PO file and
binaries/data/mods/public/l10n/ for the PO file of the main mod. Your PO files should follow the naming convention ‘<locale code>.<mod name>.po’ (‘engine’ being the mod name for the engine), but as long as the prefix is ‘<locale code>.’ (e.g. ‘de.’ or ‘en_GB.’), it should work.
Tinygettext, the library responsible for loading translation files and providing the translation for any given English string, has a feature that shows a warning in the standard error output about English strings for which no translation was found. These warning are disabled by default. If you want to enable these messages, edit your
user.cfg file and change the
tinygettext.debug settings to
If you want to replace a certain game image from the GUI with a different image for your locale:
- Locate the image in the sources. Lets say that the image is at
- Create the image that you want to load instead.
- Ask that your localized image be put in
At run time, when the game is using the locale with the locale code specified in the path (such as ‘de’ for German), your image will be loaded instead.