Mobile/Projects/Localization: Difference between revisions

 
(16 intermediate revisions by the same user not shown)
Line 2: Line 2:
== Goals ==
== Goals ==
* Grant user control over language selection within Fennec.
* Grant user control over language selection within Fennec.
** [Accomplished in Fx32] Language selection currently controled by Android system preferences, whose availability are determined by OEMs and carriers.
** Accept-language header for customizing default language selection for delivery of web content.
** Accept-language header for customizing default language selection for delivery of web content.
* Locale breadth: ensure we can support any potential distribution deals without locales being any kind of hurdle or barrier
* Locale breadth: ensure we can support any potential distribution deals without locales being any kind of hurdle or barrier
* Notes from what the competition supports:
* Close the [https://docs.google.com/a/mozilla.com/spreadsheets/d/12_V7bLexbL5bvadTtBPBIFi_GYjsE67CH7YURF2826w/edit?usp=sharing competitive gap between us, Chrome, and Opera].
** Opera Mobile supports 40 languages
* Implement RTL support for at least one of the world's most widely spoken languages (Arabic).
** Chrome Mobile supports 31 (as of Apr 2012) and seemingly 38 (trying to find an official source of truth)
* Improve testability of l10n by automating localized screenshots of new features shipping in Fennec for each release and making them available to localizers, regardless of device availability.
** Google Play store supports 45 localizations
* Increase discoverability of Fennec localizations.
** Google's default Android localization is into 68 languages (added support for Basque, Bengali, Burmese, Chinese (Hong Kong), Galician, Icelandic, Kannada, Kyrgyz, Macedonian, Malayalam, Marathi, Nepali, Sinhala, Tamil and Telugu in 5.0 Lollipop).
* Facilitate A/B testing of localized features.
** OEMs add languages to Android's 52 delivered languages (e.g., Samsung devices have up to 83).
* Help to reduce the memory overhead of delivering localizations.
** Close the [https://docs.google.com/a/mozilla.com/spreadsheets/d/12_V7bLexbL5bvadTtBPBIFi_GYjsE67CH7YURF2826w/edit?usp=sharing competitive gap between us, Chrome, and Opera].
* Implementing l20n into Fennec for Android (ICU support)
 
* Pipeline for translating app store and input comments.
== Specifications ==
* Multi-locale build to include all new locales
* (RTL languages requires support from the Android UI for the likes of Arabic)


== Bug Tracking ==
== Bug Tracking ==
Line 21: Line 17:
<bugzilla>
<bugzilla>
{
{
  "id": "639801,521979,551156,882315,881510,933315,934962,700289,1082210,1082209,1082212,1082214,639853,521992,639855,1109078,1109079,1038669,1038667"
  "id": "639801,521979,551156,882315,881510,933315,934962,700289,1061726,1213064,1224260,1252897,1255594,1256674,1262481,1262490,1262499,1262868,1267708,1271970"
}
}
</bugzilla>
</bugzilla>
Line 34: Line 30:
! Scheduled
! Scheduled
|-
|-
| vi
| [https://l10n.mozilla.org/teams/vi vi]
| Vietnamese
| Vietnamese
|  
|  
|-
|-
| af
| [https://l10n.mozilla.org/teams/af af]
| Afrikaans
| Afrikaans
|  
|  
|-
|-
| el
| [https://l10n.mozilla.org/teams/el el]
| Greek
| Greek
|  
|  
|-
|-
| sw
| [https://l10n.mozilla.org/teams/sw sw]
| Swahili
| Swahili
|  
|  
|-
|-
| zu
| [https://l10n.mozilla.org/teams/zu zu]
| Zulu
| Zulu
|  
|  
|-
|[https://l10n.mozilla.org/teams/gl gl]
|Galician
|36
|-
|-
|}
|}
Line 67: Line 59:
! Scheduled
! Scheduled
|-
|-
| bg
| [https://l10n.mozilla.org/teams/bg bg]
| Bulgarian
| Bulgarian
|  
|  
|-
|-
| sr
| [https://l10n.mozilla.org/teams/sr sr]
| Serbian
| Serbian
|  
|  
|-
|-
| tl
| [https://l10n.mozilla.org/teams/tl tl]
| Tagalog
| Tagalog
|  
|  
|-
|-
| rm
| [https://l10n.mozilla.org/teams/ky ky]
| Romansh
|
|-
|[https://l10n.mozilla.org/teams/my my]
|Burmese
|37
|-
| ky
| Kyrgyz
| Kyrgyz
|
|
Line 166: Line 150:
|13,500
|13,500
|
|
|-
|[https://l10n.mozilla.org/teams/xh Xhosa]
|South Africa
|7,817,300
|13,500
|36
|-
|[https://l10n.mozilla.org/teams/sq Albanian]
|Albania
|7,436,990
|1,200
|37
|-
|-
|[https://l10n.mozilla.org/teams/ach Acholi]
|[https://l10n.mozilla.org/teams/ach Acholi]
Line 184: Line 156:
|1,000
|1,000
|
|
|-
|[https://l10n.mozilla.org/teams/son Songhay]
|Mali
|~1,100,000
|500
|37
|-
|[https://l10n.mozilla.org/teams/hsb Upper Sorbian]
|Germany
|~13,490
|
|37
|-
|[https://l10n.mozilla.org/teams/dsb Lower Sorbian]
|Germany
|~13,490
|
|37
|-
|-
|[https://l10n.mozilla.org/teams/km Khmer]
|[https://l10n.mozilla.org/teams/km Khmer]
Line 208: Line 162:
|45,000 + 6,500
|45,000 + 6,500
|
|
|-
|[https://l10n.mozilla.org/teams/uz Uzkeb]
|Uzbekistan
|25,000,000
|N/A
|37
|-
|[https://l10n.mozilla.org/teams/az Azerbaijani]
|Azerbaijan, Iran, Iraq, Turkey
|23,000,000
|N/A
|37
|-
|-
|}
|}
Line 407: Line 349:


=== As of 38 ===
=== As of 38 ===
* Azerbaijani (az)
=== As of 39 ===
=== As of 39 ===
=== As of 40 ===
=== As of 40 ===
=== As of 41 ===
* Croatian (hr)
=== As of 42 ===
=== As of 43 ===
=== As of 44 ===
=== As of 45 ===
=== As of 46 ===
* Romansh (rm)
* Maya Kaqchikel (cak)
=== As of 47 ===
=== As of 48 ===
=== As of 49 ===
=== As of 50 ===


== Quality Criteria ==
== Quality Criteria ==

Latest revision as of 18:01, 11 May 2016

Goals

  • Grant user control over language selection within Fennec.
    • Accept-language header for customizing default language selection for delivery of web content.
  • Locale breadth: ensure we can support any potential distribution deals without locales being any kind of hurdle or barrier
  • Close the competitive gap between us, Chrome, and Opera.
  • Implement RTL support for at least one of the world's most widely spoken languages (Arabic).
  • Improve testability of l10n by automating localized screenshots of new features shipping in Fennec for each release and making them available to localizers, regardless of device availability.
  • Increase discoverability of Fennec localizations.
  • Facilitate A/B testing of localized features.
  • Help to reduce the memory overhead of delivering localizations.
  • Implementing l20n into Fennec for Android (ICU support)
  • Pipeline for translating app store and input comments.

Bug Tracking

Bugzilla query error

Array ( [type] => error [message] => http-timed-out [params] => Array ( [0] => https://bugzilla.mozilla.org/bzapi/bug?id=639801%2C521979%2C551156%2C882315%2C881510%2C933315%2C934962%2C700289%2C1061726%2C1213064%2C1224260%2C1252897%2C1255594%2C1256674%2C1262481%2C1262490%2C1262499%2C1262868%2C1267708%2C1271970&include_fields=id&include_fields=summary&include_fields=priority&include_fields=status ) ) 1


Android supported

Locales w/repos

Locale Language Scheduled
vi Vietnamese
af Afrikaans
el Greek
sw Swahili
zu Zulu

Locales sans repos

Locale Language Scheduled
bg Bulgarian
sr Serbian
tl Tagalog
ky Kyrgyz
mk Macedonian
ne-NP Nepalese
si Sinhala

Blocked locales

Locale Language Scheduled Repo Blocks
he Hebrew Yes RTL, Gecko/Java locale code, resources
ar Arabic Yes RTL, resources
am Amharic No RTL, resources
fa Persian Yes RTL

Sans Android support

Locales w/translations

Language Location Speakers ADU's Scheduled
Ligurian Italy 505,100 115,000
Norwegian (Nynorsk) Norway 4,640,000 (East Scandinavian writing system) 14,500
Venda South Africa 1,064,000 13,500
Acholi Uganda 1,197,000 1,000
Khmer Cambodia/Thailand 16,124,500 45,000 + 6,500

Locales w/out Fennec translations

Language Location Speakers ADU's Scheduled
Occitan France 2,048,310 150,000
Asturian Spain 550,000 116,000
Ilocano Philippines 7,016,400 30,000
Kurdish Iraq 29,960,872 26,000
Urdu Pakistan 63,431,800 14,500
Tsonga South Africa 3,669,000 13,500
Bengali (Bangladesh) Bangladesh 110,000,000 11,000
Bosnian Bosnia 2,216,000 3,200
Georgian Georgia/Russia 4,237,710 2,300
Nbedele Zimbabwe 1,572,800 600
Tswana Botswana 4,521,700 250
Siswati Swaziland 2,034,200 <100
Southern Sotho Lesotho 6,024,000 <50

Locales Included in our multi-locale APK

As of Fx22

  • Brazilian Portuguese (pt-BR)
  • Chinese (zh-CN)
  • Chinese (zh-TW)
  • Czech (cs)
  • Danish (da)
  • Dutch (nl)
  • English (en-US)
  • Finnish (fi)
  • French (fr)
  • German (de)
  • Italian (it)
  • Japanese (ja)
  • Korean (ko)
  • Norwegian bokmal (nb-NO)
  • Polish (pl)
  • Portuguese (pt-PT)
  • Russian(ru)
  • Slovak (sk_SK)
  • Spanish (es-ES)

As of Fx23

  • Hungarian (hu_HU)
  • Turkish(tr)

As of Fx24

  • British English (en_BR)
  • Catalan (ca_ES)
  • Swedish (sv_SE)

As of Fx 25

  • Ukranian (uk)
  • Irish (ga)
  • Romanian (ro)

As of Fx 26

As of Fx 27

  • South African English(en-ZA)
  • Thai (th)
  • Lithuanian (lt)
  • Slovenian (sl)

As of Fx 28

  • Estonian (et)

As of Fx 29

As of Fx 30

  • Indonesian (id)
  • Spanish (es-MX)
  • Spanish (es-AR)
  • Malay (ms)
  • Belarusian (be)
  • Latvian (lv)

As of Fx 31

  • Assamese (as)
  • Bengali (bn-IN)
  • Hindi (hi-IN)
  • Gujarati (gu-IN)
  • Kannada (kn)
  • Maithli (mai)
  • Marathi (mr)
  • Malayalam (ml)
  • Punjabi (pa-IN)
  • Oriya (or)
  • Tamil (ta)
  • Telugu (te)

As of 32

  • Icelandic (is)
  • Fulah (ff)
  • Basque (eu)
  • Scottish Gaelic (gd)
  • Welsh (cy)
  • Armenian (hy-AM)

As of 33

  • Kazakh (kk)
  • Aragonese (an)
  • Frisian (fy-NL)

As of 34

As of 35

  • Breton (br)
  • Esperanto (eo)

As of 36

  • Galician (gl)
  • Xhosa (xh)

As of 37

  • Upper Sorbian (hsb)
  • Lower Sorbian (dsb)
  • Songhay (son)
  • Albanian (sq)
  • Uzbek (uz)
  • Burmese (my)

As of 38

  • Azerbaijani (az)

As of 39

As of 40

As of 41

  • Croatian (hr)

As of 42

As of 43

As of 44

As of 45

As of 46

  • Romansh (rm)
  • Maya Kaqchikel (cak)

As of 47

As of 48

As of 49

As of 50

Quality Criteria

  1. User stories must be satisfied
  2. Specifications must be met
  3. Multi-locale APK size must not exceed the previous release APK size by x% (important for ARMv6 users with less memory than high-end devices)