Локаль (компьютерное программное обеспечение)
В вычислительной технике локаль — это набор параметров , определяющих язык пользователя, регион и любые особые предпочтения варианта, которые пользователь хочет видеть в своем пользовательском интерфейсе . Обычно идентификатор локали состоит как минимум из кода языка и кода страны/региона. Локаль — важный аспект i18n .
Общие настройки локали
[ редактировать ]Эти настройки обычно включают в себя следующие настройки формата отображения (вывода):
- Настройка формата числа (LC_NUMERIC, C/C++)
- Классификация символов, настройки преобразования регистра (LC_CTYPE, C/C++)
- Настройка формата даты и времени (LC_TIME, C/C++)
- строк Настройка сортировки (LC_COLLATE, C/C++)
- Настройка формата валюты (LC_MONETARY, C/C++)
- Настройка формата бумаги (LC_PAPER, ISO 30112)
- Настройка цвета
- Настройка шрифта пользовательского интерфейса (особенно для CJKV ) языка
- Настройка местоположения (страна или регион)
Настройки локали касаются форматирования вывода с учетом локали. Таким образом, информация о часовом поясе и переходе на летнее время обычно не являются частью региональных настроек. Менее распространенной является настройка формата ввода, которая в основном определяется для каждого приложения отдельно.
Поддержка языков программирования и разметки.
[ редактировать ]В этих средах
и других (в настоящее время) средах на основе 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» [язык[_территория][.кодовый набор][@модификатор]] . (Например, австралийский английский , использующий UTF-8, кодировку ru_AU.UTF-8 .) [2] Отдельно ISO/IEC 15897 описывает другую форму: Language_territory+audience+application,sponsor_version , хотя крайне сомнительно, что он вообще используется. [3]
В следующем примере есть вывод команды locale
для чешского языка (cs), Чешской Республики (CZ) с явной кодировкой UTF-8 :
$ locale LANG=cs_CZ.UTF-8 LC_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
[ редактировать ]![]() | Этот раздел необходимо обновить . ( июнь 2016 г. ) |
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[.кодовая страница]] доступен в UCRT (универсальная среда выполнения C) Windows 10 и 11. [6]
См. также
[ редактировать ]- Интернационализация и локализация
- ISO 639 Языковые коды
- ISO 3166-1 альфа-2 Коды регионов
- ISO 15924 Коды сценариев
- Языковой тег IETF
- Функции локализации C
- CCSID
- Кодовая страница
- Общий репозиторий данных локали
- Представление даты и времени по странам
- AppLocale
Ссылки
[ редактировать ]- ^ «LC_ALL, LC_COLLATE, LC_CTYPE, LC_MONETARY, LC_NUMERIC, LC_TIME — cppreference.com» . ru.cppreference.com .
- ^ «Переменные среды» . pubs.opengroup.org .
- ^ «ISO/IEC JTC1/SC22 N610 [проект ISO/IEC 15897:1998(E)] Информационные технологии. Процедуры регистрации элементов культуры» (PDF) . 17 ноября 1998 г. Проверено 8 июня 2023 г.
Для описательных культурных спецификаций и локалей POSIX идентификатор токена будет: 8_9+11+12,13_14.
- ^ «Функция DownlevelGetLocaleScripts (Windows)» . MSDN . Майкрософт . Проверено 11 декабря 2017 г.
- ^ «Локальные имена (Windows)» . MSDN . Майкрософт . Проверено 11 декабря 2017 г.
- ^ «Названия локали, языки и строки страны-региона» . Learn.microsoft.com . 19 октября 2022 г.
Внешние ссылки
[ редактировать ]![]() | в этой статье Использование внешних ссылок может не соответствовать политике и рекомендациям Википедии . ( сентябрь 2019 г. ) |

- ППГ 47
- Реестр языковых субтегов
- Общий репозиторий данных локали
java.util.Locale
Javadoc Документация по API- Информация о локали и языке от Microsoft
- MS-LCID: Справочник по идентификатору языкового кода Windows (LCID) от Microsoft
- Список Microsoft LCID
- Диаграмма Microsoft LCID с десятичными эквивалентами
- Переменные среды POSIX
- Технические подробности низкого уровня по определению локали POSIX
- Обозреватель локали ICU
- Debian Wiki на локалях
- Статья « Стандартная локаль C++ » Натана Майерса
- locale(7): Описание многоязычной поддержки — справочная страница Linux
- Руководство пользователя локали стандартной библиотеки Apache C++
- Диаграммы порядка сортировки для различных локалей операционной системы и параметров сортировки базы данных.
- Библиотека НАТСПЕК
- Описание переменных среды UNIX, связанных с локалью, в Справочном руководстве Debian Linux
- Руководства по локали и созданию локалей на различных платформах