2016-09-21 1 views
2

In meinem Browser-Konsole:Woher kommt die Unterstützung von Intl.NumberFormat in node.js?

> Intl.NumberFormat.supportedLocalesOf('it') 
["it"] 

In Knoten auf meinem Computer:

> Intl.NumberFormat.supportedLocalesOf('it') 
[] 

In Knoten auf meine Mitarbeiter-Computer:

> Intl.NumberFormat.supportedLocalesOf('it') 
["it"] 

gleichen Versionen von Knoten 4.5.0

Wohin soll die Intl.NumberFormat-Unterstützung fr kommen? om? Was müssen Sie erstellen, um es in Ihre Knotenversion aufzunehmen?

+0

Welche Versionen/Betriebssysteme verwenden Sie? – ShaBANG

+0

MacOSX 10.X und debian (die neuesten 2 Versionen) je nach der Maschine (Jenkins, Build, Laptop, etc ...) – boatcoder

Antwort

1

Standardmäßig erstellt der Knoten aufgrund der Dateigröße nur einen reduzierten Satz von ICU-Daten (nur Englisch).

Wenn Sie bereits Knoten manuell erstellen, erhalten Sie ./configure --with-intl=full-icu den vollständigen integrierten ICU-Datensatz. Sie können auch --with-intl=system-icu verwenden, damit der Knoten die OS ICU-Daten verwendet.

Wenn Sie von einer anderen (nichtnodejs.org) Quelle wie einem Betriebssystem-Distributions-Repository installieren, müssen Sie sich an den Betreuer solcher Binärdateien wenden, um Builds mit Full-icu/system-icu bereitzustellen.

Eine letzte Option ist die Installation des Moduls full-icu, das den vollständigen icu-Datensatz zur Verfügung stellt.

+0

Ich habe nur die Full-icu-Lösung getestet. – boatcoder

1

Von https://github.com/nodejs/node/wiki/Intl

Was Intl ist?

EcmaScript 402 beschreibt das globale Intl (kurz für Internationalisierung) -Objekt und andere verwandte Funktionen und Funktionalität.

Node.js (oder genauer gesagt, die V8-Engine) verwendet ICU4C, um diese Intl-Unterstützung in nativem C/C++ zu implementieren. Die Quelle der ICU ist nicht im Quellen-Repository oder in den Quellverteilungen des Knotens enthalten.

Siehe auch https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Intl

Das Intl Objekt der Namensraum für die ECMAScript Internationalization API ist, die Sprache sensible String Vergleich bietet, Zahlenformatierung, sowie Datum und Uhrzeit Formatierung. Die -Konstruktoren für Collator-, NumberFormat- und DateTimeFormat-Objekte sind Eigenschaften des Intl-Objekts. Diese Seite dokumentiert diese Eigenschaften sowie Funktionalität, die für die Internationalisierung Konstruktoren und andere sprachabhängige Funktionen üblich sind.

Ich sehe, dass ich nicht Intl in Knoten 5.12.0 habe, aber ich habe es standardmäßig in Knoten 6.5.0.

Es wurden in 6.0.0 hinzugefügt werden: https://nodejs.org/en/blog/release/v6.0.0/

[cdba9a6c02] - src: add intl und icu configs zu process.binding ('config') (James M Snell) #6266

+0

Ich habe es in 4.5.0 so ist es existiert, aber es ist stark begrenzt . – boatcoder