Features/Enhanced Gettext

Summary
Enhanced Gettext adds an extra search path for translation files for Sugar activities. This would allow deployments to add and update activity translations independently of the release process.

Owner

 * Name: Sayamindu Dasgupta


 * Email: sayamindu at gmail dot com

Current status

 * Targeted release: 0.88
 * Last updated: Feb 09, 2010
 * Percentage of completion: 100%

Detailed Description
Currently the translation process is tightly coupled with the release workflow. In order to get the latest translations for a particular activity, deployments need to either wait for the activity maintainer make a new release, or use the language pack mechanism, which is distribution specific, and an ugly hack at its best. This feature would add a sugar.gettext module, which, if used by activities, will search an alternative path (configurable via GConf) for translations before looking into the activity directory (where the translations present in the original release bundle exist.

Benefit to Sugar

 * Life becomes a lot easier for deployments who rely on a small translator team to accomplish the job (smaller translation teams find it more difficult to keep up with the Sugar release cycle)
 * Activity maintainers do not have to worry about making new releases to incorporate newer translations.
 * See thread starting from http://www.mail-archive.com/sugar-devel@lists.sugarlabs.org/msg10663.html
 * Will enable decoupling of Fructose release schedule from Glucose release schedule (if required, Fructose can be discarded altogether without causing much pains from the localization point of view)

Scope

 * A sugar.gettext module needs to be created in sugar-toolkit (or sugar-base ??)
 * Activity authors need to do import sugar.gettext instead of import gettext (it may make sense to keep the import sugar.gettext in a try: block to retain backward compatibility)

UI Design
N/A

User Experience
N/A

Dependencies
None

Contingency Plan
None necessary, revert to previous release behaviour.

Documentation

 * See thread starting from http://www.mail-archive.com/sugar-devel@lists.sugarlabs.org/msg10663.html

Release Notes
The extension adds a new dependency of the Python dateutil module. In Fedora and Ubuntu/Debian this is provided by the package python-dateutil.

Comments and Discussion

 * See |discussion tab for this feature