Difference between revisions of "Translations"

From SME Server
Jump to navigationJump to search
 
(237 intermediate revisions by 22 users not shown)
Line 1: Line 1:
==Translations==
+
{{Languages|Translations}}
SME Server Supports English, French, German, Spanish, Italian and Swedish.
 
  
Other Languages are in progress [http://bugs.contribs.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=SME+Server+Translations&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailqa_contact2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0= Bug tracker - translations]
+
==Translating with Pootle==
 +
SME Server supports more than a dozen languages. See http://translate.contribs.org/ for the current list.
  
===Adding new Languages===
+
==Pootle Video Tutorial==
 
+
If you want to watch a video about Pootle in action, look at http://www.youtube.com/watch?v=u6tDUQv3huU
There is one file per server-manager panel, plus a few others.
 
  
To translate to another language
+
==Translators==
* Raise a bug in the bug tracker to let us know you're starting or add to a work in progress
+
===Become a SME Translator===
 +
<ol><li>Before you can request have access and be assigned responsible for one or more languages you will need to register at http://translate.contribs.org.
 +
</li><li>After registering you will have to log in and add the language and projects to your account in Pootle. This can be done by choosing the ''Change options'' under the ''My Account''.
 +
</li><li>Now select the three projects ''SME Server Console'', ''SME Server Panels'', and ''SME Contribs Panels'' under ''My Projects'' (Hold the Ctrl key while clicking the desired options to select multiple options).
 +
</li><li>Last thing that you need to do is to select your language under ''My Languages''. You are now subscribed to all required projects for the desired languages.
 +
</li>{{Note box|Please, do not request to be responsible translator for a certain language before having completed the above steps.}}<li>To become responsible for the language you desire you need to request responsibility by creating a {{BugzillaFileBug|product=SME%20Server%20Translations|component=SME%20Server|summary=I%20want%20to%20be%20responsible%20translator|comment=My%20Pootle%20username%20is:%20%0D%0DLanguage%20to%20translate:|title=new bug}}, please provide your Pootle username as well as the language you want to be responsible for.</li></ol>
  
* Refer to these forum posts
+
===Language Translators===
+
{| width="100%" border="1" cellpadding="5" cellspacing="0"
http://forums.contribs.org/index.php?topic=30780.0
+
!Language
 +
!Responsibles (Pootle username)
 +
|-
 +
|Bulgarian
 +
|stefangk
 +
|-
 +
|Chinese
 +
|gfengyoung
 +
|-
 +
|Danish
 +
|koopmann - p1ur - skovsgaard
 +
|-
 +
|Dutch
 +
|[[User:Cactus | Cactus]] - [[User:Thf | Marco Hess]] - jester - skydivers
 +
|-
 +
|French
 +
|jpl - mmccarn - esibert - GrandPa - dadoudidon - Cool34000 - unnilennium - [[User:VIP-ire | dani]]
 +
|-
 +
|German
 +
|Reinhold - ente - koopmann
 +
|-
 +
|Greek
 +
|MAuVE - pfloor
 +
|-
 +
|Hungarian
 +
|tacsaby
 +
|-
 +
|Indonesion
 +
|thomasch
 +
|-
 +
|Italian
 +
|matprova - nicolatiana - Fumetto - nenonano - filippoc
 +
|-
 +
|Japanese
 +
|misnerspace - sreejith - pranathi - yuka
 +
|-
 +
|Norwegian
 +
|terje
 +
|-
 +
|Portuguese
 +
|nrgomes
 +
|-
 +
|Portuguese (Brazil)
 +
|jader
 +
|-
 +
|Russian
 +
|Nikolay?
 +
|-
 +
|Slovenian
 +
|bpivk
 +
|-
 +
|Spanish
 +
|[[User:PicsOne | Normando]] - juanidada - oscartenerife - Calimenio
 +
|-
 +
|Swedish
 +
|chrille
 +
|-
 +
|Thai
 +
|Thirawoot
 +
|-
 +
|Turkish
 +
|sami
 +
|-
 +
|}
 +
 
 +
===Pootle tips===
 +
To speed up your translation process follow these tips:
 +
 
 +
====Interface Customization====
 +
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
  
http://forums.contribs.org/index.php?topic=29298.0
+
You can select your language and projects to see shortcuts at your home page.
  
===Maintaining Existing Languages===
+
====Untranslated words====
 +
First login at Pootle, then click ''Show Editing Functions'' and finally at ''Quick Translate'' for each file or whole language.
  
Ongoing updates to SME Server occasionally modify panel text and this requires updating of the translations.
+
Also you can see the suggestions clicking at ''Review Suggestions''.
  
These changes are tracked in the
+
====Translation Memory====
[http://bugs.contribs.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=SME+Server+Translations&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailqa_contact2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Bug+Number&field0-0-0=noop&type0-0-0=noop&value0-0-0=  Bug Tracker,] please add updated translations at each bug if you can.
+
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.
  
===Translating a panel===
+
====Checks before finish your work====
To create a translation for a given language of an existing panel in the server-manager.
+
We generate daily a consistency verification,it´s available on http://translate.contribs.org/errors/
  
====Locate needed files====
+
Please run these checks before conclude your work:
Translating a panel is really easy, here are paths to files:
 
/etc/e-smith/locale/de/etc/e-smith/web/functions    => German  translations path
 
/etc/e-smith/locale/en-us/etc/e-smith/web/functions => English translations path ('''original''')
 
/etc/e-smith/locale/es/etc/e-smith/web/functions    => Spanish translations path
 
/etc/e-smith/locale/fr/etc/e-smith/web/functions    => French  translations path
 
/etc/e-smith/locale/it/etc/e-smith/web/functions    => Italian translations path
 
/etc/e-smith/locale/sv/etc/e-smith/web/functions    => Swedish translations path
 
  
Usually, panels have a user-friendly name. Check if a translation hasn't been started, else if the panel translation doesn't exist in your language path, simply copy the file from the English path and start to translate this new file!
+
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.
You will have to translate the content of text between '''<trans>''' and '''</trans>'''
 
  
Translating server console, based on the english version found in the smeserver-locale rpm in the /usr/share/locale/en_US/LC_MESSAGES/ directory
+
See http://translate.sourceforge.net/wiki/guide/pofilter_examples and http://translate.sourceforge.net/wiki/guide/translation/commonerrors
  
Note. The files in this directory on the server are incomplete,
+
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 (¿).
the original English texts are scattered across many files,
 
and are only collected in the rpm to help with translation.
 
  
====Apply changes====
+
{{Note box|We need to make consistent translations. The system detect some consistence errors for all languages. You can check http://translate.contribs.org/errors/ and see your language errors. Please fix the inconsistency errors}}
For changes to take effects, you will have to issue the following command:
 
/etc/e-smith/events/actions/navigation-conf
 
Now open your web browser at https://yourserver/server-manager and see your own modifications!
 
  
====Share your work====
+
Example for Italian:  
See [[:Package_Modification]] to learn how to help modifying existing contribs.
 
Then create a bug report and attach the patched file.
 
  
====Limitations====
+
#: root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/clamav:60(trans)
Panels not using formmagik can't be translated... However there is still a quick fix to change the panel name in the server-manager.
+
#: 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 ""
 +
"#-#-#-#-#  <span style="background-color: #FFFDBF">clamav.po</span> (SME Panels)  #-#-#-#-#\n"
 +
"<span style="background-color: #CBD567">Durante l'orario d'ufficio (dalle 8:00 alle 18:00) giorni lavorativi</span>\n"
 +
"#-#-#-#-#  <span style="background-color: #FFFDBF">emailsettings.po</span> (SME Panels)  #-#-#-#-#\n"
 +
"<span style="background-color: #CBD567">Orario ufficio (8:00-18:00 Lun-Ven)</span>"
  
Let's take a look at AWStats and try to translate the panel name to French as an example:
+
You must fix the file <span style="background-color: #FFFDBF">clamav.po</span> or <span style="background-color: #FFFDBF">emailsettings.po</span> (not both) to only use one of the following translated values:
  
Open the default file '''''/etc/e-smith/web/functions/awstats''''' and take a look on the first lines. You should see what is needed to change:
+
Durante l'orario d'ufficio (dalle 8:00 alle 18:00) giorni lavorativi
# heading    : Administration => in which submenu the panel is put
+
or
  # description : Web statistics => display the panel name
+
   
  # navigation  : 4000 4350      => Not needed here, used for panel order
+
  Orario ufficio (8:00-18:00 Lun-Ven)
create a file called '''''awstats''''' in '''''/etc/e-smith/locale/fr/etc/e-smith/web/functions/''''' with the following content:
 
<lexicon lang="fr">
 
    <entry>
 
        <base>Administration</base>
 
        <trans>Administration</trans>
 
    </entry>
 
    <entry>
 
        <base>Web statistics</base>
 
        <trans>Statistiques Web</trans>
 
    </entry>
 
</lexicon>
 
And finally, apply changes with the following command:
 
/etc/e-smith/events/actions/navigation-conf
 
  
====Duplicate menus====
+
Please ensure to remove all <nowiki>\n</nowiki> characters from end of translation and escape characters <nowiki>\</nowiki> before each <nowiki>"</nowiki> not present in english source language. ex. \"{$acct}\" should be "{$acct}". This only happens in the consistence checks.
You may see some duplicate menus in the server-manager. This is a Formmagick related known problem.
 
  
It has been Fixed in [[Bugzilla:3346]]
+
So, at equal English strings values => equal translations (Italian) values.
  
===Contrib Translations===
+
In this example (Italian) the files <span style="background-color: #FFFDBF">clamav.po</span> and <span style="background-color: #FFFDBF">emailsettings.po</span> should have the same translated value:
  
Track which contribs have tranlations
+
<span style="background-color: #CBD567">Durante l'orario d'ufficio (dalle 8:00 alle 18:00) giorni lavorativi</span> or <span style="background-color: #CBD567">Orario ufficio (8:00-18:00 Lun-Ven)</span>.
  
smeserver-userpanel        not FormMagick
+
====Considerations====
 
   
 
   
smeserver-userpanels
+
*Do not use colloquial terms. Only formal XXX-LANG.
- forwarding              fr, de, es*, it*, sv
+
*Please '''DON'T''' use automatic nor machine generated translations. These are '''BAD''' quality. Leave human translators them make its work!
- password                fr, de, es, it, sv
+
*Review the orthographic errors. A very simple way is to use Firefox with the installed XXX-LANG dictionary.
- useraccounts/backup      not FormMagick
+
*Verify the translation in the context.
+
*Not to be brief words. Ej. "Ud." instead of "Usted" (Spanish example)
smeserver-vacation        fr, de, es
+
*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.
smeserver-mailsorting      fr, de, es
+
*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 http://translate.contribs.org. Does not let save the opportunity to correct.
smeserver-remoteuseraccess fr, de, es, sv
+
 
+
==Changing the Server Language==
if a language is shown the translation is finished
+
===Server-Manager===
* means the translation is incomplete
+
Change the language the panel is in by changing your browser default language
** This table may not be current, email the rpm maintainer with updates, check first
+
 
 +
For Firefox currently it is: Preferences, content, Languages.
 +
 
 +
 
 +
===Console===
 +
'''For Centos 6 i.e. SME9, and older versions'''
  
 +
Edit the first two lines in /etc/sysconfig/i18n
 +
#nano -w /etc/sysconfig/i18n
 +
LANG="en_US"
 +
SUPPORTED="en_US:en"  (maybe not needed, doesn't exist by default)
  
 +
issue a db command
 +
config setprop sysconfig Language sv_SE
  
== Translating with Pootle ==
 
We have testing a new online translation tool named Pootle. Currently is at http://translate.unixlan.com.ar
 
  
In the future maybe we will have (the comunity) an online Pootle at contribs.org for tranlating base SME (panels and console), and contribs too. We will can add a new language to the base and contribs. Meanwhile we using the above URL.
+
'''For CentOS 7 and SME 10'''
  
=== Pootle for translators ===
+
List available keymaps starting with 'us' :
Register and login at Pootle and you can begin with the translations. You can translate any file you want. Also contribs.
+
#localectl list-keymaps | grep ^us
  
==== Untranslated words ====
+
To permanently change the keymap on CentOS 7 to e.g. the US keymap run the '''localectl''' command:
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".
+
#localectl set-keymap us
  
==== Checks ====
+
To confirm your permanent keymap settings execute the localectl command without any arguments.
click "show checks" to see a list of syntax errors
 
  
acronyms  6 strings (2%) failed
+
Source:
brackets 17 strings (6%) failed
+
https://linuxconfig.org/how-to-change-system-keyboard-keymap-layout-on-centos-7-linux
doublequoting 4 strings (1%) failed
 
doublespacing 1 string (0%) failed
 
endpunc 11 strings (3%) failed
 
endwhitespace 4 strings (1%) failed
 
numbers 2 strings (0%) failed
 
puncspacing 2 strings (0%) failed
 
sentencecount 2 strings (0%) failed
 
simplecaps 16 strings (5%) failed
 
startcaps 6 strings (2%) failed
 
unchanged 7 strings (2%) failed
 
untranslated 53 strings (19%) failed
 
  
click on one of the links offered and fix them
+
<br>
  
See http://translate.sourceforge.net/wiki/guide/pofilter_examples and http://translate.sourceforge.net/wiki/guide/translation/commonerrors
 
  
 +
Choose a Language (and Keytable see below) from the list
  
=== Pootle for developers ===
+
(-) in front of the line means SME doesn't have any translation for that language
You can add your own locale contribs at Pootle. The community will can translate your contrib into various languages.
 
  
Before this, you must convert your FormMagick panel (FM for short) to POT file, because Pootle can only handle POT and PO files. POT = PO Template.
+
  Bulgarian bg latarcyrheb-sun16 bg_BG.UTF-8 bg Europe/Sofia
 +
-Catalan ca latarcyrheb-sun16 ca_ES.UTF-8 es Europe/Madrid
 +
  Chinese(Simplified) zh_CN none         zh_CN.UTF-8 us Asia/Shanghai
 +
-Chinese(Traditional) zh_TW none         zh_TW.UTF-8 us Asia/Taipei
 +
-Croatian hr latarcyrheb-sun16 hr_HR.UTF-8 croat Europe/Zagreb
 +
-Czech         cs latarcyrheb-sun16 cs_CZ.UTF-8 cz-lat2 Europe/Prague
 +
  Danish        da latarcyrheb-sun16 da_DK.UTF-8 dk Europe/Copenhagen
 +
  Dutch         nl latarcyrheb-sun16 nl_NL.UTF-8 nl Europe/Amsterdam
 +
  English en latarcyrheb-sun16 en_US.UTF-8 us America/New_York
 +
  Estonian et latarcyrheb-sun16 et_EE.UTF-8 et Europe/Tallinn
 +
-Finnish fi latarcyrheb-sun16 fi_FI.UTF-8 fi Europe/Helsinki
 +
  French        fr latarcyrheb-sun16 fr_FR.UTF-8 fr-latin1  Europe/Paris
 +
  German        de latarcyrheb-sun16 de_DE.UTF-8 de-latin1-nodeadkeys  Europe/Berlin
 +
  Greek         el iso07u-16         el_GR.UTF-8 gr Europe/Athens
 +
-Gujarati gu none                 gu_IN.UTF-8 us Asia/Calcutta
 +
-Hindi         hi none                 hi_IN.UTF-8 us    Asia/Calcutta
 +
  Hungarian hu latarcyrheb-sun16 hu_HU.UTF-8 hu Europe/Budapest
 +
-Icelandic is latarcyrheb-sun16 is_IS.UTF-8 is-latin1  Atlantic/Reykjavik
 +
  Indonesian id latarcryheb-sun16 id_ID.UTF-8 us Asia/Jakarta
 +
  Italian it latarcyrheb-sun16 it_IT.UTF-8 it Europe/Rome
 +
  Japanese ja none                 ja_JP.UTF-8 jp106 Asia/Tokyo
 +
-Kannada kn none                 kn_IN.UTF-8 us Asia/Calcutta
 +
-Korean        ko none                 ko_KR.UTF-8 us Asia/Seoul
 +
-Macedonian mk latarcyrheb-sun16 mk_MK.UTF-8 mk Europe/Skopje
 +
-Malay        ms latarcyrheb-sun16 ms_MY.UTF-8 us Asia/Kuala_Lumpur
 +
-Malayalam    ml none                 ml_IN.UTF-8 us Asia/Calcutta
 +
-Marathi mr none                 mr_IN.UTF-8 us Asia/Calcutta
 +
  Norwegian nb latarcyrheb-sun16 nb_NO.UTF-8 no Europe/Oslo
 +
-Northern Sotho nso latarcyrheb-sun16 nso_ZA.UTF-8 us Africa/Johannesburg
 +
-Oriya         or none                 or_IN.UTF-8 us Asia/Calcutta
 +
  Polish        pl latarcyrheb-sun16 pl_PL.UTF-8 pl2 Europe/Warsaw
 +
  Portuguese pt latarcyrheb-sun16 pt_PT.UTF-8 pt-latin1  Europe/Lisbon
 +
  Portuguese(Brazilian) pt_BR latarcyrheb-sun16 pt_BR.UTF-8 br-abnt2  America/Sao_Paulo
 +
-Punjabi pa none                 pa_IN.UTF-8 us Asia/Calcutta
 +
  Russian ru latarcyrheb-sun16 ru_RU.UTF-8 ru Europe/Moscow
 +
-Serbian sr latarcyrheb-sun16 sr_CS.UTF-8 sr-cy Europe/Belgrade
 +
-Serbian(Latin) sr@Latn latarcyrheb-sun16 sr_CS.UTF-8@Latn sr-cy Europe/Belgrade
 +
-Sinhala si none                 si_LK.UTF-8 us Asia/Colombo
 +
-Slovak sk latarcyrheb-sun16 sk_SK.UTF-8 sk-qwerty Europe/Bratislava
 +
  Slovenian    sl      latarcyrheb-sun16 sl_SI.UTF-8 slovene Europe/Ljubljana
 +
  Spanish es latarcyrheb-sun16 es_ES.UTF-8 es Europe/Madrid
 +
  Swedish sv latarcyrheb-sun16 sv_SE.UTF-8 sv-latin1 Europe/Stockholm
 +
-Tamil         ta none                 ta_IN.UTF-8 us Asia/Calcutta
 +
-Telugu        te none                 te_IN.UTF-8 us Asia/Calcutta
 +
  Turkish tr latarcyrheb-sun16 tr_TR.UTF-8 trq Europe/Istanbul
 +
-Ukrainian uk latarcyrheb-sun16 uk_UA.UTF-8 ua-utf Europe/Kiev
 +
-Vietnamese vi latarcyrheb-sun16 vi_VN.UTF-8 us Asia/Saigon
 +
-Welsh         cy latarcyrheb-sun16 cy_GB.UTF-8 uk Europe/London
 +
-Zulu         zu latarcyrheb-sun16 zu_ZA.UTF-8 us Africa/Johannesburg
  
Stephen Noble will publish soon as possible the necesary scripts files to convert between formats.
+
===Keyboard===
  
When you have your POT file of your contrib, you can upload at Pootle, but not directly. You must upload at SVN repository. Pootle server (almost in the currently test server) make a checkout every 30 minutes, to check if there are a new or modified POT files. This checkout add or modify the Pootle templates.
+
Issue a db command
 +
config setprop sysconfig Keytable sv
  
Pootle parse each POT template over current languages (as SME when expand-templates). Every time you want to add a new language to your contrib, you must only click at pootle "add language", and Pootle parse (like a copy-merge) the templates over the new language. If this is a new language, Pootle copy the template files to the new language. I there is existing language, and you have make a modifications to the template, Pootle merge the templates over the esxisting language files, resulting in adding new untranslated strings, and adding fuzzy strings to similar translations, like describe below in "Merging new strings"
+
The above command, and editing /etc/sysconfig/i18n doesn't completely fix the keyboard.
  
Once translated the pootle locale file, you can download PO file from Pootle and revert convert to XML FM file.
+
==Pootle for Developers==
 +
Lexicons for rpms in smecontribs and smeserver are automatically added to Pootle.  
  
==== Merging new strings ====
+
A patch is automatically created at http://translate.contribs.org/patches/
<nowiki>Add, remove or modify strings in the template/*.pot file then click 'update from template'.</nowiki>
+
You then apply this to the rpm to add the new translations or update the existing ones.  
  
:New strings are added
+
'''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.
:modified strings use existing data and made fuzzy (i think)
 
:deleted strings are moved to the bottom of the file and commented out with <nowiki>#~</nowiki>
 
  
 +
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.
  
==== Advices ====
+
*The English locale file is used as the Pootle template. Other languages are edited/translated at Pootle.
* <nowiki>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>). In the future I try to regularize base FM files.</nowiki> See the [[Bugzilla:3877]]
 
  
* Every time you have modify, added or remove strings from template files, you must click at "Update from templates" for each language, or check the languages boxes and click in the button "Update from languages".
+
*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
  
 +
*<nowiki>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>). </nowiki>
  
[[Category:Howto]]
+
*Review the General lexicon, you don't need to duplicate these entries in your contrib lexicon

Latest revision as of 19:10, 30 June 2021


Translating with Pootle

SME Server supports more than a dozen languages. See http://translate.contribs.org/ for the current list.

Pootle Video Tutorial

If you want to watch a video about Pootle in action, look at http://www.youtube.com/watch?v=u6tDUQv3huU

Translators

Become a SME Translator

  1. Before you can request have access and be assigned responsible for one or more languages you will need to register at http://translate.contribs.org.
  2. After registering you will have to log in and add the language and projects to your account in Pootle. This can be done by choosing the Change options under the My Account.
  3. Now select the three projects SME Server Console, SME Server Panels, and SME Contribs Panels under My Projects (Hold the Ctrl key while clicking the desired options to select multiple options).
  4. Last thing that you need to do is to select your language under My Languages. You are now subscribed to all required projects for the desired languages.
  5. Important.png Note:
    Please, do not request to be responsible translator for a certain language before having completed the above steps.

  6. To become responsible for the language you desire you need to request responsibility by creating a

    new bug

    , please provide your Pootle username as well as the language you want to be responsible for.

Language Translators

Language Responsibles (Pootle username)
Bulgarian stefangk
Chinese gfengyoung
Danish koopmann - p1ur - skovsgaard
Dutch Cactus - Marco Hess - jester - skydivers
French jpl - mmccarn - esibert - GrandPa - dadoudidon - Cool34000 - unnilennium - dani
German Reinhold - ente - koopmann
Greek MAuVE - pfloor
Hungarian tacsaby
Indonesion thomasch
Italian matprova - nicolatiana - Fumetto - nenonano - filippoc
Japanese misnerspace - sreejith - pranathi - yuka
Norwegian terje
Portuguese nrgomes
Portuguese (Brazil) jader
Russian Nikolay?
Slovenian bpivk
Spanish Normando - juanidada - oscartenerife - Calimenio
Swedish chrille
Thai Thirawoot
Turkish sami

Pootle tips

To speed up your translation process follow these tips:

Interface Customization

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 http://translate.contribs.org/errors/

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 http://translate.sourceforge.net/wiki/guide/pofilter_examples and http://translate.sourceforge.net/wiki/guide/translation/commonerrors

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 http://translate.contribs.org/errors/ 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 

or

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).

Considerations

  • Do 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 http://translate.contribs.org. Does not let save the opportunity to correct.

Changing the Server Language

Server-Manager

Change the language the panel is in by changing your browser default language

For Firefox currently it is: Preferences, content, Languages.


Console

For Centos 6 i.e. SME9, and older versions

Edit the first two lines in /etc/sysconfig/i18n

#nano -w /etc/sysconfig/i18n
LANG="en_US"
SUPPORTED="en_US:en"  (maybe not needed, doesn't exist by default)

issue a db command

config setprop sysconfig Language sv_SE


For CentOS 7 and SME 10

List available keymaps starting with 'us' :

#localectl list-keymaps | grep ^us

To permanently change the keymap on CentOS 7 to e.g. the US keymap run the localectl command:

#localectl set-keymap us

To confirm your permanent keymap settings execute the localectl command without any arguments.

Source: https://linuxconfig.org/how-to-change-system-keyboard-keymap-layout-on-centos-7-linux



Choose a Language (and Keytable see below) from the list

(-) in front of the line means SME doesn't have any translation for that language

 Bulgarian	bg	latarcyrheb-sun16	bg_BG.UTF-8	bg	Europe/Sofia
-Catalan	ca	latarcyrheb-sun16	ca_ES.UTF-8	es	Europe/Madrid
 Chinese(Simplified)	zh_CN	none	        zh_CN.UTF-8	us	Asia/Shanghai
-Chinese(Traditional)	zh_TW	none	        zh_TW.UTF-8	us	Asia/Taipei
-Croatian	hr	latarcyrheb-sun16	hr_HR.UTF-8	croat	Europe/Zagreb
-Czech	        cs	latarcyrheb-sun16	cs_CZ.UTF-8	cz-lat2	Europe/Prague
 Danish        da	latarcyrheb-sun16	da_DK.UTF-8	dk	Europe/Copenhagen
 Dutch	        nl	latarcyrheb-sun16	nl_NL.UTF-8	nl	Europe/Amsterdam
 English	en	latarcyrheb-sun16	en_US.UTF-8	us	America/New_York
 Estonian	et	latarcyrheb-sun16	et_EE.UTF-8	et	Europe/Tallinn
-Finnish	fi	latarcyrheb-sun16	fi_FI.UTF-8	fi	Europe/Helsinki
 French        fr	latarcyrheb-sun16	fr_FR.UTF-8	fr-latin1  Europe/Paris
 German        de	latarcyrheb-sun16	de_DE.UTF-8	de-latin1-nodeadkeys  Europe/Berlin
 Greek	        el	iso07u-16	        el_GR.UTF-8	gr	Europe/Athens
-Gujarati	gu	none	                gu_IN.UTF-8	us	Asia/Calcutta
-Hindi	        hi	none	                hi_IN.UTF-8	us    	Asia/Calcutta
 Hungarian	hu	latarcyrheb-sun16	hu_HU.UTF-8	hu	Europe/Budapest
-Icelandic	is	latarcyrheb-sun16	is_IS.UTF-8	is-latin1  Atlantic/Reykjavik
 Indonesian	id	latarcryheb-sun16	id_ID.UTF-8	us	Asia/Jakarta
 Italian	it	latarcyrheb-sun16	it_IT.UTF-8	it	Europe/Rome
 Japanese	ja	none	                ja_JP.UTF-8	jp106	Asia/Tokyo	
-Kannada	kn	none	                kn_IN.UTF-8	us	Asia/Calcutta
-Korean        ko	none	                ko_KR.UTF-8	us	Asia/Seoul	
-Macedonian	mk	latarcyrheb-sun16	mk_MK.UTF-8	mk	Europe/Skopje
-Malay         ms	latarcyrheb-sun16	ms_MY.UTF-8	us	Asia/Kuala_Lumpur
-Malayalam     ml	none	                ml_IN.UTF-8	us	Asia/Calcutta
-Marathi	mr	none	                mr_IN.UTF-8	us	Asia/Calcutta
 Norwegian	nb	latarcyrheb-sun16	nb_NO.UTF-8	no	Europe/Oslo
-Northern Sotho nso	latarcyrheb-sun16	nso_ZA.UTF-8	us	Africa/Johannesburg
-Oriya	        or	none	                or_IN.UTF-8	us	Asia/Calcutta
 Polish        pl	latarcyrheb-sun16	pl_PL.UTF-8	pl2	Europe/Warsaw
 Portuguese	pt	latarcyrheb-sun16	pt_PT.UTF-8	pt-latin1  Europe/Lisbon
 Portuguese(Brazilian)	pt_BR latarcyrheb-sun16	pt_BR.UTF-8	br-abnt2  America/Sao_Paulo
-Punjabi	pa	none	                pa_IN.UTF-8	us	Asia/Calcutta
 Russian	ru	latarcyrheb-sun16	ru_RU.UTF-8	ru	Europe/Moscow
-Serbian	sr	latarcyrheb-sun16	sr_CS.UTF-8	sr-cy	Europe/Belgrade
-Serbian(Latin) sr@Latn latarcyrheb-sun16	sr_CS.UTF-8@Latn sr-cy	Europe/Belgrade
-Sinhala	si	none	                si_LK.UTF-8	us	Asia/Colombo
-Slovak	sk	latarcyrheb-sun16	sk_SK.UTF-8	sk-qwerty Europe/Bratislava
 Slovenian     sl      latarcyrheb-sun16	sl_SI.UTF-8	slovene	Europe/Ljubljana
 Spanish	es	latarcyrheb-sun16	es_ES.UTF-8	es	Europe/Madrid
 Swedish	sv	latarcyrheb-sun16	sv_SE.UTF-8	sv-latin1 Europe/Stockholm
-Tamil	        ta	none	                ta_IN.UTF-8	us	Asia/Calcutta
-Telugu        te	none	                te_IN.UTF-8	us	Asia/Calcutta
 Turkish	tr	latarcyrheb-sun16	tr_TR.UTF-8	trq	Europe/Istanbul
-Ukrainian	uk	latarcyrheb-sun16	uk_UA.UTF-8	ua-utf	Europe/Kiev
-Vietnamese	vi	latarcyrheb-sun16	vi_VN.UTF-8	us	Asia/Saigon
-Welsh	        cy	latarcyrheb-sun16	cy_GB.UTF-8	uk	Europe/London
-Zulu	        zu	latarcyrheb-sun16	zu_ZA.UTF-8	us	Africa/Johannesburg

Keyboard

Issue a db command

config setprop sysconfig Keytable sv

The above command, and editing /etc/sysconfig/i18n doesn't completely fix the keyboard.

Pootle for Developers

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

A patch is automatically created at http://translate.contribs.org/patches/ 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