String.toLocaleUpperCase():在Node.js上设置语言环境

JavaScript String toLocaleUpperCase()方法应该考虑在不同语言环境(如土耳其语)上的大小写映射(我不是映射器,而是点到土耳其语的点)。

但是,似乎该语言环境仅从操作系统中捕获:我没有看到设置语言环境的方法。 因此,如果我使用的是en-US操作系统,并且希望在“tr”中使用toLocaleUpperCase()土耳其string,则它将返回en-US版本(无dotless,I,not dotted©)。

假设我正在使用INTL( https://github.com/nodejs/node/wiki/Intl )编译的Node.js,我怎样才能定义语言环境toLocaleUpperCase()

这不是现在的答案。 但是ECMA-402现在指定了(从spec的第二版开始) String.prototype.toLocaleUpperCase的行为。 ECMA-402更改函数以获取locale参数( undefined ,string或者区域设置) – 类似于ECMA-262修改的ECMA-262中的Number.prototype.toLocaleString和各种其他区域设置敏感函数。 402 – 并且与该语言环境的行为一致。 一旦Node实现了( 现在不行 ),你可以简单地改变

 var str = "bira"; str.toLocaleUpperCase(); // "BIRA" 

 var str = "bira"; str.toLocaleUpperCase("tr-TR"); // BİRA 

并在你的路上。

(免责声明:我根本不知道土耳其语,我只是从土耳其的单词表中select一个包含“我”的单词,而且我假定区域设置敏感的大写作品按我期望的方式工作,就这个例子而言以上。)