OLPC Localization

From OLPC
Revision as of 04:35, 12 January 2008 by LeeSI (talk | contribs) (Languages of Target Countries)
Jump to: navigation, search

You don't have to wait until XOs are announced for your country to start localizing Linux, Sugar, and Activities into your languages. Remember you can create a Live CD in your language to run on any x86 computer, including Macs. If you support a language well, you also support people learning your language.

Localization is the process not just of translation to a local language, but of adapting content to other local requirements, whether of law, culture, or custom. In order to localize software, it must first be internationalized. That is, any assumptions derived from the language, culture, and customs of the developers must be removed. Much content can be written in a neutral international manner, but there are specific items that must be programmed so that the local equivalents can be easily substituted.

Programmers in the US and Europe for decades were able to assume 1 character = 1 byte, but this is no longer the case. The most common character encoding today is the variable-length UTF-8 form of Unicode. We cannot assume that money is in US dollars. We cannot assume that people have family names, or area codes, or ZIP codes. Even when people have family names, the family name is not always the last name. And so on.

OLPC got caught out on this with the first batch of prototypes delivered to Spanish-speaking students. It turns out that the initial login text field was programmed to accept only 7-bit ASCII, so the children with accents in their names were not able to enter them correctly. This in spite of the presence of 8-bit Latin-1 letters on the keytops.

Localizing XOs

OLPC's target population of schoolchildren live in nearly 200 countries, where more than 6,000 languages are spoken. The 100 most common languages would suffice for reaching 99%+ of children in first or second languages, but hundreds more would be needed for education in traditional cultures and languages of large populations. OLPC can play a large part in recording and preserving thousands more languages before they would otherwise disappear forever.

Internationalization (I18n)

Preparing software so that it can be localized

    • Cultural and national neutrality
    • Unicode
    • Writing directions
    • Stretching and shrinking of text
    • Locales: Formats for numbers, times, dates, currency, names, addresses, phone numbers
    • File names
    • Grammar issues: gender, number, phrasing
    • Punctuation
    • Style and usage
    • Switching languages in activities
    • Mixing languages in documents

Languages of Target Countries

Of these, Kreyol Aiysyen, Khmer, and the languages of Afghanistan have not been started.

Other Languages

Translation project have begun in Afrikaans, Amharic, Arabic, Aymara, Basque, Bengali, Catalan, Chinese (China), Chinese (Hong Kong), Chinese (Taiwan), Czech, Danish, Dutch, English, English (South African), English (US), Finnish, Friulian, Galician, Georgian, German, Greek, Hausa, Hindi, Icelandic, Igbo, Italian, Japanese, Korean, Macedonian, Maltese, Nepali, Persian, Polish, Portuguese, Portuguese (Brazil), Quechua, Romanian, Russian, Serbian, Slovenian, Sotho, Swedish, Thai, Turkish, Ukrainian, Urdu, Vietnamese, Wolof, Yoruba, pseudo L10n

Support for Language Learning

Having an alternate GUI language on an XO is an excellent way to get used to a language, particularly if you can refer to Pootle or to a printout as a bilingual reference. Or even two XOs side by side in the two languages. Making a language part of your daily routine imprints it on your brain in a way that no amount of class time or formal practice can do.

Having friends to talk to in the language is of course the best way of all to learn it, and look! the XO lets you do that, too, all over the world.

Localization Process