Pootle: Difference between revisions
m (→Sign-up) |
Maximilian (talk | contribs) (→Register as a translator: https appears to not work, improved language) |
||
(28 intermediate revisions by 16 users not shown) | |||
Line 1: | Line 1: | ||
{{L10n-sl-migration}} |
|||
{{olpcboxtop|toptext=}} |
{{olpcboxtop|toptext=}} |
||
{{OBX team|[[User:RafaelOrtiz|Rafael Ortiz]], [[User:Alfonsodg|Alfonsodg]]|[[User:Xavi|Xavier Alvarez]]}} |
{{OBX team|[[User:RafaelOrtiz|Rafael Ortiz]], [[User:Alfonsodg|Alfonsodg]]|[[User:Xavi|Xavier Alvarez]]}} |
||
Line 10: | Line 11: | ||
Some ways to find the translate server: |
Some ways to find the translate server: |
||
* '''[http:// |
* '''[http://translate.sugarlabs.org http://translate.sugarlabs.org]''' |
||
* '''[http://solar.laptop.org:5080 solar.laptop.org, port 5080]''' (old pootle server) |
|||
These are the notes taken and rough sketches for the processes involved in the [[localization]] effort in order to use [http://translate.sourceforge.net/wiki/pootle/index '''Pootle'''] as a more liberal L10n platform. |
These are the notes taken and rough sketches for the processes involved in the [[localization]] effort in order to use [http://translate.sourceforge.net/wiki/pootle/index '''Pootle'''] as a more liberal L10n platform. |
||
Line 21: | Line 21: | ||
* allow registered and trusted users to review and make translations, and |
* allow registered and trusted users to review and make translations, and |
||
* administrators to commit. |
* administrators to commit. |
||
==How to Translate for OLPC XO and Sugar using Pootle== |
|||
* See slides at http://opensource.sfsu.edu/node/452 |
|||
== i18n & L10n == |
== i18n & L10n == |
||
Line 40: | Line 43: | ||
Developers willing to read a bit more about i18n & L10n, should review the links above. Regardless of how much or how good the i18n effort is, [[Pootle]]'s needs one (or more) '''<tt>.POT</tt>''' files. Developers should be aware that '''localization is NOT just about instrumenting strings''', as it includes [http://translate.sourceforge.net/wiki/plurals_programmers plurals], numbers, dates, currencies, text-flow, scripts, fonts... and that it needs to be tested (ie: [http://en.wikipedia.org/wiki/Pseudolocalization pseudolocalization testing]) that needs to be considered in the overall development cycle. Also, if you want your activity to be properly localized, think about [http://translate.sourceforge.net/wiki/translation_comments commenting your strings]. |
Developers willing to read a bit more about i18n & L10n, should review the links above. Regardless of how much or how good the i18n effort is, [[Pootle]]'s needs one (or more) '''<tt>.POT</tt>''' files. Developers should be aware that '''localization is NOT just about instrumenting strings''', as it includes [http://translate.sourceforge.net/wiki/plurals_programmers plurals], numbers, dates, currencies, text-flow, scripts, fonts... and that it needs to be tested (ie: [http://en.wikipedia.org/wiki/Pseudolocalization pseudolocalization testing]) that needs to be considered in the overall development cycle. Also, if you want your activity to be properly localized, think about [http://translate.sourceforge.net/wiki/guide/translation_comments commenting your strings]. |
||
=== Translators === |
=== Translators === |
||
: ''see [http://translate.sourceforge.net/wiki/guide/start L10n guide], [http://translate.sourceforge.net/wiki/guide/start#translation translation guide], {{pending|more links to come...}}'' |
: ''see '''[http://dev.laptop.org/~sayamindu/pootleforxo2.pdf Translating for the OLPC project using Pootle]''', '''[http://www.bengalinux.org/devel_guide/ch03.html The Translator's Guide]''', [http://translate.sourceforge.net/wiki/guide/start L10n guide], [http://translate.sourceforge.net/wiki/guide/start#translation translation guide], {{pending|more links to come...}}'' |
||
Being able to understand or grasp the intended meaning of some text in a language does not make you a translator, but [http://en.wikipedia.org/wiki/Erasmus "In the land of the blind, the one-eyed man is king."] and all collaborations are welcome, although we also recommend reading some guidelines and documentation that may at least help you avoid some of the basic or typical errors and pitfalls. |
Being able to understand or grasp the intended meaning of some text in a language does not make you a translator, but [http://en.wikipedia.org/wiki/Erasmus "In the land of the blind, the one-eyed man is king."] and all collaborations are welcome, although we also recommend reading some guidelines and documentation that may at least help you avoid some of the basic or typical errors and pitfalls. |
||
Line 90: | Line 93: | ||
=== Register as a translator === |
=== Register as a translator === |
||
# Head towards the [ |
# Head towards the [http://dev.laptop.org/translate/ pootle site] |
||
# |
# Follow the [https://dev.laptop.org/translate/register.html register] link where you fill in the following fields: <tt>Username, Password, Confirm password, Full Name & Email Address</tt>; click on the <tt>[Register Account]</tt> button that will send a confirmation message to the email address with an activation code. |
||
# Following the link in the email will activate the newly created account |
# Following the link in the email will activate the newly created account after which you will be asked to log in. |
||
=== User options === |
=== User options === |
||
Line 200: | Line 203: | ||
|- |
|- |
||
! Role !! Name !! Comments |
! Role !! Name !! Comments |
||
|- |
|||
! style="background:lightgray; " colspan=3 | [af] — [[Afrikaans language]] — {{langname-af}} |
|||
|- |
|||
| ''OTRA'' || [[User:Morgs|Morgan Collett]] || Pootle: |
|||
|- |
|- |
||
! style="background:lightgray; " colspan=3 | [am] — [[Amharic language]] — {{langname-am}} |
! style="background:lightgray; " colspan=3 | [am] — [[Amharic language]] — {{langname-am}} |
||
|- |
|||
| ''OTRA'' || Yosef Abate || Pootle: |
|||
|- |
|- |
||
| ''OTR'' || [[User:Teferra |tegegne tefera]] || Pootle: Teferra |
| ''OTR'' || [[User:Teferra |tegegne tefera]] || Pootle: Teferra |
||
|- |
|||
| ''OT'' || Mariamawit Getachew || Pootle: mari |
|||
|- |
|||
| ''OT'' || Frehiwot Tenagne || Pootle: fre |
|||
|- |
|- |
||
Line 224: | Line 238: | ||
|- |
|- |
||
! style="background:lightgray; " colspan=3 | [bn] |
! style="background:lightgray; " colspan=3 | [bn] — [[Bengali language]] — {{langname-bn}} |
||
|- |
|- |
||
| ''OTRA'' || [[User:Jamil|Jamil Ahmed]] || Pootle: jamil |
| ''OTRA'' || [[User:Jamil|Jamil Ahmed]] || Pootle: jamil |
||
Line 231: | Line 245: | ||
|- |
|- |
||
| ''OTR'' || [[User:Mak|Mahay Alam Khan]] || Pootle: mak |
| ''OTR'' || [[User:Mak|Mahay Alam Khan]] || Pootle: mak |
||
|- |
|||
! style="background:lightgray; " colspan=3 | [bn-IN] — [[Bengali language]] — {{langname-bn-IN}} |
|||
|- |
|||
| ''OTRA'' || Indranil Das Gupta || Pootle: |
|||
|- |
|||
| ''OTRA'' || Sankarshan Mukhopadhyay || Pootle: |
|||
|- |
|- |
||
! style="background:lightgray; " colspan=3 | [ca] — [[Catalan language]] — {{langname-ca}} |
! style="background:lightgray; " colspan=3 | [ca] — [[Catalan language]] — {{langname-ca}} |
||
|- |
|- |
||
| '' |
| ''OTRA'' || [[User:Jaume|Jaume Nualart]] || Pootle: jaume |
||
|- |
|||
| ''OTRA'' || [[User:Victor|Victor Guillamon]] || Pootle: |
|||
|- |
|||
| ''OTRA'' || [[User:Tomeu|Tomeu Vizoso]] || Pootle: tomeu |
|||
|- |
|- |
||
Line 250: | Line 275: | ||
|- |
|- |
||
| ''OTRA'' || [[User:Mschlager|Markus Schlager]] || Pootle: mschlager |
| ''OTRA'' || [[User:Mschlager|Markus Schlager]] || Pootle: mschlager |
||
|- |
|||
| ''OTRA'' || Gerhard Steiner|| Pootle: |
|||
|- |
|- |
||
! style="background:lightgray; " colspan=3 | [dz] — [[Dzongkha]] — {{langname-dz}} |
! style="background:lightgray; " colspan=3 | [dz] — [[Dzongkha]] — {{langname-dz}} |
||
|- |
|- |
||
| '' |
| ''OTRA'' || Tenzin Dendup || Pootle: |
||
|- |
|||
| ''OTRA'' || Uden Sherpa || Pootle: |
|||
|- |
|- |
||
Line 260: | Line 289: | ||
|- |
|- |
||
| ''TRA'' || [[User:Simosx|Simos Xenitellis]] || Pootle: simosx |
| ''TRA'' || [[User:Simosx|Simos Xenitellis]] || Pootle: simosx |
||
|- |
|||
| ''TRA'' || Kostas Papadimas || Pootle: |
|||
|- |
|||
| ''TRA'' || John Sarlis || Pootle: |
|||
|- |
|- |
||
Line 278: | Line 311: | ||
|- |
|- |
||
| ''OTR'' || [[User:PilarSaenz|Pilar Saenz]] || Pootle: PilarSaenz |
| ''OTR'' || [[User:PilarSaenz|Pilar Saenz]] || Pootle: PilarSaenz |
||
|- |
|||
| ''OTRA'' || [[User:ChemaQ|Jameson Chema Quinn]] || Pootle: |
|||
|- |
|||
| ''OA'' || [[User:Sayamindu|Sayamindu Dasgupta]] || Pootle: |
|||
|- |
|- |
||
! style="background:lightgray; " colspan=3 | [fa] — [[Persian]] — {{langname-fa}} |
! style="background:lightgray; " colspan=3 | [fa] — [[Persian]] — {{langname-fa}} |
||
|- |
|- |
||
| '' |
| ''A'' || Behnam B. Marandi || Pootle: |
||
|- |
|- |
||
Line 297: | Line 334: | ||
! style="background:lightgray; " colspan=3 | [ff] — [[Fula language]] — {{langname-ff}} |
! style="background:lightgray; " colspan=3 | [ff] — [[Fula language]] — {{langname-ff}} |
||
|- |
|- |
||
| '' |
| ''OTRA'' || Ibrahima Sarr] || Pootle: |
||
|- |
|- |
||
Line 304: | Line 341: | ||
| ''OTRA'' || [[User:Samybt|Samy Boutayeb]]|| Pootle: samybt |
| ''OTRA'' || [[User:Samybt|Samy Boutayeb]]|| Pootle: samybt |
||
|- |
|- |
||
| '' |
| ''TR'' || [[User:Domeav|Dominique Eav]] || Pootle: domeav |
||
|- |
|- |
||
| ''OTR'' || [[User:Genepi|Pierre Métras]] || Pootle: pierre |
| ''OTR'' || [[User:Genepi|Pierre Métras]] || Pootle: pierre |
||
Line 314: | Line 351: | ||
| ''OT'' || [[User:Yamaplos|Yamandú Ploskonka]] || Pootle: yamaplos |
| ''OT'' || [[User:Yamaplos|Yamandú Ploskonka]] || Pootle: yamaplos |
||
|- |
|- |
||
| '' |
| ''OTRA'' || [[User:bzg|Bastien Guerry]] || Pootle: bzg |
||
|- |
|||
| ''A'' || Jean-Christophe Helary || Pootle: |
|||
|- |
|- |
||
Line 324: | Line 363: | ||
! style="background:lightgray; " colspan=3 | [gu] — [[Gujarati language]] — {{langname-gu}} |
! style="background:lightgray; " colspan=3 | [gu] — [[Gujarati language]] — {{langname-gu}} |
||
|- |
|- |
||
| '' |
| ''OTRA'' || Kartik Mistry || Pootle: |
||
|- |
|- |
||
Line 334: | Line 373: | ||
! style="background:lightgray; " colspan=3 | [hi] — [[Hindi language]] — {{langname-hi}} |
! style="background:lightgray; " colspan=3 | [hi] — [[Hindi language]] — {{langname-hi}} |
||
|- |
|- |
||
| '' '' || [[User: |
| ''OTRA '' || [[User:satyag|''Satyaakam Goswami'']] || Pootle:satyaakam |
||
|- |
|||
| ''OTRA '' || [[User:Shirish Goyal|''Shirish Goyal'']] || Pootle:shirish |
|||
|- |
|- |
||
Line 341: | Line 382: | ||
| ''TA'' || [[User:Mokurai|Edward MokuraiCherlin]] || Pootle: mokurai |
| ''TA'' || [[User:Mokurai|Edward MokuraiCherlin]] || Pootle: mokurai |
||
|- |
|- |
||
| '' |
| ''TA'' || [[User:bzg|Bastien Guerry]] || Pootle: bzg |
||
|- |
|||
| ''TRA'' || [[User:Jude|Jude Augusma]] || Pootle: jude |
|||
|- |
|- |
||
| ''O'' || [[User:Dupuy|Alexander Dupuy]] || Pootle: Dupuy |
| ''O'' || [[User:Dupuy|Alexander Dupuy]] || Pootle: Dupuy |
||
|- |
|- |
||
| ''TRA'' || [[User:masterches|MasterChes]] || Pootle: Masterches |
| ''TRA'' || [[User:masterches|MasterChes]] || Pootle: Masterches |
||
|- |
|||
| ''TRA'' || lacrete || Pootle: lacrete |
|||
|- |
|- |
||
Line 371: | Line 416: | ||
|- |
|- |
||
|- |
|||
| ''OTRA'' || [[User:julie|Julieanne R.]] || Pootle: |
|||
|- |
|||
! style="background:lightgray; " colspan=3 | [ja] — [[Japanese language]] — {{langname-ja}} |
! style="background:lightgray; " colspan=3 | [ja] — [[Japanese language]] — {{langname-ja}} |
||
|- |
|- |
||
Line 377: | Line 425: | ||
| ''OTR'' || [[User:Taizo1969|Taizo Shiozaki]] || Pootle: Taizo1969 |
| ''OTR'' || [[User:Taizo1969|Taizo Shiozaki]] || Pootle: Taizo1969 |
||
|- |
|- |
||
| '' |
| ''OTRA'' || [[User:Korakurider|Korakurider]] || Pootle: Korakurider |
||
|- |
|- |
||
| '' |
| ''OTR'' || [[User:Takashi|Takashi Yamamiya]] || Pootle: Takashi |
||
|- |
|- |
||
| ''OTR'' || [[User:Kiryu|KIRYU Yasuo]] || Pootle: Kiryu |
| ''OTR'' || [[User:Kiryu|KIRYU Yasuo]] || Pootle: Kiryu |
||
Line 396: | Line 444: | ||
|- |
|- |
||
| ''O'' || [[User:Cymacyma|Cymacyma]] || Pootle: |
| ''O'' || [[User:Cymacyma|Cymacyma]] || Pootle: |
||
|- |
|||
| ''OTR'' || [[User:janggoon|YunJae Jang]] || Pootle: janggoon |
|||
|- |
|||
| ''OTRA'' || [[User:picxenk|SeungBum Kim]] || Pootle: picxenk |
|||
|- |
|||
| ''OTRA'' || [[User:donghee|Donghee Park]] || Pootle: donghee |
|||
|- |
|- |
||
Line 411: | Line 465: | ||
|- |
|- |
||
| ''OTRA'' || [[User:Enkhzul|Enkhzul Gombodorj]] || Pootle: Enkhzul |
| ''OTRA'' || [[User:Enkhzul|Enkhzul Gombodorj]] || Pootle: Enkhzul |
||
|- |
|||
| ''OTRA'' || Odontsetseg Bat-Erdene || Pootle: |
|||
|- |
|- |
||
| ''O'' || [[User:Canderson|Cris Anderson]] || Pootle: anderson861 |
| ''O'' || [[User:Canderson|Cris Anderson]] || Pootle: anderson861 |
||
Line 418: | Line 474: | ||
|- |
|- |
||
| ''OTRA'' || [[User:swapnil|Swapnil Hajare]] || Pootle: swapnil |
| ''OTRA'' || [[User:swapnil|Swapnil Hajare]] || Pootle: swapnil |
||
|- |
|||
| ''OTRA'' || [[User:Sayamindu|Sayamindu Dasgupta]] || Pootle: |
|||
|- |
|||
| ''OTRA'' || Sandeep Shedmake || Pootle: |
|||
|- |
|- |
||
Line 451: | Line 511: | ||
| ''OT'' || [[User:Bastiaan|Bastiaan Bakker]] || Pootle: bastiaan |
| ''OT'' || [[User:Bastiaan|Bastiaan Bakker]] || Pootle: bastiaan |
||
|- |
|- |
||
| '' |
| ''OTRA'' || [[User:Myckel|Myckel Habets]] || Pootle: Myckel |
||
|- |
|||
| ''OTRA'' || Jeroen ten Berge || Pootle: |
|||
|- |
|- |
||
! style="background:lightgray; " colspan=3 | [pa] — [[Punjabi language]] — {{langname-pa}} |
! style="background:lightgray; " colspan=3 | [pa] — [[Punjabi language]] — {{langname-pa}} |
||
|- |
|- |
||
| '' |
| ''OTRA'' || Jaswinder Singh Phulewala || Pootle: |
||
|- |
|||
| ''OTRA '' || [[User:Shirish Goyal|''Shirish Goyal'']] || Pootle:shirish |
|||
|- |
|- |
||
! style="background:lightgray; " colspan=3 | [pap] — [[Papiamento language]] — {{langname-pap}} |
! style="background:lightgray; " colspan=3 | [pap] — [[Papiamento language]] — {{langname-pap}} |
||
Line 488: | Line 552: | ||
! style="background:lightgray; " colspan=3 | [pt] — [[Portuguese language]] — {{langname-pt}} |
! style="background:lightgray; " colspan=3 | [pt] — [[Portuguese language]] — {{langname-pt}} |
||
|- |
|- |
||
| '' |
| ''OTA'' || [[User:HoboPrimate|Eduardo H. Silva]] || Pootle: HoboPrimate |
||
|- |
|||
| ''OTRA'' || Ivo Emanuel Gonçalves || Pootle: |
|||
|- |
|- |
||
! style="background:lightgray; " colspan=3 | [pt-BR] — [[Portuguese language]] — {{langname-pt-BR}} |
! style="background:lightgray; " colspan=3 | [pt-BR] — [[Portuguese language]] — {{langname-pt-BR}} |
||
|- |
|- |
||
| ''OTA'' || [[User: |
| ''OTA'' || [[User:Juliano|Juliano Bittencourt]] || Pootle: juliano |
||
|- |
|- |
||
| ''OT'' || [[User:HoboPrimate|Eduardo H. Silva]] || Pootle: HoboPrimate |
| ''OT'' || [[User:HoboPrimate|Eduardo H. Silva]] || Pootle: HoboPrimate |
||
Line 508: | Line 574: | ||
|- |
|- |
||
| ''AT'' || [https://launchpad.net/~adiroiban Adi Roiban] || Pootle: adiroiban1 |
| ''AT'' || [https://launchpad.net/~adiroiban Adi Roiban] || Pootle: adiroiban1 |
||
|- |
|||
| ''OTR'' || [[User:Maximilian|Maximilian Machedon]] || Pootle: |
|||
|- |
|- |
||
Line 514: | Line 582: | ||
| ''T'' || [[User:Aleksey|Aleksey Bragin]] || Pootle: fireball |
| ''T'' || [[User:Aleksey|Aleksey Bragin]] || Pootle: fireball |
||
|- |
|- |
||
| '' |
| ''TA'' || [[User:Maxim|Maxim Osipov]] || Pootle: Maxim |
||
|- |
|- |
||
| ''T'' || [[User:Nikita Bukhvostov|Nikita Bukhvostov]] || Pootle: ddjanic |
| ''T'' || [[User:Nikita Bukhvostov|Nikita Bukhvostov]] || Pootle: ddjanic |
||
Line 521: | Line 589: | ||
! style="background:lightgray; " colspan=3 | [rw] — [[Kinyarwanda language]] — {{langname-rw}} |
! style="background:lightgray; " colspan=3 | [rw] — [[Kinyarwanda language]] — {{langname-rw}} |
||
|- |
|- |
||
| '' |
| ''OA'' || [[User:Carine.umutesi|Carine Umutesi]] || Pootle: |
||
|- |
|||
| ''OA'' || [[User:Juliano|Juliano Bittencourt]] || Pootle: juliano |
|||
|- |
|- |
||
Line 531: | Line 601: | ||
! style="background:lightgray; " colspan=3 | [sd] — [[Sindhi language]] — {{langname-sd}} |
! style="background:lightgray; " colspan=3 | [sd] — [[Sindhi language]] — {{langname-sd}} |
||
|- |
|- |
||
| '' |
| ''OTRA'' || Naveed || Pootle: |
||
|- |
|- |
||
! style="background:lightgray; " colspan=3 | [si] — [[Sinhala language]] — {{langname-si}} |
! style="background:lightgray; " colspan=3 | [si] — [[Sinhala language]] — {{langname-si}} |
||
|- |
|- |
||
| '' |
| ''OTRA'' || Ishan Liyanage || Pootle: |
||
|- |
|||
| ''OTRA'' || Hevafonsekage Joseph Priyanga Fonseka || Pootle: |
|||
|- |
|||
! style="background:lightgray; " colspan=3 | [sk] — [[Slovak language]] — {{langname-sk}} |
|||
|- |
|||
| ''TR'' || ??? || Pootle: ? |
|||
|- |
|- |
||
! style="background:lightgray; " colspan=3 | [sl] — [[Slovenian language]] — {{langname-sl}} |
! style="background:lightgray; " colspan=3 | [sl] — [[Slovenian language]] — {{langname-sl}} |
||
|- |
|- |
||
| '' |
| ''OTRA'' || Denis Oštir || Pootle: |
||
|- |
|- |
||
Line 551: | Line 628: | ||
! style="background:lightgray; " colspan=3 | [sv] — [[Swedish language]] — {{langname-sv}} |
! style="background:lightgray; " colspan=3 | [sv] — [[Swedish language]] — {{langname-sv}} |
||
|- |
|- |
||
| '' |
| ''OTRA'' || Mattias Ohlsson || Pootle: Sprak |
||
|- |
|- |
||
Line 575: | Line 652: | ||
| ''OTR'' || [[User:tomhannen|Tom Hannen]] || Pootle: tomhannen |
| ''OTR'' || [[User:tomhannen|Tom Hannen]] || Pootle: tomhannen |
||
|- |
|- |
||
| ''OTRA'' || Abdullah Kocabas || Pootle: |
|||
|- |
|||
| ''OTRA'' || Alp Simsek || Pootle: |
|||
|- |
|||
| ''OTRA'' || Petek Saracoglu || Pootle: |
|||
|- |
|||
| ''OTRA'' || Yasimin Gokce || Pootle: |
|||
|- |
|||
| ''OTRA'' || Serkan Cabi || Pootle: |
|||
|- |
|||
! style="background:lightgray; " colspan=3 | [ur] — [[Urdu|Urdu language]] — {{langname-ur}} |
! style="background:lightgray; " colspan=3 | [ur] — [[Urdu|Urdu language]] — {{langname-ur}} |
||
|- |
|- |
||
| ''OT'' || [[User:FarhanKhan|Farhan Khan]] || Pootle: |
| ''OT'' || [[User:FarhanKhan|Farhan Khan]] || Pootle: |
||
|- |
|- |
||
| ''OTRA'' || [[User:HudaSarfraz|Huda Sarfraz]] || Pootle: Huda |
| ''OTRA'' || [[User:HudaSarfraz|Huda Sarfraz]] || Pootle: Huda |
||
|- |
|||
| ''OTRA'' || [[User:Sulmanminhas|Salman Minhas]] || Pootle: |
|||
|- |
|- |
||
! style="background:lightgray; " colspan=3 | [vi] — [[Vietnamese language]] — {{langname-vi}} |
! style="background:lightgray; " colspan=3 | [vi] — [[Vietnamese language]] — {{langname-vi}} |
||
|- |
|- |
||
| '' |
| ''OTRA'' || Clytie Siddall || Pootle: |
||
|- |
|- |
||
Line 601: | Line 691: | ||
| TA || [[User:YChao|Yuan Chao]] || Pootle: YuanChao |
| TA || [[User:YChao|Yuan Chao]] || Pootle: YuanChao |
||
|- |
|- |
||
| |
| || [] || |
||
|} |
|} |
Latest revision as of 08:31, 13 January 2013
All data and user accounts should work in the new Pootle installation. |
|
- UPDATE
- The test has gone forward and we are in the process of establishing the workflow to make it the Localization (L10N) platform of the XO.
- WANTED
- Volunteers both for translating and coordinating. If interested sign-up as a volunteer!
Some ways to find the translate server:
These are the notes taken and rough sketches for the processes involved in the localization effort in order to use Pootle as a more liberal L10n platform.
There are several scenarios that depend on the roles and their associated responsibilities (ie: translators, coders, administrators, etc). Below we outline the two most important ones from the POV of the translators that we could classify as either the opportunistic translator (fixing a typo or translating a few missing strings) and a registered translator (that is somehow more committed with the whole l10n reality).
If we consider that in the ultimate case children will be dealing with code (thus with gettext), we want things and processes to be as simple and straight forward as possible, so that in the end anybody, including children, will be able to translate or at least localize content to some degree. With this in mind, we aim for an environment that will:
- allow anybody to make suggestions,
- allow registered and trusted users to review and make translations, and
- administrators to commit.
How to Translate for OLPC XO and Sugar using Pootle
- See slides at http://opensource.sfsu.edu/node/452
i18n & L10n
Most people will argue that localization (L10n / l10n) concerns and issues should be tackled way before coding is finished, and quite a few will categorically say that it will be too late by then. Avoiding the philosophical and formal aspects, and taking a more pragmatic approach, L10n is usually an afterthought and internationalization (i18n) an annoying prerequisite... that has to be done.
In the context of the OLPC XO software and activities, and for practical purposes will avoid the debate on exactly where does L10n meets the code and start from the point where the output of i18n is used as the input for the l10n process. In other words, we'll elaborate based on the simplistic model that goes along the line:
- programmer uses gettext function calls around human readable language in the source code
- generate POT (gettext Portable Object Template) from the source code (output of the i18n process)
- generate PO (gettext Portable Object) based on POT
- translate / populate the PO with locale specific content
- generate the final PO (or MO) (gettext Machine Object, output of the l10n process)
- the executable code uses the PO (or MO) to comunicate with the final user
Developers
the Translate project's guide, KDE i18n guide, GNU gettext manual and other sources
Developers willing to read a bit more about i18n & L10n, should review the links above. Regardless of how much or how good the i18n effort is, Pootle's needs one (or more) .POT files. Developers should be aware that localization is NOT just about instrumenting strings, as it includes plurals, numbers, dates, currencies, text-flow, scripts, fonts... and that it needs to be tested (ie: pseudolocalization testing) that needs to be considered in the overall development cycle. Also, if you want your activity to be properly localized, think about commenting your strings.
Translators
- see Translating for the OLPC project using Pootle, The Translator's Guide, L10n guide, translation guide, more links to come...
Being able to understand or grasp the intended meaning of some text in a language does not make you a translator, but "In the land of the blind, the one-eyed man is king." and all collaborations are welcome, although we also recommend reading some guidelines and documentation that may at least help you avoid some of the basic or typical errors and pitfalls.
Basic Scenarios
The basic idea is to allow the participation of anybody willing to put some effort while trying to keep a given quality of the translations.
- You can download the PO, so there's no forcing of the on-line UI (although you need the upload right to inject it back. So before going the offline road please coordinate with the admins.
- In the translation interface, fuzzy entries are grayed out and there's a gray vertical line separating the terms
Opportunistic translator
This user just wants to help. She/he doesn't want to get tangled in the administrative tasks. The only possible collaboration available is to suggest translations (which will be reviewed by users who have been granted the Review permission in a particular language).
After navigating to the olpc pootle server project: olpc language: spanish to finally reach a file (ie: TamTamSynthLab)
The interface will display a series of PO entries (one will have the focus—if it doesn't, you can double click the entry, or hovering over one will make an 'Edit' link appear that enables it—showing an entry field, and the following controls:
a picture is worth 1000 words
- Back & Skip buttons — jump to the previous or next entry
- Copy button — copies the original (msgid) value and continues in edit mode
- Suggest button — the actual collaboration of suggesting a translation
- Fuzzy checkbox — denotes that the suggested translation is/is not 100% trustworthy
- Special characters specific to the language (see #Languages)
- grow / shrink — allows growing and shrinking of the entry field (see #User options
- Translator comments field — comments either extracted from the source code, or added by other translators
The opportunistic translator then proceeds to navigate the file/s entering suggestions (to be processed later by the reviewers).
- Admin notes
- The Suggest permission must be granted on a per-language-project basis.
- Each language may have specific or special characters that are may not be available in the user's keyboard, but can be provided for in the #Language specification.
Registered translator
Except for the mandatory pre-condition to register, which enables the extra [Submit] button when translating, the overall process is quite similar to that of the #Opportunistic translator. On the other hand, several user-specific permissions may apply (ie: off-line translation) and the GUI will adapt and offer them. Also, as a registered translator, you may be assigned specific files or strings to translate and/or review, allowing to better coordinate the overall effort.
- Admin notes
- In a collaborative and low-entry-barrier process, the administrator/s should enable the default user to actually translate — Navigation: admin | projects | project_name | language | permissions +Translate.
- The default #user permissions apply to any registered user (unless they are overridden in a case-by-case approach). In the out-of-the-box install they include: View, Suggest, Archive & Compile PO files
User Scenarios
Register as a translator
- Head towards the pootle site
- Follow the register link where you fill in the following fields: Username, Password, Confirm password, Full Name & Email Address; click on the [Register Account] button that will send a confirmation message to the email address with an activation code.
- Following the link in the email will activate the newly created account after which you will be asked to log in.
User options
In your user page there's a link to Change options that will allow you define some things:
- Projects you wish to participate (for the moment only olpc should be considered a valid option)
- Languages you wish to collaborate in. If you don't find your language, as an administrator you can associate it to the project (see #Languages) or as a mere mortal, you should contact an administrator.
- Other options like personal data & translation UI are present.
After configuring, don't forget to hit the [Save changes] button to make them effective, after which you can return to your #user page by means of the Home Page link.
User page
- aka: 'Home', or 'My account' page.
You can reach your user page following the Home or My account link (depending on where you are) and it will show the appropriate links to the selected projects grouped by languages:
- The language link takes you to the statistics page per project
- the project-in-a-language link takes you the the statistics page displaying all its files
Advanced User Scenarios
Reviewer
A user who has been granted the Review permission, may accept or reject the suggestions made by users (who must have the Suggest permission). The way to do this is there another? is to go to a language/project combination (ie: spanish-olpc) and follow the Show Editing Functions. Here you have two alternatives: review the whole set of suggestions in the language-project set, or work on the suggestions present in a specific file (ie: all suggestions or TamTamSynthLab suggestions).
Once in the review UI, the reviewer has four options: Accept, Reject, Back or Skip which are self evident, but nevertheless will mention:
Accept | the reviewer translator accepts the suggestion and is registered |
---|---|
Reject | the suggested translation is rejected does that mean erased for the user or the file? |
Back | goes to the previous suggestion assume a previous non-accepted/rejected suggestion |
Skip | goes to the next available suggestion |
In the case where multiple suggestions have been made, each one has its Accept & Reject buttons, while only the last will have the Back & Skip buttons.
Regardless of the multiplicity of suggestions, each suggested string will be diffed with the current string highlighting the changes. It also displays (if available) the name of the user that made the suggestion.
Editing functions
This section of the UI displays on a per-file basis several functionalities that depend on the permissions of the user:
Translate All | Goes to each string individually no matter what their state, across all files |
---|---|
Quick Translate | Only go to strings that are fuzzy or untranslated, across all files |
Translate My Strings | As Translate All but only go to strings that are assigned to you. |
Quick Translate My Strings | As with Quick Translate but only go to fuzzy and untranslated strings that are assigned to you. |
PO file | used for off-line translators in order to retrieve the whole .PO file. |
XLIFF file | used for off-line translators and interfaces to retrieve the whole file in said format. explore |
Qt .ts file | explore |
CSV file | explore |
Show checks
- For more information on the quality checks, see the documentation.
This functionality is a real helper (at least for latin scripts) as it runs a series of checks on the translations. So Pootle besides the obvious verification of translated+fuzzy+untranslated check, it verifies:
- simplecaps — for extra capital letters
- startcaps — initial capital letter matches between source & translation
- startpunc — if the original doesn't start with a letter, the translation probably shouldn't either
- unchanged — the source & translation are the same
- others — for a total of 44 checks. The most important being the critical tests: accelerators, escapes, newlines, nplurals, printf, tabs, variables and xmltags
Obviously, these checks, as any automated language process, are to be taken as a guidance and not as a rule. The check behaviour can be adjusted for a language, e.g. simplecaps could be disabled for a language that does not have a concept of capitals, doublequoting can be made aware of quote characters used in a language. These are changed by providing a lang module e.g. Japanese and French.
Zip of folder
Actually, any 'grouping' of PO files may be downloaded as a ZIP file if the user has the archive right. In other words, you can download the files in a language, goal, file, etc. It may be possible that Pootle extracts and recombines from several files in order to provide the zip with say 'My Strings' for offline work.
Administration
User permissions
See Pootle/Administration#User permissions
Sign-up
If interested in the Localization effort, please sign up below. Although we are focusing on Amharic, Arabic, English, Spanish, French, Hausa, Hindi, Igbo, Nepali, Portuguese, Romanian, Russian, Kinyarwanda, Thai, Urdu, & Yoruba and Give One Get One languages, any other language is welcome. If you are not subscribed to localization@lists.laptop.org we strongly suggest you do so.
The more current list, generated every week from the Pootle server.
|
|
See also
- Pootle User Guides — af, cs, de, en, es, eu, fa, fr.
- Administrator guide
- Site administrator guide
- http://wiki.creativecommons.org/Translating_with_Pootle
- http://www.ohloh.net/projects/3285?p=Pootle+and+Translate+Toolkit
- wikipedia:Pootle
- http://www.wordforge.org/drupal/en/projects/wordforge/tools/localegen — locale generator for OO (may give some ideas about what is not fixed)