Line 1: |
Line 1: |
− | The Translation-Community Manager leads and co-ordinates the efforts of the Sugar community to enable users to experience Sugar in their own language. This is a paid delegation currently being debated by SLOBs.
| + | {{Graduate | This page is relevant to 2016 :) }} |
| | | |
− | This delegation is not meant to eclipse [[Translation Team]], its [[Translation_Team/Coordinator|coordinators]], or any other party interested in helping out with localization. | + | Chris Leonard was [https://wiki.sugarlabs.org/go/Oversight_Board/Decisions#2016-04-06 appointed in April 2016] as Translation-Community Manager, and he leads and co-ordinates the efforts of the Sugar community to enable users to experience Sugar in their own language. |
| + | |
| + | This role is not meant to eclipse the [[Translation Team]], the [[Translation_Team/Coordinator|coordinators]], or anyone else interested in helping out with localization. |
| | | |
| == Background == | | == Background == |
| | | |
− | Translation often refers to the specific task of providing text in a target language from the | + | Translation often refers to the specific task of providing text in a target language from the text in the source language. |
− | text in the source language. For software, this task is conventionally divided into two steps: | + | For software, this task is divided into two steps: |
| + | |
| + | * Internationalization (I10n): Developing features in underlying software that enables localization; |
| + | * Localization (L10n): providing local-language equivalents for text in the software. |
| + | |
| + | Sugar has two major components: |
| | | |
− | * Internationalization (I10n) | + | * Sugar Desktop: Provides the basic means for user interaction with Sugar. (Note that the Journal activity is a part of the Sugar Desktop.) |
− | ::Enable localization in the base software; and | + | * Sugar Activities: Several hundred individual activities are available from https://activities.sugarlabs.org (ASLO) that users can install and run. Many Sugar activities can run by themselves on a GNOME Desktop, or in a browser if they are Sugarizer Activities. |
− | * Localization (L10n)
| |
− | ::Provide local-language equivalents for text in the base software.
| |
| | | |
− | The base software for Sugar consists of two major components:
| + | === Internationalization (I18) === |
| | | |
− | * Sugar Desktop
| + | Sugar is primarily written in Python, with a significant portion written in JavaScript and some in SmallTalk. |
− | :: The Sugar Desktop is part of a [https://fedoraproject.org/wiki/Remix Fedora Remix]. It provides the basic means for user interaction with Sugar. (Note that the Journal activity is a part of the Sugar Desktop.)
| + | I18n is supported by giving developers a means to identify text that can be displayed to the user. |
| + | Alternate text can be provided in additional languages, and users can select alternative languages for Sugar to display. |
| | | |
− | * Sugar Activities
| + | Selecting an alternate language requires other technical steps. |
− | :: Sugar provides a library, ASLO (https://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.)
| + | The language must be visible in Sugar in the Language Control Panel ([https://github.com/sugarlabs/sugar/blob/master/extensions/cpsection/language/model.py#L124 sourcecode]). |
| + | After selecting a language, other aspects of Sugar will change for the ''locale,'' such as displaying right-to-left writing systems (Arabic, Hebrew) and displaying decimals (with '.' or ','), multiples (1000s), dates, and so on. |
| | | |
− | Internationalization (I10n) prepares the Sugar Desktop and Sugar Activities for localization (L10n).
| + | === Localization (l10n) === |
− | * I18n
| |
− | ::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).
| + | http://translate.sugarlabs.org is a Pootle instance; a libre web application that supports the localization of Sugar by displaying the original Desktop and Activities texts and creating and managing alternative texts. |
| | | |
− | * L10n
| + | The overall process is fail-safe in 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. |
− | ::Sugar Labs 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
| + | This is typically English or Spanish. |
| + | Each translated strings is immediately available for use in subsequent releases, leaving translators to only provide strings for new texts in new releases. |
| + | |
| + | When alternative texts are not provided, original texts are 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.)
| |
| | | |
− | At the schools using Sugar, many of the users communicate in a native language other than English. For example, in the Philippines, there are two official languages: Filipino (Tagalog) and English. While users can take advantage of Sugar and the laptops in English, they would enjoy an opportunity to use them in Filipino. In addition, there are indigenous languages spoken by some of the users. Making the Sugar experience available in these languages is typical of the localization opportunities for Sugar.
| + | Sugar is the default desktop for OLPC XO laptops, and over 2.5 million have been sold. |
| + | In daily use at schools and other institutions throughout the world, these laptops are typically used both in a language of instruction (such as English, Spanish, or French) and in another native language. |
| + | For example, in the Philippines there are two official languages, Filipino (Tagalog) and English. |
| | | |
− | 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.
| + | While users can take advantage of Sugar and the laptops in English, they would also enjoy using them in Tagalog. |
| + | Some native languages are indigenous languages that have relatively few speakers, but are important. |
| + | Sugar's primary localization opportunity is to become available in such languages. |
| | | |
− | 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 https://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.)
| + | Localization is typically done by language specialists with some technical skills and effective access to the Internet, plus language skills in the target language (e.g. Tagalog) and the source language (e.g. English.) |
| + | When possible, I18n and specific language help arranged by the Translation-Community Manager enables Sugar users to perform this localization on their own laptops. |
| | | |
− | ==Software Environment==
| + | To install or update an Activity on https://translate.sugarlabs.org, chat with the Translation-Community Manager. |
| | | |
− | Change is an essential feature of computer use. Platforms change. Sugar is faced with some immediate tasks relating to this change:
| + | When translating to an indigenous language, the Translation-Community Manager can help by providing intermediary languages, such as Spanish. |
| + | For example, the Latin American indigenous language Aymara has many more speakers who know also Spanish than who also know English. |
| | | |
− | * Touch screen replacing trackpad and mouse keys, and, often, the keyboard;
| + | ==Duties== |
− | * Move to Android and Web services, which do not directly support Python;
| |
− | * Developer focus on HTML5, CSS3, and JavaScript as an implementation environment for activities (and the Sugar experience itself).
| |
| | | |
− | ==Duties==
| + | The Translation-Community Manager is responsible for leading the community in providing the Sugar experience in users' native languages. |
| | | |
− | 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:
| + | They will: |
| | | |
| * 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.); | | * 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 I18n capabilities of Sugar and its activities; | | * Develop and maintain the I18n capabilities of Sugar and its activities; |
− | *# Arrange for development and maintenance of the I18n infrastructure such as https://translate.sugarlabs.org; | + | ** Arrange for development and maintenance of the I18n infrastructure such as https://translate.sugarlabs.org; |
− | *# Arrange for an inventory of Sugar activities in ASLO (https://activities.sugarlabs.org) showing the current I18n and L10n status of each; | + | ** Arrange for an inventory of Sugar activities in ASLO (https://activities.sugarlabs.org) showing the current I18n and L10n status of each; |
− | *# Arrange for development and maintenance of I18n 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 I18n 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 and to the public on the status of the translations program, preferably by blogging informally (blog posts can be any length) to http://planet.sugarlabs.org using plain language that is understandable to almost all. | | * Report monthly to the Sugar Labs Oversight Board and to the community and to the public on the status of the translations program, preferably by blogging informally (blog posts can be any length) to http://planet.sugarlabs.org using plain language that is understandable to almost all. |
| * Report every 4 months on tactical/strategic/financial choices; reports can be of any length and should be posted/archived together to a unique URL (linked from http://wiki.sugarlabs.org/go/Translation-Community_Manager) one month prior to the completion of each 4-month cycle, mentioning: | | * Report every 4 months on tactical/strategic/financial choices; reports can be of any length and should be posted/archived together to a unique URL (linked from http://wiki.sugarlabs.org/go/Translation-Community_Manager) one month prior to the completion of each 4-month cycle, mentioning: |
− | *# What actually happened over current 4-month cycle and/or since the last report, including community/financial summaries (absolutely fine and no shame at all if actions were different from prior cycle's projections: we learn by doing or we don't learn at all!) | + | ** What actually happened over current 4-month cycle and/or since the last report, including community/financial summaries (absolutely fine and no shame at all if actions were different from prior cycle's projections: we learn by doing or we don't learn at all!) |
− | *# What can and should happen over the coming 4-month cycle? Community workflows are never 100% rational: how do we tactically nurture continuous improvement? | + | ** What can and should happen over the coming 4-month cycle? Community workflows are never 100% rational: how do we tactically nurture continuous improvement? |
− | *# Long-term strategic/impact recommendations on an annual basis. Or optionally more often, if he/she is so inclined. | + | ** Long-term strategic/impact recommendations on an annual basis. Or optionally more often, if he/she is so inclined. |
| + | |
| + | The Sugar Labs Oversight Board will affirm continuation (or renewal) of the contract before the end of each 4-month cycle. |
| | | |
− | The Sugar Labs Oversight Board must affirm continuation (or renewal) of the contract before the end of each 4-month cycle. (It is anticipated that this will largely be a "rubber-stamping" procedure; the expectation is that the contract will renew—insofar as funds allow—while the translation community strengthens. But this "dead man's switch" is a critical check to keep us—each and all—conscientiously engaged, accountable, and involved.)
| + | (It is anticipated that this will largely be a "rubber-stamping" procedure; the expectation is that the contract will renew—insofar as funds allow—while the translation community strengthens. |
| + | But this "dead man's switch" is a critical check to keep us—each and all—conscientiously engaged, accountable, and involved.) |