可用的 Windows 区域设置列表在哪里?

可用的 Windows 区域设置列表在哪里?

如果您打开Regional and Language Options(通过Control Panel),并单击选项Regional Options卡,则会出现一个包含所有可用语言环境的下拉列表。

此列表的内容来自哪里?

(我想比较每个地区设置的设置;我知道该怎么做,但我需要一个可以循环访问的地区名称列表。)


编辑:浏览我的 Windows 目录后(可能应该提到我正在使用 XP),文件

C:\WINDOWS\system32\locale.nls

看起来像是一个合理的候选,但它是一个二进制文件。这是我应该查看的吗?如果是,我该如何读取它?

答案1

Microsoft 不会让您轻松完成此操作。问题中提到的 NLS 文件确实包含区域设置信息,但它是十六进制的。即使使用十六进制编辑器,内容也远非人类可读。我决定采取另一种策略,灵感来自 r0ca 的回答。

有更准确的可用语言环境列表由微软发布。不幸的是,即使这个列表也不太准确。(我安装了所有可用的语言环境,我有北索托语,它不在微软的列表中,但不在传统西班牙语、现代西班牙语或马其顿语中。乌克兰语在列表中出现了两次。)

微软名单上的名字也不太正确。

一般来说,名称应采用“语言”或“语言_国家名称”的形式,例如“英语”或“英语_英国”

这意味着第一个下划线后的下划线必须替换为空格,并且人名需要替换为国家名称,例如“Malay_Brunei_Darussalam”变为“Malay_Brunei Darussalam”,“Dutch_Belgian”变为“Dutch_Belgium”

还有许多其他奇怪之处。拉丁语、西里尔语和其他一些词需要用括号括起来,例如“Serbian_Cyrillic_Bosnia_Herzegovina”变成“Serbian (Cyrillic)_Bosnia and Herzegovina”

同样,“Sami_Inari”变成“Sami (Inari)_Finland”

还有更多需要猜测正确国家名称的例子,“English_Philippines”变成“English_Republic of the Philippines”

我通过在控制面板中更改 Windows 区域设置,然后加载 R 并输入以下内容来解决大多数这些异常

Sys.getlocale()

不幸的是,此方法目前不适用于印度地区(以及其他一些地区)。请参阅错误报告这里

答案2

你已经把它们全部列出了这里。我希望这就是你正在寻找的

相关内容