L20n/Firefox
Description
Gecko's current localization framework hasn't changed in the last two decades. It is based on file formats which weren't designed for localization. It offers crude APIs. It tasks developers with things they shouldn't have to do. It doesn't allow localizers to use the full expressive power of their languages.
L20n is a modern localization and internationalization infrastructure created by the Localization Engineering team in order to overcome these limitations. It was successfully used in Firefox OS. We've put parts of it on the ECMA standardization path. Now we intend to integrate it into Gecko and migrate Firefox to it.
Overview
| Milestone | Date | Status |
|---|---|---|
| MozLondon Demo | June 2016 | DONE |
| Platform Development | June-August 2016 | ON TARGET |
| Performance research | July 2016 | ON TARGET |
| L10n Infrastructure Changes | July-September 2016 | ON TARGET |
| Land on Master | November 2016 | ON TARGET |
| MozHawaii Demo | December 2016 | ON TARGET |
Requirements
Browser Menu
- Dependencies
- Build support (bug 1280680)
- L10nRegistry + docs + tests (bug 1280671)
- Intl APIs + docs + tests (bug 1288639)
- L20n-chrome-xul.js + docs + tests (bug 1280669)
- Deliverable
- browser-menu.inc ported to L20n (bug 1288406)
Migrating localizations
- Define what the process should create (bug 1288141)
- Define which data to use (bug 1288146)
- Define tracking applied migrations vs not (bug )
- First iteration of content transformation (bug )
Performance
- Define measures to test and hypotheses (bug 1280674)
- Create a testing plan
Secondary scope
Bindings for other pieces of Gecko
- Chrome HTML (bug 1280670)
- Content HTML (bug 1280672)
- Chrome XBL (bug 1280673)
- Content XBL (bug 1280675)
Live Updates
Debugging Support
- about:localization (bug 1280689)
Milestones
The tracking bug is bug 1279002 and the interactive buglist can be used to view the entire dependency tree.
Sprint 1: July 19 — July 25
| ID | Summary | Product | Component | Status | Resolution | Assigned to | Depends on | Blocks |
|---|---|---|---|---|---|---|---|---|
| 1288182 | Requesting twig repo larch be reset | Developer Services | Mercurial: hg.mozilla.org | RESOLVED | FIXED | Kendall Libby [:fubar] (he/him) | 1281256 | |
| 1288406 | Port Firefox's menu bar to FTL | L20n | General | RESOLVED | FIXED | Staś Małolepszy :stas | 1289530, 1291693 | |
| 1288637 | Document the Firefox landing plan on wiki/L20n/Firefox | L20n | General | RESOLVED | FIXED | Staś Małolepszy :stas |
3 Total; 0 Open (0%); 3 Resolved (100%); 0 Verified (0%);
Sprint 2: July 26 — August 1
- Add tests to Intl.MessageContext in L20n.js (Staś)
- Figure out how to run them in mozilla-central (Staś)
- Add documentation for Intl.MessageContext (Staś)
- Unify the linting rules and results (Staś)
Sprint 3: August 2 — August 8
- Documentation for XUL bindings (Staś)
- Tests for XUL bindings (Staś)
Sprint 4: August 9 — August 15
Notes: Staś on PTO
Sprint 5: August 16 — August 21
Notes: Axel on PTO
Sprint 6: August 23 — August 29
Notes: Axel on PTO
Sprint 7: August 30 — September 5
People
| Role | Name | IRC |
|---|---|---|
| Tech Lead | Axel Hecht | Pike |
| Engineering | Matjaž Horvat | mathjazz |
| Engineering | Staś Małolepszy | stas |
| Engineering | Zibi Braniecki | gandalf |
Reference Links
Communication
| Weekly Team Meeting | |
| IRC |
|
| Newsgroup/Mailing List |