NLS-Terminologie

In diesem Thema werden Begriffe definiert, die beim Arbeiten mit NLS-Funktionen wichtig sind.

Gebietsschema- und Sprachbegriffe

In der folgenden Tabelle sind Gebietsschema- und Sprachbegriffe zusammengefasst. Siehe auch Gebietsschemas und Sprachen.

Sprachgruppe Sprache für Programme, die Unicode nicht unterstützen Standards und Formate
Zweck Stellt alle Tastaturlayouts, Eingabemethoden-Editoren (IMEs), TrueType-Schriftarten, Schriftartlinks, Lizenzpaketdateien (LPKs), Bitmapschriftarten und Codepageübersetzungstabellen bereit, die vom Betriebssystem für eine Gruppe von Sprachen benötigt werden. Wirkt sich daher auf alle anderen Einstellungen in dieser Liste aus. Bestimmt, welche Bitmapschriftarten sowie OEM-, ANSI- und Macintosh-Codepages Standardwerte für das Betriebssystem sind. Diese Sprache betrifft nur Anwendungen, die nicht vollständig Unicode sind. Vor Windows XP wurde diese Sprache als "Systemgebietsschema" bezeichnet. Bestimmt, welche Einstellungen für die Formatierung von Datumsangaben, Uhrzeiten, Währungen und Zahlen als Standard für jeden Benutzer verwendet werden. Bestimmt auch die Sortierreihenfolge für das Sortieren von Text. Vor Windows XP wurden Standards und Formate als "Benutzergebietsschema" bezeichnet.
Erster Satz Installation Installation Installation
So können Benutzer änderungen durchführen Regionale Optionen (Systemsteuerung Element)
Windows XP: Regional- und Sprachoptionen
(nur Administratoren)
Regionale Optionen (Systemsteuerung Element)
Windows XP: Regional- und Sprachoptionen
(nur Administratoren)
Regionale Optionen (Systemsteuerung Element)
Windows XP: Regional- und Sprachoptionen
Standard Westeuropa und USA und Sprachgruppe erforderlich, um die Sprache einer lokalisierten Version anzuzeigen. Sprache der lokalisierten Version. Sprache des lokalisierten Betriebssystems.
Function EnumSystemLanguageGroups GetSystemDefaultLangID GetUserDefaultLCID, GetUserDefaultLocaleName

 

Threadgebietsschema Eingabesprache Standardsprache der Benutzeroberfläche des Systems
Zweck Bestimmt die Einstellungen, die zum Formatieren von Datumsangaben, Uhrzeiten, Währungen und großen Zahlen für einen Thread verwendet werden. Bestimmt auch die Sortierreihenfolge für das Sortieren von Text. Besteht aus einer Sprache und einer Eingabemethode. Bestimmt die Standardsprache von Menüs und Dialogfeldern, Nachrichten, Setupinformationsdateien (INF) und Hilfedateien.
Windows Vista und höher: Wird als Installationssprache bezeichnet. Spielt eine eingeschränktere Rolle, die größtenteils durch systemseitig bevorzugte Benutzeroberflächensprachen ersetzt wird.
Weitere Informationen finden Sie unter Sprachverwaltung der Benutzeroberfläche.
Erster Satz Standardeinstellungen für Standards und Formate Installation Installation
So können Benutzer änderungen durchführen SetThreadLocale Regionale Optionen (Systemsteuerung Element)
Windows XP: Regional- und Sprachoptionen
Nein
Standard Standards und Formate Sprache der lokalisierten Version mit Standardeingabemethode. Sprache der lokalisierten Version.
Function GetThreadLocale GetKeyboardLayout GetSystemDefaultUILanguage

 

System-UI-Sprache, vom System bevorzugte Benutzeroberflächensprachen Benutzeroberflächensprache, bevorzugte Benutzeroberflächensprachen Bevorzugte Threadsprachen der Benutzeroberfläche
Zweck Bestimmen Sie die Sprache von Menüs und Dialogfeldern, Nachrichten, INF-Dateien und Hilfedateien für das Betriebssystem. Weitere Informationen finden Sie unter Sprachverwaltung der Benutzeroberfläche. Bestimmen Sie die Sprache von Menüs und Dialogfeldern, Nachrichten und Hilfedateien für den Benutzer. Weitere Informationen finden Sie unter Sprachverwaltung der Benutzeroberfläche. Windows Vista und höher: Geben Sie die bevorzugten Sprachen für Anwendungsthreads an. Weitere Informationen finden Sie unter Sprachverwaltung der Benutzeroberfläche.
Erster Satz Standardwert auf NULL Standardwert auf NULL Standardwert auf NULL
So können Benutzer änderungen durchführen Regions- und Sprachoptionen
(nur Administratoren)
Regionale Optionen (Systemsteuerung Element)
Windows XP: Regional- und Sprachoptionen
SetThreadPreferredUILanguages
Standard Windows Vista und höher: Sprache der lokalisierten Version, gefolgt von allen Fallbacks. Vor Windows Vista: Sprache der lokalisierten Version.
Windows Vista und höher: Sprache der lokalisierten Version, gefolgt von allen Fallbacks.
NULL-Liste
Function GetSystemPreferredUILanguages GetUserDefaultUILanguage, GetUserPreferredUILanguages GetThreadPreferredUILanguages

 

Verarbeiten bevorzugter Benutzeroberflächensprachen
Zweck Windows 7 und höher: Bestimmen Sie die bevorzugten Sprachen für einen Anwendungsprozess. Weitere Informationen finden Sie unter Benutzeroberflächensprachverwaltung.
Erster Satz Standardwert: NULL
Wie Benutzer änderungen durchführen können Regional- und Sprachoptionen (nur Administratoren)
Standard Windows 7 und höher: Sprache der lokalisierten Version, gefolgt von allen Ausweichvorgängen.
Function GetProcessPreferredUILanguages, SetProcessPreferredUILanguages

 

Codepage

Die Unfähigkeit von Codepages mit 256 Codepunkten, das Mischen von Skripts in einem einzelnen Text zu unterstützen, war einer der Standard Gründe für den Aufstieg von Unicode. Codepages sind nach wie vor wichtig für das Schreiben von Konsolencode, für die Verwaltung von Legacyanwendungen oder für die Ausführung unter älteren Versionen von Windows sowie für die Interfacing mit nicht von Microsoft stammender Software, die nicht Unicode-fähig ist.

Eingabesprache

Die Eingabesprache wird durch eine Pro-Prozess-Datenvariable dargestellt, die eine Sprache (z. B. Griechisch) und eine Eingabemethode (z. B. die Tastatur) beschreibt. Es können mehrere Eingabesprachen installiert werden, und der Benutzer kann zwischen ihnen wechseln.

Um den Wert der Eingabesprache festzulegen und abzurufen, ruft die Anwendung LoadKeyboardLayout bzw . GetKeyboardLayout auf. Benutzer können Eingabesprachen über die Registerkarte Sprachen im Bereich der Regions- und Sprachoptionen des Systemsteuerung hinzufügen und entfernen.

Die Standardeingabesprache ist die lokalisierte Sprache des Betriebssystems, und es ist die Einstellung, die aktiv ist, wenn eine neue Anwendung gestartet wird (oder wenn ein neues Fenster für einige Anwendungen geöffnet wird). Der Wechsel zu einer anderen Eingabesprache erfolgt auf Anwendungsbasis. Mit anderen Worten, zwei verschiedene Eingabesprachen können in zwei verschiedenen Anwendungen verwendet werden. Ein Benutzer kann beispielsweise Deutsch mit dem internationalen USA Tastaturlayout, Englisch mit Spracheingabe (mit Nicht-Microsoft-Software) und Spanisch mit einem IME in drei verschiedenen Anwendungen eingeben.

Sprache für Nicht-Unicode-Programme

Die Sprache für Nicht-Unicode-Programme (früher als "Systemgebietsschema" bezeichnet) bestimmt die Codepage, die standardmäßig auf dem Betriebssystem verwendet wird. Die Einstellung sprache für Nicht-Unicode-Programme betrifft nur Nicht-Unicode-Anwendungen, d. h. ANSI-Anwendungen. Durch festlegen der Sprache wird Windows angewiesen, ein Nicht-Unicode-basiertes Betriebssystem zu emulieren, das in dieser Sprache lokalisiert ist. Wenn Sie die Sprache für Nicht-Unicode-Programme ändern, werden die erforderlichen Bitmapschriftartendateien installiert, um Nicht-Unicode-Anwendungen in der angegebenen Sprache zu unterstützen. Damit der Benutzer eine Sprache für Nicht-Unicode-Programme auswählen kann, muss die entsprechende Sprachgruppe installiert sein. Ihre Anwendung benötigt die Skriptunterstützung, um eine Sprache für Nicht-Unicode-Programme auszuwählen. Die Sprache für Nicht-Unicode-Programme ist eine systemspezifische Einstellung und erfordert einen Neustart, um implementiert zu werden.

Manchmal gibt es keinen erkennbaren Unterschied zwischen zwei Sprachen für Nicht-Unicode-Programme. Dies gilt beispielsweise für die Gebietsschemas Deutsch (Neutral) und Deutsch (Österreich). Im Allgemeinen sind die Einstellungen einer Sprachgruppe sehr ähnlich und unterscheiden sich nur in der OEM- oder MAC-Codepage.

Eine ANSI-Anwendung sollte während der Installation die Einstellung für Nicht-Unicode-Programme überprüfen. Sie verwendet GetACP oder GetOEMCP , um den Wert abzurufen. Es wird keine Funktion zum Festlegen der Sprache für Nicht-Unicode-Programme unterstützt. Benutzer können dies jedoch ändern, indem Sie die Registerkarte Erweitert im Bereich der Regions- und Sprachoptionen des Systemsteuerung. Im Folgenden sind einige Beispiele für Spracheinstellungen für Nicht-Unicode-Programmeinstellungen aufgeführt:

  1. Ein deutscher Benutzer, der eine japanische Anwendung ausführen möchte, die für das japanische Windows 95 entwickelt wurde, muss Japanisch als Sprache für Nicht-Unicode-Programme auswählen. Nach dieser Auswahl haben deutsche Nicht-Unicode-Anwendungen Probleme. Beispielsweise werden deutsche Umlaute ( ̈) nicht korrekt angezeigt.
  2. Ein deutscher Benutzer, der japanischen Text in einer Nicht-Unicode-Anwendung eingeben möchte, muss Japanisch als Sprache für Nicht-Unicode-Programme auswählen. Wie im ersten Beispiel verursacht dies Probleme bei der Eingabe von deutschem Text in Nicht-Unicode-Anwendungen.
  3. Ein arabischer Benutzer, der Arabisch, Französisch und Englisch in einer Nicht-Unicode-Arabischen Anwendung eingeben möchte, sollte Arabisch als Sprache für Nicht-Unicode-Programme auswählen, da die arabische ANSI-Codepage die meisten französischen Zeichen und alle englischen Zeichen enthält.

Sprachgruppe

Die Sprachgruppe steuert die Sprache für Nicht-Unicode-Programme, Standards und Formate, Eingabesprachen und Benutzeroberflächensprachen, die ausgewählt werden können. Für jede lokalisierte Version ist die angegebene Sprachgruppe die Standardeinstellung und kann nicht entfernt werden. Windows installiert beispielsweise standardmäßig die Sprachgruppe "Westeuropa" und "USA". Wenn also die englische Version von Windows in einem nicht englischsprachigen Land/einer nicht englischsprachigen Region installiert ist, installiert der Benutzer in der Regel eine andere Sprachgruppe.

Beim Hinzufügen einer Sprachgruppe kopiert Windows die erforderlichen Tastaturdateien, Eingabemethoden-Editoren (IMEs), TrueType-Schriftartdateien, Bitmapschriftdateien und NLS-Dateien (National Language Support). Durch das Hinzufügen einer Sprachgruppe werden auch Registrierungswerte für die Schriftartverknüpfung hinzugefügt und Skript-Engines für komplexe Skriptsprachen (Arabisch, Hebräisch, Indisch und Thailändisch) installiert.

Neben der Sprachgruppe Westeuropa und USA gibt es 16 weitere Sprachgruppen:

Arabisch
Armenisch
Baltisch
Zentraleuropa
Kyrillisch
Georgisch
Griechisch
Hebräisch
Indic
Japanisch
Koreanisch
Chinesisch (vereinfacht)
Chinesisch (traditionell)
Thailändisch
Türkischen
Vietnamesisch

 

Eine beliebige Anzahl und Kombination von Sprachgruppen kann auf jedem Betriebssystem installiert werden. Beispielsweise kann ein spanischer Benutzer die Kyrillische Sprachgruppe installieren, um an russischen Texten zu arbeiten. In diesem Fall muss eine Textverarbeitungsanwendung auch die Kyrillische Sprachgruppe unterstützen.

Hinweis

Das Hinzufügen der entsprechenden Sprachgruppe ermöglicht es einer Anwendung nicht automatisch, Text zu akzeptieren. Testen wird empfohlen. Beispielsweise kann es für Nicht-Unicode-Anwendungen erforderlich sein, dass die Sprache für Nicht-Unicode-Programme geändert wird.

 

Position

Windows XP: Ein Standort ist ein geografischer Bezeichner. Sie wird durch eine Datenvariable pro Benutzer dargestellt, die das Land/die Region definiert, in dem der Benutzer lebt.

Um den Wert festzulegen, ruft die Anwendung SetUserGeoID auf. Um den Wert abzurufen, ruft die Anwendung GetUserGeoID auf.

Standards und Formate

Standards and Formats (ehemals "Benutzergebietsschema") ist eine benutzerspezifische Variable, die die Standardsortierreihenfolge und die Standardeinstellungen für die Formatierung von Datumsangaben, Uhrzeiten, Währungen und Zahlen bestimmt. Die Variable wird als Sprache (manchmal in Kombination mit einem Land/einer Region) dargestellt, aber es handelt sich nicht um eine Sprache selbst. Wenn Sie z. B. die Variable Standards und Formate auf Hebräisch festlegen, wird angegeben, dass der Benutzer die Formatierungskonventionen von Hebräisch verwenden möchte, nicht unbedingt die Sprache Hebräisch. Darüber hinaus bestimmt die Variable Standards und Formate die Zeichenfolge, die für die Namen von Tagen und Monaten verwendet wird. Wenn ein Benutzer beispielsweise "25. November 1998" anzeigt, kann sich die Zeichenfolge "November" basierend auf der Variablen Standards und Formate ändern. Wenn Sie die Variable ändern, wird automatisch ein Eingabegebietsschema mit den Standardeinstellungen für die Sprache hinzugefügt.

Zum Abrufen der Variableneinstellung Standards und Formate ruft die Anwendung GetUserDefaultLCID oder GetUserDefaultLocaleName auf. Zum Festlegen der Variablen ist keine NLS-Funktion verfügbar. Benutzer können sie jedoch über die Registerkarte Regionsoptionen im Teil der Regions- und Sprachoptionen des Systemsteuerung ändern.

Eine Anwendung sollte in der Regel die Variableneinstellungen Standards und Formate verwenden, um Daten anzuzeigen. Eine Anwendung, die ein festes Gebietsschema zum Anzeigen von Daten verwendet, sollte jedoch einen bestimmten Gebietsschemabezeichner übergeben, anstatt LOCALE_USER_DEFAULT zu verwenden.

Threadgebietsschema

Das Threadgebietsschema wird durch eine Pro-Thread-Gebietsschema-Datenvariable dargestellt, die die Formatierung von Datumsangaben, Uhrzeiten, Währungen und großen Zahlen für den Thread bestimmt. Standardmäßig wird der Wert für das derzeit für Standards und Formate ausgewählte Gebietsschema verwendet. Zum Festlegen des Threadgebietsschemas ruft die Anwendung SetThreadLocale auf. Zum Abrufen des Threadgebietsschemas ruft die Anwendung GetThreadLocale auf.

In den meisten Fällen sollte das Threadgebietsschema nicht überschrieben werden. Normalerweise sollte es nur verwendet werden, um das Threadgebietsschema einer Serveranwendung mit der Variablen Standards und Formate eines Clientcomputers zu synchronisieren. So muss beispielsweise eine Finanzaktienhandelsanwendung für die New York Stock Exchange, die in Banken weltweit zum Einsatz kommt, Uhrzeit, Datum und Aktienkurse in USA Formaten anzeigen. Diese Anwendung verwendet SetThreadLocale, um das Threadgebietsschema auf Englisch (USA) festzulegen, und verwendet dann die NLS-Funktionen, um Datumsangaben, Uhrzeiten und Aktienkurse zu formatieren.

Das Ändern des Threadgebietsschemas wirkt sich nicht auf alle API-Funktionen aus. Daher ist es nicht immer eine zuverlässige Möglichkeit, die Variable Standards und Formate zu überschreiben. Stattdessen sollten Anwendungen, die Standards und Formate steuern, ein festes Gebietsschema zum Anzeigen von Daten verwenden und einen bestimmten Gebietsschemabezeichner übergeben, anstatt LOCALE_USER_DEFAULT zu verwenden.

NLS-Beispiel

Das folgende Beispiel zeigt das Zusammenspiel zwischen Standards und Formaten, der Sprache für Nicht-Unicode-Programme, des Speicherorts und der Benutzeroberflächensprache.

Ein Benutzer, der aus Chile stammt, aber in der USA lebt, verfügt über einen Computer, auf dem Windows XP English ausgeführt wird. Der Benutzer legt den Standort auf USA fest, um einen Internetdienstanbieter (ISP) zu verwenden, um das Wetter für die USA abzurufen. Die Variable Standards and Formats ist jedoch auf Spanisch (Chile) festgelegt, sodass die Informationen gemäß den chilenischen Standards formatiert werden. Darüber hinaus verwendet der Benutzer ein koreanisches Textverarbeitungsprogramm, bei dem es sich um eine ANSI-Anwendung handelt, sodass die Sprache für Nicht-Unicode-Programme auf Koreanisch (Korea) festgelegt ist. Um die Anwendung zu verwenden, verfügt der Benutzer über eine englische Tastatur und installiert auch einen koreanischen IME, um eine zweite Eingabesprache zu unterstützen. Der Mitarbeiter des Benutzers, der den Computer teilt, aber nicht mit Englisch vertraut ist, kann die Benutzeroberflächensprache auf Spanisch (Spanien) festlegen, wenn er den Computer verwendet.

Informationen zur Unterstützung von Landessprachen

Gebietsschemas und Sprachen

Multilingual User Interface