Языковые стандарты и языки
Термин "язык" обозначает коллекцию свойств, используемых в речевых и письменных сообщениях. Каждый язык имеет имя языка и идентификатор языка, указывающий на определенную кодовую страницу (ANSI, DOS, Macintosh), используемую для представления географического расположения для языка в операционной системе. Нейтральный язык обозначается таким именем, как en для английского языка. Более географически конкретный язык можно указать по имени, включающее сведения о языковом стандарте и регионе. Например, языковой стандарт (США) имеет имя языка "en-US".
Языковой стандарт — это коллекция сведений о предпочтениях пользователя, связанных с языком, представленных в виде списка значений. Windows XP поддерживает более 150 языковых стандартов, а Windows Vista поддерживает около 200 языков. Каждый языковой стандарт определяется языком и порядком сортировки, а также имеет имя языкового стандарта и идентификатор языкового стандарта. Примером имени языкового стандарта для немецкого языка (Германия) является "de-DE_phonebook".
Каждая операционная система имеет по крайней мере один установленный языковой стандарт и часто имеет множество языковых стандартов, из которых пользователь может выбрать. Каждый языковой стандарт имеет различные сведения, связанные с ним, кроме его имени и идентификатора. Типы сведений языков описаны в константы сведений языкового стандарта.
Операционная система назначает языковой стандарт каждому потоку, первоначально назначая системный языковой стандарт по умолчанию, определенный LOCALE_SYSTEM_DEFAULT. Этот языковой стандарт устанавливается при установке операционной системы или при выборе пользователя с помощью региональных и языковых параметров панели управления. При запуске потока в процессе, принадлежащем пользователю, операционная система назначает потоку языковой стандарт по умолчанию. Этот языковой стандарт определяется LOCALE_USER_DEFAULT. Приложение может переопределить либо по умолчанию, используя функцию setThreadLocale setThreadLocale, чтобы явно задать языковой стандарт для потока.
Для реализации языка требуется соответствующий языковой стандарт. Операционная система реализует нейтральный язык, выбрав данные для языкового стандарта, связанного с определенной версией языка, как правило, наиболее распространенного языкового стандарта.
Начиная с Windows Vista, для определенного языка можно соответствовать дополнительному языковому стандарту, который является типом пользовательского языкового стандарта. Так как дополнительные языковые стандарта используют один идентификатор языкового стандарта, приложения должны обрабатывать эти языковые стандарты и соответствующие языки по имени, а не по идентификатору.
Основные понятия языка тесно связаны с понятиями языкового стандарта, но эти два термина являются взаимозаменяемыми. Как правило, функции, связанные с многоязычным пользовательским интерфейсом, иметь дело с языками, а функции NLS действуют на языковых стандартах.
В этом разделе рассматриваются следующие разделы:
- пользовательских языковых стандартов
- идентификаторов языка
- имен языка
- идентификаторы языкового стандарта
- имен языкового стандарта
- псевдо локали
Связанные разделы