Microsoft는 귀하를 쉽게 해주지 않습니다. 질문에 언급 된 NLS 파일에는 로캘 정보가 포함되어 있지만 HEX에 있습니다. 16 진 편집기를 사용하더라도 내용은 사람이 읽을 수있는 것과 거리가 멀습니다. r0ca의 답변에서 영감을 얻은 대체 전략을 채택하기로 결정했습니다.
Microsoft에서 게시 한 사용 가능한 로캘 목록이 더 정확합니다 . 불행히도이 목록조차 옳지 않습니다. (사용 가능한 모든 로캘을 설치했으며 Microsoft의 목록에는 없지만 전통적인 스페인어, 현대 스페인어 또는 마케도니아 어에는 해당되지 않는 Nothern Sotho가 있습니다. 우크라이나어는 목록에 두 번 있습니다.)
그 이름도 Microsoft 목록에 맞지 않습니다.
일반적으로 이름은 "Language"또는 "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"가됩니다.
올바른 국가 이름 인 "English_Philippines"가 "English_Republic of the Philippines"이되는 것을 추측해야 할 더 많은 예가 있습니다.
제어판에서 Windows 로캘을 변경 한 다음 R을로드하고 입력하여 이러한 예외를 대부분 파악했습니다.
Sys.getlocale()
불행하게도,이 방법은 현재 인도 로케일 (및 다른 일부)에서는 작동하지 않습니다. 여기에서 버그 리포트를 참조 하십시오 .