マイクロソフトはそれを簡単にしてくれません。質問で言及されているNLSファイルにはロケール情報が含まれていますが、それは16進数です。16進エディタを使用しても、内容は人間が判読できるものにはほど遠いものです。私は、r0caの答えに触発された代替戦略を取ることにしました。
Microsoftによって公開されている利用可能なロケールのより正確なリストがあります。残念ながら、このリストでさえ正しくありません。(利用可能なすべてのロケールをインストールしました。NothernSothoがありますが、これはMicrosoftのリストにはありませんが、伝統的なスペイン語、現代のスペイン語、マケドニア語ではありません。ウクライナ語は2回リストに含まれています。)
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()
残念ながら、この方法は現在インドのロケール(およびその他いくつか)では機能しません。こちらのバグレポートをご覧ください。