This wiki has been moved to into the mediawiki branch.


From SuperTux
Revision as of 15:54, 20 October 2006 by Sommer (Talk | contribs)

Jump to: navigation, search

How to Translate

  1. Check at the end of this site if someone else is already working on the translation for your language. If there is someone contact him/her!
  2. If you already have messages.pot files you can skip this step. If you don't already have messages.pot files (the files that contain all the text that can be translated) you can have them created for you by following these instructions:
    • Install gettext
    • Get an SVN snapshot of SuperTux and do the usual, configure. Make sure configure can find the xgettext application. (i.e. "checking for xgettext... xgettext" and "checking if xgettext supports Lisp... yes")
    • Run jam, let it compile SuperTux and create all the messages.pot files
  3. Create or update the .po files for your language. Many GUI tools (see below) will help you with this, so if you indend to use one you can skip this step. Here's how to do things yourself:
    • Go into data/locale and data/levels/*/ and in each of those directories:
      • In case you want to create a new translation, run msginit -i messages.pot -o $LANG.po (where $LANG is the two-character handle of your language)
      • In case you want to update an existing translation, issue the following command: msgmerge -U $LANG.po messages.pot
  4. Edit the .po files with your favourite editor or with one of the GUI tools below.
  5. You should also edit the supertux.desktop file and add a comment entry for your language.
  6. Send the translated .po files to the supertux-devel mailing list.

Notes for Translators

  • If there isn't a good translation for some term (i.e. fullscreen), you might consider to simply keep it in English. It's better than confusing the user.
  • In English, there is only one singular second person form (you). If your language has more than one - a personal and impersonal - remember that this is a game, so you should use the personal one. Note that if it can be omitted your language, you should probably do so.
  • Names like SuperTux, Tux, Penny or Nolok should not be translated. If you really think one of these is too strange for your language, first inform us on our mailing list. Names of minor characters like Mr. Ice Block can (and should) be translated.
  • If somewhere in the game, after translating a string, it doesn't look well (bad aligment, overlaps other text...), let us know and we will fix it.
  • Do not stick to the original text too much, just try to capture the meaning of a phrase.
  • Have a friend play the game using your translation. If any phrase needs additional explanation, consider changing it.


There's a number of tools you can use to edit the .po files:

  • KBabel - matured KDE translation program
  • poEdit - multi-platform po editor (runs on Windows and Unix/Linux)
  • QTranslator - comes with Qt, also multi-platform
  • (X)Emacs - commonly used for translation with the respective plugin
  • Any text editor - of course you can also simply use a text editor. Just make sure the file encoding really matches the stuff stated in the .po header.


SuperTux Milestone 2 supports localization. This means you can play SuperTux in any of the languages supplied with the game, as well as make your own translation.

SuperTux will try to auto-detect what language to display text in. If auto-detection fails or if you want to play in a certain language, you can force SuperTux to use a specific locale by setting the LANG environment variable to the handle of your language (e.g. "en"; see the following sections for all available languages).

Setting an environment variable can be done in a number of ways, depending on your operating system.

Linux users might run

LANG="en" ./supertux

Windows users might run

set LANG=en

Please add yourself to this list if you are working on a new translation, so that others can contact you.

Catalan (ca)

  • Translated by Antoni Villalonga <>
  • Status: ? included in svn

Czech (cs)

  • Translated by Ondra Hosek <>
  • Status: complete, included in svn

Danish (da)

  • Translated by Anders <anders §>
  • Status: 100% (except of test.po, but it's so strange anyway), included in svn

German (de)

  • Translated by Matthias Braun <>
  • Additional translation by Marek Möckel
  • Status: 99% complete, included in svn

French (fr)

  • Translated by Frederic Rodrigo <>
  • Status: ? included in svn

Italian (it)

  • Translated by Iknos <>
  • Status: ? included in svn

Dutch (nl)

  • Translated by Frank van der Loo <>
  • Status: ? included in svn

Norwegian Nynorsk (nn)

  • Translated by Karl Ove Hufthammer <>
  • Status: ? included in svn

(European) Portuguese (pt)

  • Translated by Ricardo Cruz <>
  • Status: ? included in svn

(Brazilian) Portuguese (pt_BR)

  • Translated by Herval Ribeiro <>
  • Status: Complete, in SVN(branch 0_3_x). Sugestões são bem vindas. ;).

Polish (pl)

  • Translated by Tomasz Boczkowski <>
  • Status: work in progress

Slovenian (sl)

  • Translated by Marko Burjek <email4marko AT gmail DOT com>
  • Status: 90,7% done without fuzzy strings and 98,14% with fuzzy strings included

(European) Spanish (es)

  • Translated by Fernando Carmona <ferkiwi § gmail .com>
  • Status: work in progress

Swedish (sv)

  • Translated by Arvid Norlander <anmaster (AT) berlios DOT de>
  • Status: not 100% complete, included in svn