Hi zb.

I don't turn on ICU on Android version yet due to bug 1262102.  So If
it is only on Desktop browser, it can use it.

On Thu, Jun 9, 2016 at 9:20 AM,  <zbranie...@mozilla.com> wrote:
> Summary:
>
> Gecko's localization framework has not really changed much in the last 20 
> years and is based on two data formats - DTD and .properties - neither have 
> been designed for localization purposes.
> Our internationalization status is a combination of DIY helper functions, ICU 
> based APIs and ancient code written for Netscape.
> The current situation results in high maintenance burden, lower translation 
> quality and keeps us locked out from the ability to develop new localization 
> related features.
>
> Over last three years we created a modern localization and 
> internationalization infrastructure that we deployed for Firefox OS and put 
> on ECMA standardization path. Now we intent to integrate it into Gecko, and 
> migrate Firefox to it.
>
> We're going to host a session about this project in London, on Friday at 
> 13:15 - 
> https://mozillalondonallhands2016.sched.org/event/79As/the-future-of-l10ni18n-in-firefox-and-gecko
>
> The two pillars are:
>
> 1) Localization
>
> For l10n we intend to base our API on L20n API designed by Axel Hecht, Stas 
> Malolepszy and me and use the newly designed L20n syntax, which is based on 
> ICU's Message Format.
> A single localization format will lower the technical burden and lower the 
> complexity of our ecosystem.
> A new API will also result in cleaner and easier to maintain code base 
> improving quality and security of our products. The new API will provide a 
> resilient runtime fallback, loosening the ties between code and 
> localizations. That will empower more experiments on shipping code and 
> shipping localizations.
>
> 2) Internationalization
>
> For i18n we intend to leverage our current design plan for ECMA 402 (JS I18n 
> spec) and deploy the spec proposals that originally came from FxOS 
> requirements. This will allow us to unify our I18n architecture, reduce code 
> redundancy and end up with Gecko's I18n being the same as JS I18n.
>
>
> The new infrastructure has been designed to work together - L20n ties 
> perfectly into I18n formatters, while parts of L20n API and syntax may end up 
> becoming Web Localization standards proposal.
>
> Our goals are to significantly improve our ability to create high quality 
> multilingual user interfaces, simplify the l10n API for developers, improve 
> error recovery and enable us to innovate.
>
> The first area of innovation that we're planning to build on top of the new 
> infrastructure are "Live Updates" - a technology that will allow us to pull 
> localization resources independently from code base updates enabling 
> scenarios like partial translation releases where the localization is added 
> within a couple days after the product is available.
>
> Bug: Meta bug is https://bugzilla.mozilla.org/show_bug.cgi?id=1279002
>
> Current POC: https://github.com/zbraniecki/gecko-dev/tree/l20n
>
> Link to standards:
>
> Intl:
> *) https://tc39.github.io/ecma402/
> *) https://github.com/tc39/ecma402#current-proposals
>    - Intl.RelativeTimeFormat ( 
> https://github.com/zbraniecki/intl-relative-time-spec )
>    - Intl.PluralRules ( https://github.com/tc39/proposal-intl-plural-rules )
>    - Intl.UnitFormat ( 
> https://github.com/zbraniecki/proposal-intl-unit-format )
>    - Intl.ListFormat ( 
> https://github.com/zbraniecki/proposal-intl-list-format )
>
> L10n:
> *) http://l20n.org/
> *) https://github.com/l20n/l20n.js
> *) (icu-design proposal) 
> https://sourceforge.net/p/icu/mailman/message/35027629/
>
> Platform coverage:
>
> Our initial plan is to migrate Firefox to the new architecture.
> In the future we'll look into enabling it for Web Extensions and other 
> platform targets.
> As we progress with standardization of the I18n and L10n APIs through ECMA 
> 402 we will expose those APIs to the public.
>
> Estimated or target release:
>
> At this point we do not have a clear visibility into which release we will 
> target. We plan to enable the APIs gradually, starting with L20n JSM module 
> and HTML/XUL bindings. We would like to start landing the first batch of 
> patches over the next month.
>
> Do other browser engines implement this?
>
> Other vendors are working with us to standardize I18n APIs through TC39 
> working group. We plan to standardize most of the new formatters in 4th 
> edition of ECMA 402 and we expect other vendors to implement it then.
> L10n API is less mature and we expect to work with ICU, W3C and TC39 to come 
> up with pieces of API that we will be able to push for standardization.
>
> Please, share any feedback and come to our session in London!
>
> zb.
> _______________________________________________
> dev-platform mailing list
> dev-platform@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-platform
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to