Translating STK

This article will explain how to translate STK into another language.

There are two main methods :

  • the first is web-based and involves using the Launchpad web interface for translations. This is now the recommended method.
  • the second is desktop based and involves using poEdit to edit the STK .po file. This method is deprecated because after you edited the file this way you would need to send it to us and then we need to update the STK file manually (whereas it's quite automatic when using Launchpad)

Online translations on Launchpad

Log in or register

To translate STK you must go to the STK project on Launchpad : To translate STK, you must have a Launchpad account :

If you don't have a Launchpad account you can easily create one :

Then you need to join the "Launchpad Translators" group. Simply go to and click on "Join this team" on the right.

Alternatively you can also join the "STK" team at

See existing translations

After you are logging in, go back to STK's Launchpad Home

Don't forget to click on view all languages !

Starting a new translation

To start a translation for a language that currently does not exist, first visit your user's page and set your languages :


Then, when you have done this, you can go back to the main STK translation page and your language will appear in the list, ready to be clicked.


Then you can start translating SuperTuxKart by clicking on the language you want.

e.g. with the Irish language :

Once you have translated STK, scroll down and click on save and continue :


Installing poEdit

Note : you may use other tools but the procedure for them is not documented here
  • Get latest STK (to get all latest strings)

The directory where you need to go is /data/po. There you will see a file named supertuxkart.pot and a script called The .pot file contains all translatable strings of STK. The script can be run from the base directory to update the .pot file, but you generally do not need to do that since the STK developers will do it for you.

To get the latest po subdirectory from SVN without checking out the whole SVN version, use:

svn co stk_po

Configuring poEdit

  • Make sure poEdit is configured to compile .mo files on saving (check in preferences)

File:Poedit prefs.png

  • from the View memu, check Show automatic comments window. This will make a new area appear : this area will sometimes contain tips that the devs left to help you translate a string, for instance if its meaning is ambiguous.

File:Poedit comments.png

Creating a new translation

  • Open poEdit and use menu File > New catalog from POT file.


  • Select supertuxkart.pot.


  • Enter the appropriate information in the dialog that pops-up (ignore fields you do not understand or that do not make sense for this project. Only the first tab needs to be completed)


  • Then simply select the strings in the list and enter a translation.
  • When you're done, save the file as [language code].po. Along it, a .mo file will be generated. Move the .mo file to /data/po/[language_code]/LC_MESSAGES/

Testing your translation

your translation should be automatically picked if your system is set to the language you made the translation for. If your system is in english or another language, you can force a language from terminal

  • On UNIX (Linux, Mac) : export LANG=[keycode] && export LC_MESSAGES=[keycode] then ./src/supertuxkart or so. Make sure that LC_ALL is not set( or with the correct value ), since it overrides the other variables.
  • In a Windows command interpreter: set LANGUAGE=de_DE followed by .\supertuxkart.exe (that's for german, replace "de_DE" with the code if the langauge you want to test)
  • In a Cygwin shell: $ env LANG=de_DE ./supertuxkart.exe

Updating an existing translation

  • Open the language code.po file in poEdit.
  • Choose Catalog > update from POT file

File:Poedit update.png

  • Select supertuxkart.pot.


  • You will then get a summary of changes (new and/or obsolete strings) if any.
  • Then simply select the strings in the list and enter a translation.
  • When you're done, save the file. Along it, a .mo file will be generated. Move the .mo file to /data/po/[language_code]/LC_MESSAGES/