L10n:Goals/2010Q3/Implement Jetpack L10n API

From MozillaWiki
Jump to: navigation, search

This is an update on what the Jetpack l10n team (Gandalf, Transifex, Myk Melez, Fred Wenzel, Seth Bindernagel) been working on. You can find a full list of the completed features below.

Because an image is worth 1000 words, the Transifex developers created a screencast to show the UI bits and the interaction between the various project bits.

It is 12 minutes long and shows the Transifex server, the developed Common Pool addons, the Common Pool client, the web editor functionality and the Overrides and Suggestions UI.

The backend support for overrides and suggestions are done, the UI is at a mockup level.



  1. Server-side translation storage engine
    • [DONE] Database-driven engine to store translation strings
    • [DONE] API to push/pull translations over JSON
    • [DONE] Resource browsing, statistics generation
    • [DONE] Translation Web Editor
  2. L10n support in Jetpacks
    • [DONE] Translatable string markup in Jetpacks
    • [DONE] String Extraction script from Jetpacks
    • [DONE] Jetpack SDK-Server API to fetch translations
  3. Advanced features
    • [DONE] Editor support to simultaneously edit all occurrences of a string in jetpacks
    • Overriding per jetpack or string occurrence if needed. (1)
    • [DONE] Rich Editor filtering (e.g. by addon, by string popularity) (2)
    • [DONE] Locale owner management features (e.g. remove contributions of a user) (3)
    • [DONE] Action timeline, logging basic actions on the server (2)
    • [DONE] Scalable design to support thousands of jetpacks with tens of languages
  4. Extras
    • [DONE] Search in project for other occurrences of this string and their translations in similar locales. (4)
    • [WONTFIX] Create an API cal "pre-populate". This will search all untranslated strings in other Resources and fill in any possible translations from other jetpacks.
    • [DONE] Jetpacks unknown to the server should be able to send to Tx a list of strings and get back suggested translations.
    • Support for suggestions: Registered users who are not members of a team will be able to suggest strings. Registered users can 'accept' suggested strings. (5)
    • [DONE] Provide "fallback" mechanism: (es-BO-ost -> es-BO -> es-AR -> es -> en-US)
  5. Infrastructure
    • [DONE] Packaging using virtualenv/pip/pypi
    • [DONE] MySQL support