Internationalization summary 1/19 (TC39 meeting)

Norbert Lindenberg ecmascript at norbertlindenberg.com
Mon Jan 23 16:57:45 PST 2012


Well, Jed does a little more than you give it credit for, but there's still no real overlap.

Jed provides the following functionality:
- an incomplete implementation of resource loading (no language negotiation, no I/O, only dictionary lookup),
- an incomplete implementation of plural handling (it interprets plural rules, but doesn't include any localized rules),
- a non-internationalized implementation of number formatting (even standard sprintf would at least have a localized decimal separator),
- a partially internationalized implementation of message construction (using the incomplete plural handling and non-internationalized number formatting, omitting gender handling)

The current Globalization API, for comparison:
- omits resource loading because it would require some I/O facility, which ECMAScript doesn't have,
- omits message construction with plural and gender handling because the team couldn't agree on one solution,
- provides fully internationalized number formatting.
- also provides collation and date and time formatting, which Jed doesn't address.

There are other JavaScript internationalization libraries though that have functionality overlapping with the Globalization API:
- Number formatting: Closure .i18n.numberformat; Dojo .currency, .number; jQuery Globalize
- Date and time formatting: Closure .i18n.datetimeformat; Dojo .date;; jQuery Globalize; YUI .DataType.Date;
- Collation: none to my knowledge.

Jed does overlap with the quasi proposal for Harmony - they both do message construction, which needs internationalization. The quasi proposal has some ideas for that, but they don't seem fully thought through, and don't integrate with the Globalization API.

Norbert


On Jan 23, 2012, at 14:19 , Nebojša Ćirić wrote:

> He is unfortunately using term "internationalization" for "localization". This library only lets you handle resource loading - i.e. translated messages.
> 
> Our library deals with proper formatting and sorting (and possibly many more in the future). The actual sorting (collation) is the hard part where no native JavaScript implementation exists and with a good reason - data size and algorithm complexity would be hard to overcome.
> 
> I don't feel we are rushing anything, it's been 1.5 yrs since we started, but this is my first standard so I may be too optimistic :).
> 
> 23. јануар 2012. 13.26, Brendan Eich <brendan at mozilla.com> је написао/ла:
> Just saw this tweeted:
> 
> http://slexaxton.github.com/Jed/
> 
> Wondered if anyone has any reactions. We have a Globalization API rushing to standardization while libraries to do some of what it does exist on github.com. It seems to me we ought to look at the latter while finalizing the former -- if not actually interact with developers using the latter more.
> 
> /be
> 
> Nebojša Ćirić <mailto:cira at google.com>
> January 20, 2012 2:38 PM
> 
> Thanks to Waldemar the meeting notes related to intl work were already posted to the list. I would like to expand them, and restart discussion on couple of remaining issues.
> 
> Testing
> 
>  * We got ECMA number allocated to us (402) so we can use it for
> 
>    testing infrastructure and any future needs.
>  * Talked to David Fugate about where to put the tests and how to run
> 
>    them without affecting ES5 tests.
>  * Interested parties should ask for access to the test262 repository
>    (follow these instructions
>    <http://wiki.ecmascript.org/doku.php?id=test262:submission_process>).
>  * We need bugzilla entry for intl work for testing (we already have
>    one for the draft)
>  * Mr. Istvan pointed out that we may need to produce TR (one page)
> 
>    that points to the tests. It's not gating on our progress.
> 
> Requirements for March meeting
> 
>  * Draft ready and reviewed by TC39 members
>  * Two distinct implementations and testing in place
> 
> 
> Microsoft and Google representatives stated that they could have implementations ready by given deadline (barring large changes to the current spec).
> We are working on updating the draft and introductory document and should have them ready for the review soon.
> We started work on testing, but will need time to tell how quickly we can progress there.
> 
> General
> 
>  Going back to module vs. global object discussion. General agreement was that we should pick a global name and work with that, then use modules when they are ready, but that we should wait for Brendan to pitch in before making a final decision. Most of the group was for shorter name i.e. "intl" if it doesn't introduce conflicts.
>  The reason for this discussion was the current state of the module spec, i.e. it's not clear yet where load/loaded will reside (not everybody agrees on Object.system). In order to produce an implementation by March and have draft accepted we do need to decide rather soon on this.
> 
>  Range vs. TypeError discussion. We eliminated ValueError proposal from our spec and decided to use RangeError. A "fierce" discussion followed and I think the final decision was to keep using RangeError.
> 
> -- 
> Nebojša Ćirić
> 
> 
> 
> -- 
> Nebojša Ćirić



More information about the es-discuss mailing list