19

Ich suche eine Unterlegscheibe für die ECMAScript Internationalization API. Kennt jemand solch ein Projekt? (Auch wenn es momentan noch in Arbeit ist.)Gibt es ein i18n (Intl) Shim für JavaScript?

+1

Vielleicht fragen Norbert Lindenberg direkt, wer ist der Herausgeber dieser Spezifikation – kangax

+0

Warum nicht mit ISO-Standards gehen und vergessen Sie alle traditionellen mehrdeutigen Datumsformat, das meine Oma verwendet? (ISO-Daten, ISO-Währungscodes usw.). –

+0

Gut zu wissen, @AndyE! Mach weiter so! Ich werde den Fortschritt verfolgen. –

Antwort

1

Ich nehme an, Sie wissen, dass "Google Chrome Version 24, derzeit in der Beta-Version, die API mit Collator-, NumberFormat- und DateTimeFormat-Objekten wie oben beschrieben implementiert." (siehe here). Jedes Shim wäre entweder riesig und/oder unvollständig in Bezug auf die Gebietsabdeckung - wollen Sie wirklich Kannada-Nummern implementieren (das ist die Sprache, die sie hier in Bangalore sprechen)?

Mein Vorschlag wäre, Ihre eigene abgespeckte Shim mit den Teilen, die Sie benötigen, auszuwählen und aus anderen Bibliotheken auszuwählen, die ähnliche Dinge nach Bedarf tun. Zum Beispiel möchten Sie vielleicht Datum/Uhrzeit formatieren, aber nicht sortieren (was kompliziert ist).

13

Ja, es gibt eine Polyfill für ECMA-402 (auch bekannt als ECMA Internationalisation API Specification), erhältlich unter https://github.com/andyearnshaw/Intl.js.

Für den Einsatz in Node.js-Anwendungen können Sie mit NPM installieren:

npm install intl 

Es ist auch als Bower Komponente für die Front-End zur Verfügung:

bower install intl 

Es gibt Unterstützung für NumberFormat und DateTimeFormat, aber keine Unterstützung für Collator. Derzeit müssen Sie für Client-seitige Browserumgebungen die Gebietsschema-Daten mithilfe einer separaten Funktion hinzufügen. Weitere Informationen finden Sie in der Datei README.md.

Haftungsausschluss: @AndyE ist der Autor von Intl.js.

+0

Kommt Collator? Das ist das interessanteste bisschen für mich. – hippietrail

+1

@ Hippietrail wahrscheinlich nicht. Ich habe untersucht, dass Collator bereits in der frühen Entwicklungsphase hinzugefügt wurde und große Downloads für den [DUCET] (http://en.m.wikipedia.org/wiki/Unicode_collation_algorithm) und die Sprachdateien des Benutzers erforderlich sind. Ich vermute, dass dies die meisten Leute abschrecken würde und das Problem wäre es am Ende nicht wert. –

+0

Dies ist eine ziemlich ernste Lücke in etwas, das sich selbst als Polyfill für Intl bezeichnet. Sie könnten auch erwarten, dass die Leute davon ablenken, dass überhaupt keine Unterstützung für die Sortierung vorhanden ist. Collation scheint das unangenehme Stiefkind von Intl zu sein, aufgrund der Probleme, die Sie beschreiben (was sicherlich vernünftig ist). – pat