From SME Server
Revision as of 22:04, 20 November 2008 by PicsOne (talk | contribs) (Translating with Pootle)

Translating with Pootle

SME Server Supports a dozen languages. See for the current list.

To translate to another language, raise a bug in the bug tracker to let us know you would like to start.

Information.png Tip:
Add Tip here

Pootle for translators

Important.png Note:
IMPORTANT Before you can request responsible access, register and login at then you must add the language and projects to your account in Pootle.

Go to "My Account" --> "Change options" and select the three projects under "My Projects" SME Server Console, SME Server Panels, and SME Contribs Panels (use ctrl key for multiple select). Then select your language under "My Languages".

Now you can request responsible access creating a new bug HERE

BULGARIAN stefangk
DANISH koopmann - p1ur - skovsgaard
DUTCH Cactus - thf - jester - skydivers
FRENCH jpl - mmccarn - esibert - GrandPa - dadoudidon - Cool34000 - unnilennium
GERMAN Reinhold - ente - koopmann
GREEK MAuVE - pfloor
ITALIAN matprova - nicolatiana - Fumetto - nenonano - filippoc
JAPANESE misnerspace - sreejith - pranathi - yuka
SPANISH Normando - juanidada - oscartenerife - Calimenio
SWEDISH chrille

Pootle tips

To speed up your translation process follow these tips:

Enter at "My account" and then at "Change options".

Set these values:

  • Number of rows in translate mode = 1
  • Number of rows in view mode = 5
  • Input Height (in lines) = 10

You can select your language and projects to see shortcuts at your home page.

Untranslated words

First login at Pootle, then click "Show Editing Functions" and finally at "Quick Translate" for each file or whole language.

Also you can see the suggestions clicking at "Review Suggestions".

Translation Memory

You can use the matching translations from the Pootle right side "related" strings to speed up the translation process. Make the necessary fixes for the non matching strings.

Checks before finish your work

We generate daily a consistency verification,it´s available on

Please run these checks before conclude your work:

Under the language of your choice at root level project, click at "Show Editing Functions" and then "Show Checks" to see a list of syntax errors.

See and

It is clear that certain syntax errors will always be due to differences in languages. For example a question in english carries only the symbol of closure (?) while in spanish also carries the opening (¿).

Important.png Note:
We need to make consistent translations. The system detect some consistence errors for all languages. You can check and see your language errors. Please fix the inconsistency errors

Example for Italian:

#: root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/clamav:60(trans)
#: root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/emailsettings:118(trans)
#, fuzzy
msgid "During office hours (8:00 AM to 6:00 PM) on weekdays"
msgstr ""
"#-#-#-#-#  clamav.po (SME Panels)  #-#-#-#-#\n"
"Durante l'orario d'ufficio (dalle 8:00 alle 18:00) giorni lavorativi\n"
"#-#-#-#-#  emailsettings.po (SME Panels)  #-#-#-#-#\n"
"Orario ufficio (8:00-18:00 Lun-Ven)"

You must fix the file clamav.po or emailsettings.po (not both) to only use one of the following translated values:

Durante l'orario d'ufficio (dalle 8:00 alle 18:00) giorni lavorativi 


Orario ufficio (8:00-18:00 Lun-Ven)

Please ensure to remove all \n characters from end of translation and escape characters \ before each " not present in english source language. ex. \"{$acct}\" should be "{$acct}". This only happens in the consistence checks.

So, at equal English strings values => equal translations (Italian) values.

In this example (Italian) the files clamav.po and emailsettings.po should have the same translated value:

Durante l'orario d'ufficio (dalle 8:00 alle 18:00) giorni lavorativi or Orario ufficio (8:00-18:00 Lun-Ven).


  • Not use colloquial terms. Only formal XXX-LANG.
  • Please DON'T use automatic nor machine generated translations. These are BAD quality. Leave human translators them make its work!
  • Review the orthographic errors. A very simple way is to use Firefox with the installed XXX-LANG dictionary.
  • Verify the translation in the context.
  • Not to be brief words. Ej. "Ud." instead of "Usted" (Spanish example)
  • The subscripts "_" in Pootle indicate a space in target.
  • Not to add capital letters in where in English they are not it. Ej. "Web page" must be translated like "Página web" and not like "Página Web" (Spanish example). The intention is to translate and not to invent. For it we must be exact although it demands much greater time the translation.
  • Any discussion or doubts or interchange of ideas can be made at the tab "discussion" in the top part of this page. Indent the answers adding two points at the beginning of each new line.
  • IMPORTANT. If at the moment of an installation or modification of the adjustments of SME Server it detects an inexact translation or that one does not adjust to the context, please, takes note precise from the same one and in where it found it, soon to correct it. If you want you can fix at Does not let save the opportunity to correct.

Pootle for developers

Lexicons for rpms in smecontribs and smeserver are automatically added to Pootle.

A patch is automatically created at You then apply this to the rpm to add the new translations or update the existing ones.

We need a few volunteers to apply these patches to smecontribs, say weekly, or more or less as the need arises, it isn't difficult and we will guide you.

Language rpms for the base rpms are generated less frequently. If you would like to check your translating work you can apply the daily patch to the smeserver-locale .src.rpm to create your own rpm. Everyone has read access to smeserver cvs and you would basically follow the instructions at Package_Modification, ask if you need help.

  • The English locale file is used as the Pootle template. Other languages are edited/translated at Pootle.
  • Every time you modify, add to or remove strings from the English locale file, just re-commit to cvs. There is a daily update to apply cvs changes to Pootle
  • Make your original FM file XML strict. Always close the opened tags (<i>...</i>). Use the same caps for tags (<b> is not equal to <B>).
  • Review the General lexicon, you don't need to duplicate these entries in your contrib lexicon

Outdated contribs

This is a list of contribs that need their lexicons updated,

If contribs are not updated after the April 2008 updates the server-manager panels appear unsorted

The easiest way to update lexicons is for the Author to import their contrib into the SME Contribs repository. Contrib authors please have a look at Package_Modification for that.

Contribs known to not have translations in UTF8 format: (please confirm these have problems, if you can link to source or list maintainer etc)

Temporary fix is to delete translations, eg

rm /etc/e-smith/locale/LANG/etc/e-smith/web/functions/PANEL
rm /etc/e-smith/locale/de/etc/e-smith/web/functions/qmh
  • sme-crontab_manager
  • smeserver-ddclient (lang de,fr panel ddclient)(being imported to smecontribs, will need testing)
  • smeserver-phpsysinfo
  • smeserver-redoma
  • smeserver-saco-qmHandle (lang de, panel qmh)
  • smeserver-squid_cache_mgt
  • smeserver-service_control
  • SMERPFax-0.8b1-1.noarch.rpm

These contribs are not causing problems, they don't have lexicons

  • smeserver-affa
  • smeserver-ajaxterm
  • smeserver-asterisk
  • smeserver-awstats
  • smeserver-backup2ws
  • smeserver-dirty-tools
  • smeserver-durep-saco
  • smeserver-ezmlm-web + dependencies
  • smeserver-loginscript
  • smeserver-lprng-monitor
  • smeserver-nagios
  • smeserver-nagios-backup
  • smeserver-nagios-nrpe
  • smeserver-nagios-nsca
  • smeserver-nagiosgrapher
  • smeserver-mailstats
  • smeserver-openoffice-portable
  • smeserver-openvpn-bridge
  • smeserver-password
  • smeserver-phpmyadmin-multiuser
  • smeserver-phpwebftp
  • smeserver-sarg
  • smeserver-sme7admin
  • smeserver-squidproperties
  • smeserver-squidguard
  • smeserver-torrentflux
  • smeserver-wbl
  • smeserver-webshare

These have updates available in smecontribs

  • smeserver-dar2
  • smeserver-fetchmail (update in smecontribs, different update available here)
  • smeserver-groupmembers-panel
  • smeserver-subversion
  • smeserver-sysmon
  • smeserver-usbdisksmanager (NEEDS TESTING!)

These have updates available in smetest

  • e-smith-backup (w/dar) (only needed if you have installed e-smith-backup from smetest previously)

Simple (and dirty) way to discover the incompatible contrib panel

The following command will list all incompatible translation files.

find /etc/e-smith/locale/ -type f | xargs --verbose -n1 iconv -f UTF-8 -t UTF-8 > /dev/null

After finding the above files you can determine which package they belong to (if it isn't obvious) by running the following command:

rpm -qf /etc/e-smith/locale/lang/etc/e-smith/web/functions/panelname

And replace the "lang" and "panelname" with what the first command spits out.

To fix temporally this issue, create a temporary folder in your SME, like /root/paneltemp

MOVE those problematic lexicon files to your temp folder.

Then run the command:


Conversion script

German forum user yythoss created a nice script that can do the conversion for you, the original post is here.

A new and improved version was posted in the forums by unnilennium, it can be downloaded from the bugtracker.

Important.png Note:
This version of the script is save to run multiple times and should create a backup of each file before converting it, compared to the original script by yythoss that did not create a backup and should only be run once.

After completion your server-manager should be normal again.