You are here

How to Translate

This tutorial will help you to translate Coccinella to a new language or to update an existing language catalog.


  1. To avoid double work, you first should contact the current translator(s) of your language, or ask in the forum if you would like to start a new translation. Wait a few days to see whether or not you get a response.

  2. Then, download the latest translation sources and translation template and extract this file.

  3. Proceed by installing a good computer-assisted translation (CAT) program with gettext support, such as Poedit, Lokalize, Kbabel, gtranslator, and Virtaal. Use this program to open the existing XX.po file for your language code. Or use this program to create a new translation using the template.pot file.

  4. Translate untranslated strings, improve strings which are already translated, and/or review fuzzy strings (do not forget to remove the fuzzy status after reviewal). Please do not hesitate to ask in the forum if you have any questions about using the computer-assisted translation program.

  5. Finaly, contribute your new or updated translation XX.po file by filing a new bug entry with attachment.

  6. Your translation will be added to the development version and we will notify you about this. Less than 24 hours later, you can test your translation in the daily build.

Useful remarks

  • Note that some of the menu strings, have an ampersand "&" in their text string. This means that the character following it will be underlined and the "&" be removed from display text. The underlined character corresponds to a keyboard shortcut for that entry. You are free to pick the underlined character which suits your language yourself, but remember that each character may be underlined only once in a menu.

    For an outstanding translation usability, we would suggest you to first simply translate all menu entries. Then, you should look at which letters are used for similar menu entries in popular software like Firefox and try to be as consistent as possible when selecting letters, without using letters more than once. Although this will take a lot longer, the quality of your translation will be much higher!

  • Some of the strings contain one or more "%s". These will be replaced by variables when the string is displayed. You need to see the code if you want to know the replacement variable.

    In some cases your language may have a different grammar than English, and there may be situations where the order of the replacement variables must change. In such situations you need to add positional codes. An example describes it best:

    {This is the %s and %s attempt} FIRST SECOND 
    This is the FIRST and SECOND attempt 
    {This is the %2$s and %1$s attempt} FIRST SECOND 
    This is the SECOND and FIRST attempt

    You just replace "%s" with "%#$s" where # is an integer describing the position.