This page show a previous version of the article

Interface Translation

I will explain below all the steps we’re going through to provide Tatoeba in several languages. If you want to help us translate the interface, steps 3 to 5 contain the main information. However, it’s good to know about what happens before and after.

  1. Extracting strings from code source. We extract from the code source the strings that need to be translated. These strings are saved into a POT file. It’s just a text file, with some special format (you can open it with a text editor like Notepad). The concept is that the POT file is the template. From this template will be created several PO files: each PO file will contain the translations into a specific language.

  2. Sending POT file to Launchpad. We send the POT file to a platform called Launchpad. It provides a web interface to manage translations of the POT file and gives the possibility to translate collaboratively. Launchpad will process the POT file to update the existing PO files. It will scan for new strings in the POT file and add them to each PO file. It will detect strings that are no longer present and delete them from each PO file.

  3. Applying to a translation group. First you will need to have a Launchpad account. Then you will need to apply to the translation group of the language you would like to translate to. In order to know which translation group to apply to, go to this page: Click on the desired language, and look at the bottom of the new page. It will indicate the translation group for that language. For instance, this is the page for Swedish. And this is the translation group for Swedish. If you are not part of a translation group, you can only make suggestions, but they will have to be validated by a member of the translationg group. If you apply and never get accepted into a translation group, contact us and we will figure out something else to let you translate.

  4. Your language is not in the list? You have the possibility to add a new language if you don’t see your desired language in the list. On the page listing the languages, click on "Choose preferred languages..." at the bottom of the list, then choose your language.

  5. Translating. Once you're in a translation group, you can go back to the page of the corresponding language you want to translate to, and start translating :) We know it's a bit tedious to get there. Just so you know, we used to have translations open (you only needed to be registered in Launchpad to translate), but the translations were vandalized and we decided to restrict the permissions.

  6. Updating Tatoeba. Updates of the interface translations used to be done on a regular basis. Now it is done on request. The PO files are downloaded and converted into MO files. The MO files are binary files, and they are the ones that Tatoeba uses to get the translations of the interface. So it’s only when the latest MO files are uploaded to the server that Tatoeba translations are actually updated.

You should know that the strings in Launchpad are not always up-to-date. It can happen that some parts of Tatoeba are not translated yet because we added new code, and didn't extract the strings to translate yet. Conversely, we sometimes send translations to Launchpad before we update Tatoeba, so you may find strings on Launchpad that cannot be found anywhere on Tatoeba yet. So don't be surprised if texts in Tatoeba and Launchpad are not always synchronized.

That's it. Don't hesitate to contact us if you encounter any issue. And thanks for translating!