To control how ICU is used in Node.js, four configure
options are available
during compilation. Additional details on how to compile Node.js are documented
in [BUILDING.md][].
--with-intl=none
/--without-intl
--with-intl=system-icu
--with-intl=small-icu
--with-intl=full-icu
(default)
An overview of available Node.js and JavaScript features for each configure
option:
none |
system-icu |
small-icu |
full-icu |
|
---|---|---|---|---|
[String.prototype.normalize() ][] |
none (function is no-op) | full | full | full |
String.prototype.to*Case() |
full | full | full | full |
[Intl ][] |
none (object does not exist) | partial/full (depends on OS) | partial (English-only) | full |
[String.prototype.localeCompare() ][] |
partial (not locale-aware) | full | full | full |
String.prototype.toLocale*Case() |
partial (not locale-aware) | full | full | full |
[Number.prototype.toLocaleString() ][] |
partial (not locale-aware) | partial/full (depends on OS) | partial (English-only) | full |
Date.prototype.toLocale*String() |
partial (not locale-aware) | partial/full (depends on OS) | partial (English-only) | full |
[WHATWG URL Parser][] | partial (no IDN support) | full | full | full |
[require('buffer').transcode() ][] |
none (function does not exist) | full | full | full |
[REPL][] | partial (inaccurate line editing) | full | full | full |
[require('util').TextDecoder ][] |
partial (basic encodings support) | partial/full (depends on OS) | partial (Unicode-only) | full |
[RegExp Unicode Property Escapes][] |
none (invalid RegExp error) |
full | full | full |
The “(not locale-aware)” designation denotes that the function carries out its
operation just like the non-Locale
version of the function, if one
exists. For example, under none
mode, Date.prototype.toLocaleString()
‘s
operation is identical to that of Date.prototype.toString()
.