Line 18: |
Line 18: |
| | | |
| * Sugar Activities | | * Sugar Activities |
− | :: Sugar provides a library, ASLO (activities.sugarlabs.org) of several hundred individual activities that a user can install and run. (Note that many Sugar activities can run independently from the Sugar Desktop, e.g., the GNOME Desktop, the Sugarizer environment, or in a web browser.) | + | :: Sugar provides a library, ASLO (activities.sugarlabs.org), of several hundred individual activities that a user can install and run. (Note that many Sugar activities can run independently from the Sugar Desktop, e.g., the GNOME Desktop, the Sugarizer environment, or in a web browser.) |
| | | |
| Internationalization (I10n) prepares the Sugar Desktop and Sugar Activities for localization (L10n). | | Internationalization (I10n) prepares the Sugar Desktop and Sugar Activities for localization (L10n). |
− | * I10n | + | * I18n |
− | ::Sugar and its activities are primarily written in Python (although increasingly JavaScript is being used for activity development). I10n is supported by giving developers a means to identify text that can be displayed to the user. Alternate text can be provided in other languages than the original and the user can select an alternate language for Sugar and the activities to use in displaying this text. | + | ::Sugar and its activities are primarily written in Python (although increasingly JavaScript is being used for activity development). I18n is supported by giving developers a means to identify text that can be displayed to the user. Alternate text can be provided in other languages than the original and the user can select an alternate language for Sugar and the activities to use in displaying this text. |
| | | |
| ::Selecting an alternate language for Sugar requires other technical steps. The language must be visible in Sugar (in the [https://github.com/sugarlabs/sugar/blob/master/extensions/cpsection/language/model.py#L124 Language Control Panel]). Selecting the language needs to change other aspects of Sugar (e.g display right-left, handle '.' or ',' for decimals and grouping multiples of 1000, display of dates, and so on). | | ::Selecting an alternate language for Sugar requires other technical steps. The language must be visible in Sugar (in the [https://github.com/sugarlabs/sugar/blob/master/extensions/cpsection/language/model.py#L124 Language Control Panel]). Selecting the language needs to change other aspects of Sugar (e.g display right-left, handle '.' or ',' for decimals and grouping multiples of 1000, display of dates, and so on). |
| | | |
| * L10n | | * L10n |
− | ::Sugarlabs provides a service hosted at http://translate.sugarlabs.org that supports localization of Sugar. It is based on Pootle, a process and software to facilitate localization. In particular, it stores files with the original text for Sugar and its activities and files with the strings for local languages. | + | ::Sugarlabs provides a service hosted at http://translate.sugarlabs.org that supports localization of Sugar. It is based on Pootle, a process and software to facilitate localization. In particular, it stores files with the original text for Sugar and its activities and files with the strings for local language |
− | | |
− | ::The overall process is fail-safe in the sense that if an alternate language is selected but there is no string available in that language, Sugar displays the original string found in the code (most often English). http://translate.sugarlabs.org saves translated strings that are immediately available for use in subsequent releases, leaving localizers to provide strings for new text in the release. If that text is not provided, the original text is displayed.
| |
| | | |
| + | :The overall process is fail-safe in the sense that if an alternate language is selected but there is no string available in that language, Sugar displays the original string found in the code (most often English). http://translate.sugarlabs.org saves translated strings that are immediately available for use in subsequent releases, leaving localizers to provide strings for new text in the release. If that text is not provided, the original text is displayed. |
| ==User Environment== | | ==User Environment== |
| Sugar (Fedora Remix) is the software that supports the OLPC XO laptop. There have been about 2.5 million of these laptops manufactured and distributed. Many of these laptops are in daily use at schools and other institutions throughout the world. Typically, these laptops are used in a language of instruction (English, Spanish, French, ...). (The Remix is also on other hardware and is the basis of Sugar on a Stick, although no firm figures are available on how many learners use the Remix. There is also Debian support for the Sugar Desktop.) | | Sugar (Fedora Remix) is the software that supports the OLPC XO laptop. There have been about 2.5 million of these laptops manufactured and distributed. Many of these laptops are in daily use at schools and other institutions throughout the world. Typically, these laptops are used in a language of instruction (English, Spanish, French, ...). (The Remix is also on other hardware and is the basis of Sugar on a Stick, although no firm figures are available on how many learners use the Remix. There is also Debian support for the Sugar Desktop.) |
Line 38: |
Line 37: |
| In most cases localization is done by language specialists under the umbrella of Pootle (http://pootle.translatehouse.org/). This process requires technical skills and effective access to the internet. | | In most cases localization is done by language specialists under the umbrella of Pootle (http://pootle.translatehouse.org/). This process requires technical skills and effective access to the internet. |
| | | |
− | Translation requires language skills in the target language and the source language (e.g. English, Spanish, French). If possible, I10n and specific language help arranged by the Translation-Community Manager should enable Sugar users to perform this localization on their own laptops. The installation or updating of the localization on translate.sugarlabs.org should be arranged by the Translation-Community Manager. (Also, providing a common intermediary language, such as Spanish, when translating to an indigenous language, such as Aymara, falls under the responsibility of the Translation-Community Manager: there are many more Aymara speakers who know Spanish than English.) | + | Translation requires language skills in the target language and the source language (e.g. English, Spanish, French). If possible, I18n and specific language help arranged by the Translation-Community Manager should enable Sugar users to perform this localization on their own laptops. The installation or updating of the localization on translate.sugarlabs.org should be arranged by the Translation-Community Manager. (Also, providing a common intermediary language, such as Spanish, when translating to an indigenous language, such as Aymara, falls under the responsibility of the Translation-Community Manager: there are many more Aymara speakers who know Spanish than English.) |
| | | |
| ==Software Environment== | | ==Software Environment== |
Line 52: |
Line 51: |
| The Translation-Community Manager, reporting to the Sugar Labs Oversight Board, is responsible to lead the community in supporting its goal to provide the Sugar experience in the users native language. The Translation-Community Manager will: | | The Translation-Community Manager, reporting to the Sugar Labs Oversight Board, is responsible to lead the community in supporting its goal to provide the Sugar experience in the users native language. The Translation-Community Manager will: |
| | | |
− | * Work with the community to recruit volunteer help in supporting the translation process (occasional professional services to seed L18n efforts may be contracted as well.); | + | * Work with the community to recruit volunteer help in supporting the translation process (occasional professional services to seed L10n efforts may be contracted as well.); |
| * Advise the Sugar Labs Oversight Board of supporting projects that need funding and to manage these projects, if approved; | | * Advise the Sugar Labs Oversight Board of supporting projects that need funding and to manage these projects, if approved; |
− | * Develop and maintain the I10n capabilities of Sugar and its activities; | + | * Develop and maintain the I18n capabilities of Sugar and its activities; |
− | *# Arrange for development and maintenance of the I10n infrastructure such as translate.sugarlabs.org; | + | *# Arrange for development and maintenance of the I18n infrastructure such as translate.sugarlabs.org; |
− | *# Arrange for an inventory of Sugar activities in ASLO (activities.sugarlabs.org) showing the current I10n and L10n status of each; | + | *# Arrange for an inventory of Sugar activities in ASLO (activities.sugarlabs.org) showing the current I18n and L10n status of each; |
− | *# Arrange for development and maintenance of I10n infrastructure to support new and emerging platforms and software environments for Sugar; | + | *# Arrange for development and maintenance of I18n infrastructure to support new and emerging platforms and software environments for Sugar; |
| * Work with the community to identify schools and institutions that have deployed Sugar and to arrange for members of the community to reach out to these deployments to offer help with localization or other needs; | | * Work with the community to identify schools and institutions that have deployed Sugar and to arrange for members of the community to reach out to these deployments to offer help with localization or other needs; |
− | *# Arrange as needed to add a language to those with I10n support in Sugar and Sugar activities; | + | *# Arrange as needed to add a language to those with I18n support in Sugar and Sugar activities; |
| *# Arrange for a simple and well-documented procedure for these deployments to provide their own translation and to share the results with the community; | | *# Arrange for a simple and well-documented procedure for these deployments to provide their own translation and to share the results with the community; |
| * Report monthly to the Sugar Labs Oversight Board and to the community on the status of the translations program. | | * Report monthly to the Sugar Labs Oversight Board and to the community on the status of the translations program. |