【发布时间】:2023-04-04 04:40:02
【问题描述】:
JavaScript 字符串toLocaleUpperCase() 方法应该考虑不同语言环境的大小写映射,例如土耳其语(i 不是映射到无点 I,而是映射到土耳其语中的点 İ)。
但是,似乎仅从操作系统捕获了区域设置:我看不到设置区域设置的方法。因此,如果我使用的是 en-US 操作系统并想在“tr”中 toLocaleUpperCase() 一个土耳其语字符串,它将返回 en-US 版本(无点 I,而不是点 İ)。
假设我使用的是用 INTL (https://github.com/nodejs/node/wiki/Intl) 编译的 Node.js,我如何将语言环境定义为 toLocaleUpperCase()?
【问题讨论】:
-
请注意,每个进程可以有不同的语言环境,例如
LOCALE=tr_TR.UTF-8。查看Intl的文档,不清楚它是否是一个可以实例化并用作字符串操作上下文的对象……但这可能是您想要研究的方向。 -
谢谢@david,我会检查的。但是,我希望能够根据客户请求切换语言环境。通过为每个进程设置一个语言环境,它将永久使用该语言环境运行。对于一个适当国际化的软件,有必要根据不同的用户要求使用
toLocaleUpperCase()。我会看看这是否可以在运行时动态更改。
标签: javascript node.js internationalization ecmascript-intl