Translating STK

Link : SuperTuxKart home at launchpad.

SuperTuxKart translation is web-based and involves using the SuperTuxKart Launchpad web interface for translations. Therefore you need a launchpad account If you want to help translating.

Join the translation group

Important! Until you join a translation group you will only be able to make suggestions, not actually translate.

Join the "STK" team at (unfortunately, joining is not instantaneous, you will need to wait for us to approve your join request. We usually approve within 24 hours but sometimes we need some more time).

Join the STK Translators Email List

We have a separate email list SuperTuxKart-Translations, on which we post announcements important for translators. The list is extremely low traffic (2 mails in 2013). If you subscribe to this list you will be informed when we declare a string freeze in preparation for an upcoming release.

See existing translations

After you have logged 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:

Format Strings

From time to time, you will meet some format strings :

  • %s, %i, %d: something will be inserted instead of the %x, simply add the same format strings in the translation. Note that these format strings do not specify order, so they need to appear in your translation in the same order as in the original string
  • %0, %1, etc.: Those are like the above ones, but are ordered (%0 is the first inserted value, %1 is the second inserted value, etc.). The advantage of those is that the translation does not need to insert the values in the same order as the original string. Note that you can use these format strings in your translation even if the original string uses the first (unordered) format string.
  • %1$s, %2$s, etc.: Those are like the above ones, but are ordered (%1$s is the first inserted value, %2$s is the second inserted value, etc.). %1$s is equivalent to %0, %2$s is equivalent to %1, etc. The reason this syntax is supported is simply because it's more standard than the %0 syntax described above.

Special plural forms

Some languages, such as Gaelic or Russian, require plural forms different from the English pattern. We use ngettext to handle these. You can find the definition for your language's plural forms in the Localization Guide or in the Common Locale Data Repository.

Launchpad for Admins

If an updated supertuxkart.pot file is committed, launchpad will pick up this file within a few hours. In order to speed up this process, go to (or from the launchpad main page at select 'lp:stk') and look at the 'Import details' section. It will tell you when the last import happened, and when the next one is scheduled. Click on 'Import Now' to trigger an immediate import. This will cause launchpad to update its own copy of the STK sources from our repository, which will take several minutes (refreshing the page shows the steps currently happening).

After that updating the source files, launchpad will import the .pot file: go to to see what is happening (it will take a few minutes after updating the sources before anything can be seen here). Again it will take several minutes before the import is finished and approved. After that, the new translations will be visible for translators.