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().
