stringtranslate.com

Локаль (компьютерное программное обеспечение)

В вычислительной технике локаль это набор параметров , определяющих язык пользователя, регион и любые особые предпочтения варианта, которые пользователь хочет видеть в своем пользовательском интерфейсе . Обычно идентификатор локали состоит как минимум из кода языка и кода страны/региона. Локаль — важный аспект i18n .

Общие настройки локали

Эти настройки обычно включают в себя следующие настройки формата отображения (вывода):

Настройки локали касаются форматирования вывода с учетом локали. Таким образом, информация о часовом поясе и переходе на летнее время обычно не являются частью региональных настроек. Менее распространенной является настройка формата ввода, которая в основном определяется для каждого приложения отдельно.

Поддержка языков программирования и разметки.

В этих средах

и других (в настоящее время) средах на основе Unicode , они определены в формате, аналогичном BCP 47 . Обычно они определяются только кодами ISO 639 (язык) и ISO 3166-1 альфа-2 (двухбуквенные страны).

Международные стандарты

В стандартах C и C++ локаль определяется в «категориях» LC_COLLATE (сопоставление текста), LC_CTYPE (класс символов), LC_MONETARY (формат валюты), LC_NUMERIC (формат числа) и LC_TIME (формат времени). Специальную категорию LC_ALL можно использовать для установки всех настроек локали. [1]

Не существует стандартных имен локалей, связанных со стандартами C и C++, кроме имени «минимального локали» «C», хотя формат POSIX является широко используемым базовым вариантом.

POSIX-платформы

На платформах POSIX , таких как Unix , Linux и других, идентификаторы локали определяются аналогично определению языковых тегов в BCP 47 , но модификатор варианта локали определяется по-другому, а набор символов необязательно включается как часть идентификатора. . Формат POSIX или «XPG» — [язык[_территория][.codeset][@modifier]] . (Например, австралийский английский , использующий кодировку UTF-8, — en_AU.UTF-8 .) [2] Отдельно в ISO/IEC 15897 описывается другая форма: Language_territory+audience+application,sponsor_version , хотя весьма сомнительно, используется ли она. совсем. [3]

В следующем примере показан вывод команды localeдля чешского языка (cs), Чешской Республики (CZ) с явной кодировкой UTF-8 :

$ локальЯЗЫК=cs_CZ.UTF-8LC_CTYPE="cs_CZ.UTF-8"LC_NUMERIC="cs_CZ.UTF-8"LC_TIME="cs_CZ.UTF-8"LC_COLLATE="cs_CZ.UTF-8"LC_MONETARY="cs_CZ.UTF-8"LC_MESSAGES="cs_CZ.UTF-8"LC_PAPER="cs_CZ.UTF-8"LC_NAME="cs_CZ.UTF-8"LC_ADDRESS="cs_CZ.UTF-8"LC_TELEPHONE="cs_CZ.UTF-8"LC_MEASUREMENT="cs_CZ.UTF-8"LC_IDENTIFICATION="cs_CZ.UTF-8"LC_ALL=

Особенности платформ Microsoft

Windows использует определенные строки языка и территории. Идентификатор языка (LCID) для неуправляемого кода в Microsoft Windows — это число, например 1033 для английского языка (США), 2057 для английского языка (Великобритания) или 1041 для японского языка (Япония). Эти числа состоят из кода языка (младшие 10 бит) и кода культуры (старшие биты) и поэтому часто записываются в шестнадцатеричной записи, например 0x0409, 0x0809 или 0x0411.Microsoft начинает представлять интерфейсы прикладного программирования (API) управляемого кода для .NET, использующие этот формат. Одной из первых, которая была выпущена, является функция для устранения проблем с интернационализированными доменными именами [4] , но в Windows Vista Beta 1 их больше .

Начиная с Windows Vista, были введены новые функции [5] , использующие имена локалей BCP 47, которые заменили почти все API на основе LCID.

POSIX-подобный формат имени локали языка[_country-region[.code-page]] доступен в UCRT (Universal C Runtime) Windows 10 и 11. [6]

Смотрите также

Рекомендации

  1. ^ "LC_ALL, LC_COLLATE, LC_CTYPE, LC_MONETARY, LC_NUMERIC, LC_TIME - cppreference.com" . ru.cppreference.com .
  2. ^ «Переменные среды». pubs.opengroup.org .
  3. ^ «ISO/IEC JTC1/SC22 N610 [проект ISO/IEC 15897:1998(E)] Информационные технологии. Процедуры регистрации элементов культуры» (PDF) . 17 ноября 1998 г. Проверено 8 июня 2023 г. Для описательных культурных спецификаций и локалей POSIX идентификатор токена будет: 8_9+11+12,13_14.
  4. ^ «Функция DownlevelGetLocaleScripts (Windows)» . MSDN . Майкрософт . Проверено 11 декабря 2017 г.
  5. ^ «Локальные имена (Windows)» . MSDN . Майкрософт . Проверено 11 декабря 2017 г.
  6. ^ «Локальные названия, языки и строки страны-региона» . Learn.microsoft.com . 19 октября 2022 г.

Внешние ссылки