Microsoft对您而言并不容易。问题中提到的NLS文件确实包含语言环境信息,但是它在HEX中。即使使用十六进制编辑器,其内容也远非人类可读。我决定根据r0ca的答案采取另一种策略。
Microsoft提供了更准确的可用语言环境列表。不幸的是,即使这个列表也不是很正确。(我安装了所有可用的语言环境,并且安装了Nothern Sotho,该位置不在Microsoft的列表中,但不包括Traditional Spanish,Modern Spanish或Macedonian。乌克兰语在该列表中有两次。)
这些名称在Microsoft列表上也不太正确。
通常,名称的格式应为“语言”或“ Language_Country Name”,例如“ English”或“ English_United Kindom”
这意味着在第一个字母后的下划线必须用空格替换,并且人名必须用国家/地区名称替换,例如“ Malay_Brunei_Darussalam”变为“ Malay_Brunei Darussalam”“ Dutch_Belgian”变为“ Dutch_Belgium”
还有很多其他的奇怪之处。拉丁文,西里尔文和其他一些单词必须放在方括号中,例如,“ Serbian_Cyrillic_Bosnia_Herzegovina”变成“ Serbian(Cyrillic)_Bosnia and Herzegovina”
同样,“ Sami_Inari”变为“ Sami(Inari)_Finland”
还有更多的例子必须猜测正确的国家名称“英语_菲律宾”变为“英语_菲律宾共和国”
通过从控制面板更改Windows区域设置,然后加载R并键入,我找出了大多数此类异常
Sys.getlocale()
不幸的是,这种方法目前不适用于印度语言环境(以及其他一些语言环境)。在这里查看错误报告。