Changes

Jump to navigation Jump to search
8,360 bytes added ,  22:41, 6 June 2016
Obsolete
Line 1: Line 1:  +
{{Obsolete}}
 +
[[ Translation Manager ]]
 +
 +
 +
==Translation Proposal==
 +
 +
 +
'''A goal of Sugar Labs is to enable our users to experience Sugar in their own native language.'''
 +
 +
 +
 +
 +
[Note: The current mission statements focus on languages (localize to as many languages as possible with high quality). The above statement is intended to focus on users not languages. I believe our goal should be to enable our users to experience Sugar in their native language.]
 +
 +
 +
This goal requires two steps - internationalization (I18n) and localization (l10n). The first step (I18n) is to provide tools and documentation to facilitate the second step (L10n).
 +
 +
 +
In general, I18n is the responsibility of the Sugar development team. Localization, l10n, requires effort by volunteers who know the native language as well as English (the language of the POT master files).  Translation into mother tongues by bilingual non-English speakers (e.g. Spanish-Aymara) is also supported by keeping Spanish PO files translated at high levels of completion.
 +
 +
 +
 +
Sugar is distributed in a release (e.g. Sugar 0.108 is released in 13.2.7) with the  master files updated for new and changed strings. These master files are available from http://translate.sugarlabs.org". Specifically, the files for the current releases of Sugar are identified as projects: sugar and sugar-toolkit-gtk3.
 +
 +
In addition, this site tracks localization of Sugar activities which support Pootle localization. There are currently seven activities which are integral to Sugar (not-erasable):  Browse (Web), Image Viewer, Log, Read, Record, Terminal, and Write (excluding Journal which is localized in Sugar).  These seven activities enable Pootle localization (are projects on tranlate.sugarlabs.org).
 +
 +
 +
===Localization Delegate===
 +
 +
 +
SugarLabs needs a Localization delegate. This is a role which Chris Leonard has filled from 2008-2013.
 +
 +
=====L10n leadership tasks:=====
 +
 +
Monitoring new activity development and advocating for i18n of code<br>
 +
(gettext formatting for Python activities, other similar methods for JavaScript work).
 +
 +
Setting up new languages for availability in Pootle.
 +
 +
Act as Sugar Labs i18n coordinator for oversight of performance on contracts to develop L10n projects approved by SLOBs.
 +
 +
Reaching upstream to create the glibc locales for new languages required for them to be selectable languages in Linux-based systems.
 +
 +
Requesting github permissions for the pootle git-hub user (to enable pull of new templates, push of completed translations).
 +
 +
Monitoring Pootle for currency of templates, update of templates on existing languages, commit new translations.  These tasks are the responsibility of individual language team leaders, but in practice need an overseer on behalf of all languages.
 +
 +
Arranging 'L10n' days at deployments where teachers have students improve strings in the relevant .po or supply missing strings. The outcome of an 'L10n' day should be an updated localization for that native language.
 +
 +
Arrange for participating deployments to be publicly recognized for their contribution.
 +
 +
Suggestions by Sebastian:
 +
 +
* Prepare glibc locales / other similar for Web stack *
 +
* Maintain pootle servers and databases *
 +
* Review / update translations and repositories *
 +
* Keep git automation scripts *
 +
* Add new projects / languages *
 +
* Document processes
 +
* Respond to queries from language teams
 +
* Coordinate upstreaming of local work
 +
 +
Where * marks items requiring more technical knowledge or research
 +
 +
 +
Recover L10n work done in the following languages that was lost in Pootle migration:
 +
 +
 +
* Crioulo-PT
 +
* Dari
 +
* Kinyarwanda
 +
* Marovo
 +
* Nauruan
 +
* Sindhi
 +
* Tuvaluan
 +
* Urdu
 +
 +
 +
Recover L10n and repo connections to numerous missing activities
 +
 +
===ToDo:===
 +
 +
Discussion in the committee shows that our I18n infrastructure is in need of urgent maintenance.
 +
ASLO no longer provides links to the git version. Many activities were repaired by the GCI participants. These need to be reviewed to make sure that the translation files are available and current.  Chris Leonard has provided a list of 'missing activities', i.e. activities which had localization files but which were misplaced in a pootle migration. Etoys has not been updated since 2009 and the localization files are no longer available in Pootle, but we do have backups. The translate.sugarlabs.org which is the repository for the localization files is missing some files.
 +
 +
Provide a documented process for a local deployment to localize Sugar and some activities to a local language. The goal of the deployment is to make Sugar (and use of the XO more accessible).
 +
 +
* Chris Leonard has suggested that we base localization by a deployment on virtaal (a component of Pootle). He has installed and run this tool on an XO in the gnome desktop.
 +
 +
* As Caryl has pointed out, we also need to document this process so that it can be accomplished at a school as a classroom activity. This involves training teachers and providing tutorials for students.
 +
 +
Identify Sugar activities in ASLO which do not support localization (are not projects in translate.sugarlabs.org). Arrange for them to use gettext. Create master files (localize) to English.
 +
 +
* Priority to Spanish language activities
 +
* Other important or popular Sugar activities
 +
 +
 +
 +
Make L10n activity more visible.
 +
 +
Adam Holt has suggested some regular blogging or microblogging to highlight achievements by the L10n community.  There are some potentially low-cost ways to achieve this by making Pootle a little "noisier" (in the ggod sense). By way of example, we used to havea mailing list that monitored every commit made by the old Pootle instance  http://lists.sugarlabs.org/archive/pootle-commits/ 
 +
 +
The new Pootle has a number of RSS feeds that could be channeled to a more visible format echoing more loudly the action happening on Poolte.
 +
 +
 +
Sugar development could review Sugar (Python) activities to see if they support Pootle and attempt, eg. through GSOC, to get activities upgraded to implement Pootle and to include a base set of English Pootle files.
 +
 +
Define a standard I18n method for Sugarizer and sugar-web-activities. Chris Leonard recommends using the procedure adopted for turtleblocks.js. We need corresponding documentation of this process to enable it to be used immediately by GSOC participants who implement or port activities as sugar-web-activities.
 +
 +
Determine whether a common process can be used to localize sugar-web-activities and Sugarizer and its activities. (e.g. by using polyglot.js)
 +
 +
Provide a tool to to test python source code for compliance with the needs of Pootle
 +
 +
* All strings not in comments are referenced by gettext
 +
* All strings match a msgstr in the corresponding en.po file
 +
 +
This may not be feasible since some strings ought not to be localized (e.g. the gsettings schema).
 +
 +
Provide a tool to verify that the available localizations are included in a release.
 +
 +
Develop a glossary of terms needed to refer to the XO, Sugar, and actions to be taken by users (e.g. close the XO, switch to the Group View).
 +
 +
The range.py (needing refinement) can be used to look at the strings in a po file to be localized to ensure that they do not use conflicting words or a more technical vocabulary that necessary. Every extra string in the master file may result in 50-100 translations.
 +
 +
Prepare a GSOC task to develop an I18n strategy and supporting tools for JavaScript activities. The following can be a good starting point:
 +
 +
"http://www.localeplanet.com/"
 +
 +
"https://blog.mozilla.org/webdev/2011/10/06/i18njs-internationalize-your-javascript-with-a-little-help-from-json-and-the-server/"
 +
 +
"http://airbnb.io/polyglot.js/"
 +
 +
Sugarizer has three translation files, including this master file:
 +
 +
"https://github.com/llaske/sugarizer/blob/master/locale.ini"
 +
 +
Document and improve all processes to be 'run-over-by-bus-safe'
 +
 +
==Original Draft==
 +
 
SugarLabs needs a Localization delegate. The purpose of this proposal is to document the current Internationalization/Localization process and to define the role of the Localization delegate in that process. Some proposals for expansion/modification of the process are included.
 
SugarLabs needs a Localization delegate. The purpose of this proposal is to document the current Internationalization/Localization process and to define the role of the Localization delegate in that process. Some proposals for expansion/modification of the process are included.
   Line 146: Line 286:  
(local bootstrapping), in reality we need the L10n to happen on our
 
(local bootstrapping), in reality we need the L10n to happen on our
 
centralized Pootle server to get them back out. - cjl
 
centralized Pootle server to get them back out. - cjl
 +
</blockquote>
 +
 +
<blockquote>
 +
Actually I think we would have all the pieces required for a local bootstrapping scenario. There are friendly local .po editors, or it could even be done with a spreadsheet. The issue here is it requires greater preparation from logistics/technical people, and extra work afterwards from coordinators as strings need to be guaranteed to reach Pootle in the end (this is the hard bit). [[User:Sebastian|Sebastian]] ([[User talk:Sebastian|talk]]) 02:58, 25 February 2016 (EST)
 
</blockquote>
 
</blockquote>
  

Navigation menu