Changes

5,577 bytes added ,  02:14, 25 February 2016
no edit summary
Line 1: Line 1:  +
 +
 +
 +
 +
==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). Sugar has adopted Pootle as the primary tool for I18n. However, there are two important elements which
 +
do not lend themselves to this approach.
 +
* First are the FLOSS manuals (documentation) and its Sugar activity embodiment, Help Activity.
 +
* Second, the Sugar-web-activities (based on html5 and javascript).
 +
 +
 +
In general, I18n is the reponsibility 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).
 +
 +
 +
 +
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, 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).
 +
 +
Setting up new languages for availability in Pootle.
 +
 +
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 publically recognized for their contribution.
 +
 +
===ToDo:===
 +
 +
 +
The technical means for localization at the local level do not exist.
 +
 +
    * It must be possible to touch and change PO files on local machines in Sugar.
 +
    * It must be possible to capture that local work back at the central
 +
      Pootle server for the benefit of others.
 +
 +
 +
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
 +
 +
 +
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.
 +
 +
Provide the I18n infrastructure to support localization of Sugarizer and sugar-web-activities.
 +
 +
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
 +
 +
Provide a tool to verify that the .po file for all 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).
 +
 +
Develop a tool to parse the strings in the master files to identify the vocabulary used.
 +
(see http://www.lextutor.ca/research/nation_waring_97.html" - interesting but not directly relevant
 +
 +
Paul Nation developed a simple program 'range' which scans a text and identifies words by a presence
 +
in one or more included word lists. For example, one of the 1000 most frequently used words would be printed in the default font/color. A word not on this list would be printed in red. Such a tool could be used to check the base strings for consistent use of words and for use of common English words. The cited article explains whythis is important and links to specific lists of commonly used words.
 +
 +
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"
 +
 +
==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.
  
184

edits