Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Good to know about, but the really great contribution that Mozilla has made to localization is in Project Fluent (https://projectfluent.org/) which enables sophisticated translation with asymmetric localization, progressive enhancement, and other features critical to high quality localization. If you are just swapping in some strings then the usual combination of gettext and Intl are probably fine, but high quality localization often requires more than that.


Not sure why you're mentioning Mozilla here, the only thing in common with the submission is that it happens to be hosted under mozilla.org. The ECMAScript Internationalization API seems to have been written and contributed to by mostly non-mozillians, none of the contributors listed at https://webplatform.github.io/docs/apis/internationalization... are related to Mozilla as far as I can tell.

Project Fluent is a great recommendation though, haven't seen before but looks really useful.


The list your linked is from 2012. In the last 9 years ECMA-402 has been heavily influenced by Mozilla's projects like Firefox OS and MozIntl APIs. :)


Yeah, I guess the specification was finalized in 2012? The specification itself has the same list of contributors: https://402.ecma-international.org/ecma-402/1.0/ECMA-402.pdf

Unless the specification has been rewritten under another name, I'm not sure why the date matters? The specification was mostly written by non-mozillians and I still don't quite get the point from m0llusk. Firefox OS and MozIntl APIs is not mentioned nor linked in the submission either. Maybe I'm just missing both of your points entirely, if so, I'm sorry.


Fair question, thanks for asking!

There have been 9 revisions of ECMA-402 since 2012. We are, in fact, following TC-39 on a yearly cadence of releases.

You can see the history of editions here: https://www.ecma-international.org/publications-and-standard...

The first edition (finished in 2012), had just NumberFormat, Collator and basic DateTimeFormat.

Since then, we added Locale, PluralRules, ListFormat, RelativeTimeFormat, DisplayNames, two new revisions of NumberFormat, two major additions to DateTimeFormat, and we're now adding Segmenter, LocaleInfo, CalendarInfo and working on MessageFormat 2.0.

Here's a very incomplete list of finished proposals that have been merged into the standard and implemented in browsers - https://github.com/tc39/proposals/blob/master/ecma402/finish...

I may or may not be involved in majority of them! :)


Thank you a lot for clarifying and educating! Also thanks to your contributions, you've definitely made the web a better place :)


Ah, I see... :-T


> If you are just swapping in some strings

Besides currency, date/time, numeric separators, and unit selection/conversion, that's all that's usually necessary (assuming the app's strings are translated).


I think “swapping in some strings” sounds deceptively simple. You need the strings to be designed with localisability in mind. In particular there may be several variants of the same string in one language, but just one in another, depending on factors such as number or gender…


An app I was working on was translated into 5 or 6 languages, and I never saw differing variants in any of those languages.


Sounds like they were all Western European languages.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: