Terminologie služby NLS
Toto téma definuje termíny, které jsou důležité při práci s funkcemi služby NLS.
Národní prostředí a jazykové podmínky
Následující tabulka shrnuje termíny národního prostředí a jazyka. Viz také národní prostředí a jazyky.
Skupina jazyků | Jazyk pro programy jiné než Unicode | Standardy a formáty | |
---|---|---|---|
účelu | Poskytuje všechna rozložení klávesnice, editory vstupních metod (IMEs), písma TrueType, odkazy na písmo, soubory balíčků licencí (LPK), rastrová písma a tabulky překladu znakových stránek, které operační systém potřebuje pro skupinu jazyků. To má vliv na všechna ostatní nastavení v tomto seznamu. | Určuje, která rastrová písma a znakové stránky OEM, ANSI a Macintosh jsou výchozími hodnotami operačního systému. Tento jazyk má vliv jenom na aplikace, které nejsou plně unicode. Před systémem Windows XP byl tento jazyk označován jako "systémový národní prostředí". | Určuje, která nastavení se používají pro formátování kalendářních dat, časů, měny a čísel jako výchozího nastavení pro každého uživatele. Určuje také pořadí řazení pro řazení textu. Před windows XP se standardy a formáty jmenovaly "uživatelské národní prostředí". |
první sady | Instalace | Instalace | Instalace |
, jak můžou uživatelé měnit | Místní možnosti (položka Ovládacích panelů) Windows XP: místní a jazykové možnosti (pouze správci) |
Místní možnosti (položka Ovládacích panelů) Windows XP: místní a jazykové možnosti (pouze správci) |
Místní možnosti (položka Ovládacích panelů) Windows XP: místní a jazykové možnosti |
výchozí | Západní Evropa a Spojené státy a jazyková skupina vyžadovaná k zobrazení jazyka lokalizované verze. | Jazyk lokalizované verze | Jazyk lokalizovaného operačního systému |
funkce | EnumSystemLanguageGroups | GetSystemDefaultLangID | GetUserDefaultLCID, GetUserDefaultLocaleName |
Národní prostředí vlákna | Jazyk zadávání | Výchozí jazyk uživatelského rozhraní systému | |
---|---|---|---|
účelu | Určuje nastavení, která se používají pro formátování kalendářních dat, časů, měny a velkých čísel pro vlákno. Určuje také pořadí řazení pro řazení textu. | Skládá se z jazyka a metody zadávání. | Určuje výchozí jazyk nabídek a dialogových oken, zpráv, souborů inf (setup information) a help files. Windows Vista a novějších verzích: označovaný jako instalační jazyk. Hraje omezenější roli, která je z velké části nahrazena upřednostňovaným jazykem uživatelského rozhraní systému. Další informace najdete v tématu Správa jazyka uživatelského rozhraní |
první sady | Výchozí nastavení standardů a formátů | Instalace | Instalace |
, jak můžou uživatelé měnit | SetThreadLocale | Místní možnosti (položka Ovládacích panelů) Windows XP: místní a jazykové možnosti |
Ne |
výchozí | Standardy a formáty | Jazyk lokalizované verze s výchozí metodou zadávání | Jazyk lokalizované verze |
funkce | GetThreadLocale | GetKeyboardLayout | getSystemDefaultUILanguage |
Jazyk systémového uživatelského rozhraní, upřednostňované jazyky uživatelského rozhraní systému | Jazyk uživatelského rozhraní, upřednostňované jazyky uživatelského rozhraní uživatele | Upřednostňované jazyky uživatelského rozhraní vláken | |
---|---|---|---|
účelu | Určete jazyk nabídek a dialogových oken, zpráv, souborů INF a souborů nápovědy pro operační systém. Další informace naleznete v tématu Správa jazyka uživatelského rozhraní. | Určete jazyk nabídek a dialogových oken, zpráv a souborů nápovědy pro uživatele. Další informace naleznete v tématu Správa jazyka uživatelského rozhraní. | Windows Vista a novějších verzích: Zadejte upřednostňované jazyky pro vlákna aplikací. Další informace naleznete v tématu Správa jazyka uživatelského rozhraní. |
první sady | Výchozí hodnota NULL | Výchozí hodnota NULL | Výchozí hodnota NULL |
, jak můžou uživatelé měnit | Místní a jazykové možnosti (pouze správci) |
Místní možnosti (položka Ovládacích panelů) Windows XP: místní a jazykové možnosti |
SetThreadPreferredUILanguages |
výchozí | Windows Vista a novějších verzích: jazyk lokalizované verze následovaný případnou náhradní verzí. |
Před windows Vista: jazyk lokalizované verze. Windows Vista a novějších verzích: jazyk lokalizované verze následovaný případnou náhradní verzí. |
Seznam null |
funkce | GetSystemPreferredUILanguages | GetUserDefaultUILanguage, GetUserPreferredUILanguages | GetThreadPreferredUILanguages |
Zpracování upřednostňovaných jazyků uživatelského rozhraní | |
---|---|
účelu | Windows 7 a novějších verzích: Určit upřednostňované jazyky pro proces aplikace. Další informace naleznete v tématu Správa jazyka uživatelského rozhraní. |
první sady | Výchozí hodnota NULL |
, jak můžou uživatelé měnit | Místní a jazykové možnosti (pouze správci) |
výchozí | Windows 7 a novějších verzích: jazyk lokalizované verze následované případnou náhradní verzí. |
funkce | GetProcessPreferredUILanguages, SetProcessPreferredUILanguages |
Kódová stránka
The inability of 256-code point code pages to support mixing of scripts in a single text was one of the main reasons for the rise of Unicode. Stránky kódu zůstávají důležité pro psaní kódu konzoly, pro udržování starších aplikací nebo spouštění ve starších verzích Systému Windows a pro spolupráci s některým softwarem, který není povolený v kódu Unicode.
Jazyk zadávání
Jazyk zadávání je reprezentován proměnnou dat pro jednotlivé procesy, která popisuje jazyk (například řečtinu) a metodu zadávání (například klávesnici). Je možné nainstalovat více vstupních jazyků a uživatel mezi nimi může přepínat.
Pokud chcete nastavit a načíst hodnotu jazyka zadávání, aplikace volá LoadKeyboardLayout a GetKeyboardLayout. Uživatelé mohou přidávat a odebírat vstupní jazyky prostřednictvím karty Jazyky v části Místní a jazykové možnosti v Ovládacích panelech.
Výchozím jazykem zadávání je lokalizovaný jazyk operačního systému a je to nastavení, které je aktivní při spuštění nové aplikace (nebo při otevření nového okna pro některé aplikace). Přepnutí na jiný jazyk zadávání se provádí na základě jednotlivých aplikací. Jinými slovy, dva různé vstupní jazyky lze použít ve dvou různých aplikacích. Uživatel může například zadat němčinu pomocí mezinárodního rozložení klávesnice v USA, angličtiny pomocí hlasového vstupu (se softwarem jiných společností než Microsoft) a španělštiny pomocí editoru IME ve třech různých aplikacích.
Jazyk pro programy bez kódování Unicode
Jazyk pro programy jiné než Unicode (dříve označované jako "systémové národní prostředí") určuje znakovou stránku, která se ve výchozím nastavení používá v operačním systému. Nastavení jazyka pro programy, které nejsou unicode, ovlivňuje pouze aplikace jiné než Unicode, to znamená aplikace ANSI. Nastavení jazyka dává systému Windows pokyn, aby emuloval operační systém, který není založený na kódování Unicode, lokalizovaný do tohoto jazyka. Změna jazyka pro programy jiného typu než Unicode nainstaluje potřebné soubory rastrového písma, aby podporovaly aplikace jiné než Unicode v zadaném jazyce. Aby uživatel mohl vybrat jazyk pro programy, které nejsou unicode, musí být nainstalována příslušná jazyková skupina. Vaše aplikace potřebuje podporu skriptů k výběru jazyka pro programy, které nejsou unicode. Jazyk pro programy, které nejsou unicode, je nastavení pro jednotlivé systémy a vyžaduje, aby se implementoval restart.
Někdy není žádný znatelný rozdíl mezi dvěma jazyky pro programy, které nejsou unicode. Jedná se například o německé (neutrální) a německé (rakousko) národní prostředí. Obecně platí, že nastavení jedné skupiny jazyků je velmi podobné a liší se pouze na znakové stránce OEM nebo MAC.
Aplikace ANSI by měla během instalace zkontrolovat jazyk pro programy bez kódování Unicode. K načtení hodnoty používá GetACP nebo GetOEM CP. Není podporována žádná funkce pro nastavení jazyka pro programy bez kódování Unicode. Uživatelé ho ale můžou změnit pomocí karty Upřesnit v části Místní a jazykové možnosti v Ovládacích panelech. Tady je několik příkladů jazyka pro nastavení programů, které nejsou unicode:
- Německý uživatel, který chce spustit japonskou aplikaci určenou pro japonštinu systému Windows 95, musí vybrat japonštinu jako jazyk pro programy, které nejsou unicode. Po tomto výběru mají německé aplikace jiné než Unicode problémy. Například německé umlauts (výjimkou) nejsou zobrazeny správně.
- Německý uživatel, který chce zadat japonský text v německé aplikaci jiné než Unicode, musí vybrat japonštinu jako jazyk pro programy jiné než Unicode. Stejně jako v prvním příkladu to způsobuje problémy při zadávání německého textu v aplikacích, které nejsou unicode.
- Uživatel arabštiny, který chce psát arabštinu, francouzštinu a angličtinu v arabské aplikaci jiné než Unicode, by měl vybrat arabštinu jako jazyk pro programy, které nejsou unicode, protože znaková stránka arabské ANSI obsahuje většinu francouzských znaků a všech anglických znaků.
Jazyková skupina
Jazyková skupina řídí jazyk pro programy, standardy a formáty, vstupní jazyky a jazyky uživatelského rozhraní, které lze vybrat. Pro každou lokalizovanou verzi je zadaná jazyková skupina výchozí a nelze ji odebrat. Windows například ve výchozím nastavení nainstaluje skupinu jazyků Západní Evropa a Spojené státy. Pokud je tedy v jiné než anglické zemi nebo oblasti nainstalovaná anglická verze Systému Windows, uživatel obvykle nainstaluje jinou jazykovou skupinu.
Při přidávání skupiny jazyků zkopíruje Windows (ale neaktivuje) potřebné soubory klávesnice, editory IME (Input Method Editors), soubory písem TrueType, rastrové soubory písem a soubory národní jazykové podpory (.nls). Přidání skupiny jazyků také přidá hodnoty registru pro propojení písem a nainstaluje skriptovací moduly pro složité skriptovací jazyky (arabština, hebrejština, indikština a thajština).
Kromě jazykové skupiny západní Evropy a Spojených států existuje 16 dalších jazykových skupin:
Arménština Baltský Střední Evropa Cyrilice Gruzínština Řečtina Hebrejština |
Japonština Korejština Zjednodušená čínština Tradiční čínština Thajština Turkic Vietnamština |
Do libovolného operačního systému je možné nainstalovat libovolný počet a kombinaci skupin jazyků. Například uživatel španělštiny může nainstalovat skupinu jazyků cyrilice pro práci s ruskými texty. V tomto případě musí aplikace pro zpracování textu podporovat také skupinu jazyků cyrilice.
Poznámka
Přidání příslušné jazykové skupiny neumožňuje aplikaci automaticky přijímat text. Doporučuje se testování. Například aplikace, které nejsou unicode, můžou vyžadovat, aby se změnil jazyk pro programy jiné než Unicode.
Umístění
Systému Windows XP: Umístění je zeměpisný identifikátor. Reprezentuje ji proměnná dat pro jednotlivé uživatele, která definuje zemi nebo oblast, ve které uživatel žije.
Chcete-li nastavit hodnotu, aplikace volá SetUserGeoID. K načtení hodnoty aplikace volá GetUserGeoID.
Standardy a formáty
Standardy a formáty (dříve "národní prostředí uživatele") je proměnná pro jednotlivé uživatele, která určuje výchozí pořadí řazení a výchozí nastavení pro formátování kalendářních dat, časů, měny a čísel. Proměnná se prezentuje jako jazyk (někdy v kombinaci se zemí nebo oblastí), ale nejedná se o samotný jazyk. Například nastavení proměnné Standardy a formáty na hebrejštinu znamená, že uživatel chce používat konvence formátování hebrejštiny, ne nutně hebrejštinu. Kromě toho proměnná Standardy a formáty určuje řetězec, který se používá pro názvy dnů a měsíců. Pokud například uživatel zobrazí "25. listopadu 1998", může se řetězec "Listopad" změnit na základě proměnné Standardy a Formáty. Změna proměnné automaticky přidá vstupní národní prostředí s výchozím nastavením jazyka.
Chcete-li získat nastavení proměnné Standards and Formats, aplikace volá GetUserDefaultLCID nebo GetUserDefaultLocaleName. Pro nastavení proměnné není k dispozici žádná funkce NLS. Uživatelé ho ale můžou změnit na kartě Možnosti oblasti v části Místní a jazykové možnosti v Ovládacích panelech.
Aplikace by k zobrazení dat obvykle měla použít nastavení proměnných Standardy a Formáty. Aplikace, která k zobrazení dat používá pevné národní prostředí, by ale měla místo použití LOCALE_USER_DEFAULT předat konkrétní identifikátor národního prostředí.
Národní prostředí vlákna
Národní prostředí vlákna je reprezentováno datovou proměnnou národního prostředí pro jednotlivá vlákna, která určuje formátování kalendářních dat, časů, měny a velkých čísel pro vlákno. Výchozí hodnota pro národní prostředí aktuálně vybraná pro standardy a formáty. Chcete-li nastavit národní prostředí vlákna, aplikace volá SetThreadLocale. Chcete-li načíst národní prostředí vlákna, aplikace volá GetThreadLocale.
Ve většině případů by národní prostředí vlákna nemělo být přepsáno. Za normálních okolností by se mělo používat pouze k synchronizaci národního prostředí vlákna serverové aplikace s proměnnou Standardy a Formáty klientského počítače. Například aplikace pro obchodování finančních akcií pro Burzu akcií New Yorku, která se používá v bankách po celém světě, musí zobrazit čas, datum a ceny akcií ve formátech USA. Tato aplikace používá SetThreadLocale k nastavení národního prostředí vlákna na angličtinu (USA) a pak pomocí funkcí NLS formátuje data, časy a ceny akcií.
Změna národního prostředí vlákna nemá vliv na všechny funkce rozhraní API. Proto není vždy spolehlivým způsobem přepsání proměnné Standardy a formáty. Místo toho by aplikace, které řídí standardy a formáty, měly k zobrazení dat použít pevné národní prostředí a místo použití LOCALE_USER_DEFAULT předat konkrétní identifikátor národního prostředí.
Příklad služby NLS
Následující příklad ukazuje interplay mezi standardy a formáty, jazyk pro programy, které nejsou unicode, umístění a jazyk uživatelského uživatelského rozhraní.
Uživatel, který je nativní Chile, ale žije ve Spojených státech má počítač se systémem Windows XP angličtina. Uživatel nastaví umístění do USA, aby k získání počasí pro Spojené státy použil poskytovatele internetových služeb. Proměnná Standardy a formáty je však nastavena na španělštinu (Chile), aby informace byly formátovány podle chilských standardů. Kromě toho uživatel používá korejský textový procesor, což je aplikace ANSI, takže jazyk pro programy, které nejsou unicode, je nastaven na korejštinu (Korea). Pokud chcete aplikaci používat, má uživatel anglickou klávesnici a nainstaluje také korejský editor IME pro podporu druhého jazyka zadávání. Spolupracovník uživatele, který sdílí počítač, ale není pohodlný s angličtinou, může při používání počítače nastavit jazyk uživatelského rozhraní na španělštinu (Španělsko).
Související témata
-
o podpory národních jazyků