Wo ist die Liste der verfügbaren Windows-Gebietsschemas?

13

Wenn Sie das Regional and Language Options(via Control Panel) öffnen und auf die Regional OptionsRegisterkarte klicken , wird eine Dropdown-Liste aller verfügbaren Gebietsschemas angezeigt.

Woher kommt diese Liste?

(Ich möchte die Einstellungen für jedes Gebietsschema vergleichen. Ich bin damit einverstanden, aber ich benötige eine Liste mit Gebietsschemanamen, um eine Schleife durchzuführen.)


BEARBEITEN: Nach dem Durchsuchen meines Windows-Verzeichnisses (sollte wahrscheinlich erwähnen, dass ich XP verwende), die Datei

C:\WINDOWS\system32\locale.nls

sieht aus wie ein plausibler Kandidat, ist aber eine Binärdatei. Sollte ich mir das ansehen und wenn ja, wie lese ich es?

Richard Cotton
quelle
Ich bin vor einiger Zeit in eine ähnliche Situation geraten. Dann habe ich erfahren, dass es keinen direkten Weg gibt, die von Windows unterstützten Gebietsschemas zu kennen. Ich habe ein Programm geschrieben, um alle unterstützten Gebietsschemanamen unter Windows zu drucken. Hier ist der Link stackoverflow.com/questions/27614666/… . Ich habe auch eine ausführbare Datei, wenn Sie wollen.
Benutzer1

Antworten:

9

Microsoft macht es Ihnen nicht einfach. Die in der Frage erwähnte NLS-Datei enthält zwar die Gebietsschemainformationen, befindet sich jedoch in HEX. Selbst mit einem Hex-Editor sind die Inhalte alles andere als lesbar. Ich entschied mich für eine alternative Strategie, inspiriert von der Antwort von r0ca.

Es gibt eine genauere Liste der verfügbaren Gebietsschemas, die von Microsoft veröffentlicht wurden . Leider stimmt auch diese Liste nicht ganz. (Ich habe alle verfügbaren Gebietsschemas installiert und habe Nothern Sotho, das nicht auf der Liste von Microsoft steht, aber nicht auf traditionellem Spanisch, modernem Spanisch oder Mazedonisch. Ukrainisch ist zweimal auf der Liste.)

Die Namen sind auch in der Microsoft-Liste nicht ganz richtig.

Im Allgemeinen sollten Namen die Form "Sprache" oder "Language_Country Name" haben, z. B. "English" oder "English_United Kindom".

Dies bedeutet, dass Unterstriche nach dem ersten durch Leerzeichen ersetzt werden müssen und dass Personennamen durch Ländernamen ersetzt werden müssen, z. B. "Malay_Brunei_Darussalam" wird zu "Malay_Brunei Darussalam". "Dutch_Belgian" wird zu "Dutch_Belgium".

Es gibt viele andere Kuriositäten. Latein, Kyrillisch und einige andere Wörter müssen in Klammern gesetzt werden, z. B. "Serbisch_Kyrillisch_Bosnien_Herzegowina" wird zu "Serbisch (Kyrillisch) _Bosnien und Herzegowina".

Ebenso wird "Sami_Inari" zu "Sami (Inari) _Finland"

Es gibt viele weitere Beispiele dafür, wie man die richtigen Ländernamen erraten muss. "English_Philippines" wird zu "English_Republic of the Philippines".

Ich habe die meisten dieser Ausnahmen herausgefunden, indem ich mein Windows-Gebietsschema über die Systemsteuerung geändert, dann R geladen und eingegeben habe

Sys.getlocale()

Leider funktioniert diese Methode derzeit nicht mit den indischen Gebietsschemas (plus einigen anderen). Siehe Fehlerbericht hier .

Richard Cotton
quelle
5

Sie haben sie alle hier aufgelistet . Ich hoffe, das ist es, wonach Sie suchen

r0ca
quelle
Vielen Dank, obwohl ich wirklich die Liste der Sprachen haben möchte, die auf meinem System verfügbar sind. Zum Beispiel habe ich kein Chinesisch installiert, aber ich habe Northern Sotho (was nicht auf der Liste war). (Sehen Sie sich diese Optionen an ...) Der Punkt ist, dass Windows eine Liste der installierten Elemente speichern muss. Ich kann es einfach nicht finden.
Richard Cotton
Ich versuche immer noch, diesen .nls-Dateireader zum Laufen zu bringen ... Verdammt!
r0ca
Vielen Dank für Ihre Ausdauer. Es scheint, dass die neueste Version des NLS-Readers von Gudu Software beschädigt ist. Ich habe ihnen eine E-Mail geschickt, um es ihnen zu sagen, also müssen wir abwarten und sehen.
Richard Cotton
Ja, ich hatte das gleiche, aber ich habe keine E-Mail gesendet. Auch aus mehreren Spiegeln ausprobiert, aber ... kein Glück!
r0ca