DoudouLinux DoudouLinux

The computer they prefer!

DoudouLinux DoudouLinux

The computer they prefer!

The site's languages [ar] [cs] [de] [en] [es] [fa] [fr] [it] [ms] [nl] [pt] [pt_br] [ro] [ru] [sr] [sr@latin] [th] [uk] [vi] [zh]

> English > Contribute > Translate DoudouLinux > The translation job

The translation job

September 2010 — last update February 2012

All the versions of this article: [Deutsch] [English] [русский]

DoudouLinux is a system running from CDROM or USB key but it also has a website full of information. Of course we have been writing here and there that children should have it in their language. But it is also better for our visitors to read web pages in their native language, especially because web pages are used to produce the user’s manual included inside the system. Thus translating DoudouLinux means both translating the system and the website.

Important note: we ask you to use in your translations a less technical vocabulary in so far as possible. The target audience of DoudouLinux is the standard family and are not really computer-aware.

1- Translation planning

Translating everything may really be time-consuming depending on the current translation level for your language. If you want to provide users with perceptible changes and attract them, we propose the following translation planning:

  1. translate the DoudouLinux environment (1-2 weeks), this way we will be able to quickly upload a new, more attractive CD version
  2. translate some key web pages (1-2 weeks), you will then drive people to the CD using your language!
  3. identify applications that still need translation
  4. alternate between translating 2-3 applications and translating several web pages

Key web pages are the home page, the download page, the quick start page and the get DoudouLinux page.

2- Translating the CD

Translation texts are written in text files of several formats. Most of translation files are PO files, which use a widely used translation system called gettext. We also have TS files, using QtLinguist, as well as few plain text files and audio files. PO files and TS files can be accessed from the translation portal TransiFex, but not plain text or audio files. All the translation files are available for download from the page Translation files in compressed archives. However we now recommend to use TransiFex for PO/TS files since their translation status is clearly shown and the portal requires no special knowledge of the underlying translation tools: it is much simpler for translators.

2.1- Translating applications

Many applications use gettext to handle translations of messages and DoudouLinux developers try to use it whenever possible. The principle is quite simple. Developers write English messages in their application and gettext translates texts at runtime provided that it finds the target language file. Translators have then just to produce those files. Note that translation files using QtLinguist function in a similar way.

However, a few applications use simple text files or audio files, and some other ones do not use a translation system at all, this is often the case of fun games. Depending on the difficulty of the task, we may decide not to translate these applications to avoid re-writing them. Instructions about plain text and audio files can be found in the section Translating applications.

The next paragraph details how to translate applications with PO files because a special effort is made to use these files in DoudouLinux every time this is possible. You do not need to read it if you intend to use Transifex for translation, since it hides all the translation internals behind a nice and easy to use web interface.

2.2- Gettext translation

gettext works with PO and POT files. POT files are just template PO files, which means a PO file with empty translations. One PO file should be produced for one language and one application. PO files are text files containing a series of pairs of English texts and their translation. PO files can be advantageously edited using a dedicated editor such as PoEdit or KBabel. These applications can import a POT file and produce a language-specific PO file. They may also be able to update a PO file with a modified POT file, when developers change application texts. This is the case of PoEdit.

Finally note that applications do not use PO files at runtime but a compiled version instead, the MO files. We need the PO (text) file to include your work in DoudouLinux. MO (binary) files can usually be produced from within PO file editors and will be automatically produced while building the CD. No need to bother with them!

2.3- Where to get PO/TS files?

The old way is to refer to the page Translation files. We now recommend you to visit our translation portal on TransiFex. You will find in our project page the list of “resources” which indeed are just the applications used in DoudouLinux. Each resource page lists all the available translation files and shows their translation status. Translation files can be edited or downloaded from the portal. We then have dedicated scripts to fetch your work and include it into the CD. Of course to modify translation files you need an account on TransiFex and to ask for joining a translation team.

Finally if the application you want to translate has never been translated by our team before, you may not find any PO/TS file on our servers – but they will be on TransiFex if your language team exists. Whatever the way you proceed, we highly recommend to search the Internet for fresher PO/TS files before starting to translate them.

2.4- Testing a PO file by yourself

Of course you may not want to recompile the entire application to test your work. An option for PO files is to place or replace the MO file in the correct system directory. A way to find it is to search for other translation files for the application. For example if you want to add a Romanian translation for lxlauncher, simply issue the following command:

$ dpkg -L lxlauncher | grep ’.mo$’

So you just have to place the compiled MO file into /usr/share/locale/xx/LC_MESSAGES/ (where xx is your 2-letters language code) and name it Please note that this is the usual place for such files so that you can first try to put your MO files here without wondering. Indeed we put these MO files in this directory during the CD build process.

2.5- Other kind of translations

In a given application, there may be other texts to be translated that are not managed by gettext or QtLinguist, even if one of them is used for the application interface. This may be a file containing a list of translated words (for example in khangman) or even sound files for words or letters (for example in childsplay). Instructions for each application can be found in the section Translating applications but, to avoid doing a job that the application developers may have done after the application is released, again we recommend to visit their website to look for newer files first.

3- Translating the website

Of course page contents is to be translated! You will find details on how to edit pages on the page Translating the website into another language. We consider that translating a page typically takes 2 hours. There are also a couple of messages here and there on the website that are to be translated too but are not accessible from web-site editor.

These texts can be found in the page skeleton, for example the message “Download for free”, or in the tables of downloadable files. These messages require Php files to be modified, files that are stored on our web server and cannot be accessed by translators! However to ease their translation, we have moved their texts into PO files that can be accessed from TransiFex through the resources website-skeleton and website-download. Note that our web-site platform Spip handles its own skeleton messages that may not be translated too. Just ask us for appropriate Php file in this case.

Recommendation: do not forget to post regularly on our website news about your translation work in your language to tell visitors what’s going on…

4- Getting an account, or not

The process to participate to translations is the following:

  1. you can start by contacting us
  2. create an account on TransiFex if you want to translate the CD
  3. subscribe the lang mailing list to be aware of changes and updates about CD translations
  4. ask us for an account on our website if you want to translate web pages
  5. subscribe the docs mailing list to be aware of changes and updates about our website pages

Concerning web pages, you cannot create an account by yourself! Concerning CD translation you need to create an account on TransiFex and to ask for joining a translation team.

We also ask you to subscribe our mailing lists. On these lists you will be able to share difficulties or tricks with other contributors. Note that we want to maintain an exhaustive list of all our contributors. Please tell us if you want your name or nickname be displayed!

To conclude, if you feel really involved in the project, you can ask to gain write access to our source code repository. Doing so we expect you to participate into the system development, not only translations. You will need an account on Gna to do so.

identica logo facebook logo google+ logo

Geographical location of visitors

DoudouLinux logo Debian logo TSPU logo Genesi logo Gandi logo Hosting Extreme logo Linux Jobs Reviewed by I love Free Software

Creative Commons Copyright © team - All texts from this site are published under the license Creative Commons BY-SA

SPIP | template | Site Map| Follow-up of the site's activity RSS 2.0