Локаль представляет собой комбинацию параметров, задающих язык, страну и кодовую страницу, а также определяющую набор соглашений о языке. Эти соглашения определяют правила сравнения, информацию о соответствии регистров и классификации символов, язык каталогов сообщений, формат даты и времени, символы денежной единицы и формат чисел.
Информация о локали из исходных файлов определения локали нужно преобразовать в базу данных локали с помощью команды localedef. После этого информация о локали станет доступной для подпрограммы setlocale, которая задает локаль для приложений. Исходные файлы определения локали логически разделяются на шесть категорий (см. Описание категорий локали). В файлах каждой категории содержатся данные локали определенного типа. Локаль задается с помощью переменных среды LC_* и LANG.
Имя локали совпадает с именем исходного файла ее определения. Имя этого файла задается в зависимости от языка, страны и кодовой страницы, которые в нем указаны. Имя файла определения локали указывается в следующем формате:
язык[_страна][.кодов_страница][@модификатор]
Например, локаль для датского языка с кодовым набором ISO8859-1 называется da_DK.ISO8859-1. da задает датский язык, а DK - Данию. Краткая запись имени локали - da_DK. Тот же язык и страна, но с кодовой страницей IBM-850, называется Da_DK.IBM-850 или, в краткой записи, Da_DK.
С системой поставляется несколько
определений локалей, которые задают формат локали и соответствующие ключевые
слова. Файлы определения локалей находятся в каталоге
/usr/lib/nls/loc. Локаль C, или POSIX, определяет
стандартную локаль ANSI C, которая передается всем процессам во время
запуска. Кроме того, существуют исходные файлы определений следующих
системных локалей:
| Локаль | Язык | Страна | Кодовая страница |
|---|---|---|---|
| Ar_AA | Арабский | Страны с арабским языком | IBM-1046 |
| ar_AA | Арабский | Страны с арабским языком | IS08859-6 |
| ar_AE | Арабский | Объединенные Арабские Эмираты | ISO8859-6 |
| ar_BH | Арабский | Бахрейн | ISO8859-6 |
| ar_EG | Арабский | Египет | ISO8859-6 |
| ar_JO | Арабский | Иордания | ISO8859-6 |
| ar_KW | Арабский | Кувейт | ISO8859-6 |
| ar_LB | Арабский | Ливан | ISO8859-6 |
| ar_OM | Арабский | Оман | ISO8859-6 |
| ar_QA | Арабский | Катар | ISO8859-6 |
| ar_SA | Арабский | Саудовская Аравия | ISO8859-6 |
| ar_SY | Арабский | Сирия | ISO8859-6 |
| ar_TN | Арабский | Тунис | ISO8859-6 |
| be_BY | Белорусский | Беларусь | ISO8859-5 |
| bg_BG | Болгарский | Болгария | ISO8859-5 |
| ca_ES | Каталанский | Испания | IS08859-1 |
| ca_ES | Каталанский | Испания | ISO8859-15 |
| cs_CZ | Чешский | Чехия | ISO8859-2 |
| Da_DK | Датский | Дания | IBM-850 |
| da_DK | Датский | Дания | ISO8859-1 |
| da_DK | Датский | Дания | ISO8859-15 |
| de_AT | Немецкий | Австрия | ISO8859-15 |
| De_CH | Немецкий | Швейцария | IBM-850 |
| de_CH | Немецкий | Швейцария | ISO8859-1 |
| de_CH | Немецкий | Швейцария | ISO8859-15 |
| De_DE | Немецкий | Германия | IBM-850 |
| de_DE | Немецкий | Германия | ISO8859-1 |
| de_DE | Немецкий | Германия | ISO8859-15 |
| de_LU | Немецкий | Люксембург | ISO8859-15 |
| el_GR | Греческий | Греция | ISO8859-7 |
| en_AU | Английский | Австралия | ISO8859-15 |
| en_BE | Английский | Бельгия | ISO8859-15 |
| en_CA | Английский | Канада | ISO8859-15 |
| En_GB | Английский | Великобритания | IBM-850 |
| en_GB | Английский | Великобритания | ISO8859-1 |
| en_GB | Английский | Великобритания | ISO8859-15 |
| en_IE | Английский | Ирландия | ISO8859-15 |
| en_IN | Английский | Индия | ISO8859-15 |
| en_NZ | Английский | Новая Зеландия | ISO8859-15 |
| En_US | Английский | США | IBM-850 |
| en_US | Английский | США | ISO8859-1 |
| en_US | Английский | США | ISO8859-15 |
| en_ZA | Английский | Южная Африка | ISO8859-15 |
| es_AR | Испанский | Аргентина | ISO8859-15 |
| es_CL | Испанский | Чили | ISO8859-15 |
| es_CO | Испанский | Колумбия | ISO8859-15 |
| Es_ES | Испанский | Испания | IBM-850 |
| es_ES | Испанский | Испания | ISO8859-1 |
| es_ES | Испанский | Испания | ISO8859-15 |
| es_MX | Испанский | Мексика | ISO8859-15 |
| es_PE | Испанский | Перу | ISO8859-15 |
| es_PR | Испанский | Пуэрто-Рико | ISO8859-15 |
| es_UY | Испанский | Уругвай | ISO8859-15 |
| es_VE | Испанский | Венесуэла | ISO8859-15 |
| Et_EE | Эстонский | Эстония | IBM-922 |
| ET_EE | Эстонский | Эстония | UTF-8 |
| Fi_FI | Финский | Финляндия | IBM-850 |
| fi_FI | Финский | Финляндия | ISO8859-1 |
| fi_FI | Финский | Финляндия | ISO8859-15 |
| Fr_BE | Французский | Бельгия | IBM-850 |
| fr_BE | Французский | Бельгия | ISO8859-1 |
| fr_BE | Французский | Бельгия | ISO8859-15 |
| Fr_CA | Французский | Канада | IBM-850 |
| fr_CA | Французский | Канада | ISO8859-1 |
| fr_CA | Французский | Канада | ISO8859-15 |
| Fr_FR | Французский | Франция | IBM-850 |
| fr_FR | Французский | Франция | ISO8859-1 |
| fr_FR | Французский | Франция | ISO8859-15 |
| fr_LU | Французский | Люксембург | ISO8859-15 |
| Fr_CH | Французский | Швейцария | IBM-850 |
| fr_CH | Французский | Швейцария | ISO8859-1 |
| fr_CH | Французский | Швейцария | ISO8859-15 |
| HI_IN | Хинди | Индия | UTF-8 |
| hr_HR | Хорватский | Хорватия | ISO8859-2 |
| hu_HU | Венгерский | Венгрия | ISO8859-2 |
| Is_IS | Исландский | Исландия | IBM-850 |
| is_IS | Исландский | Исландия | ISO8859-1 |
| is_IS | Исландский | Исландия | ISO8859-15 |
| it_CH | Итальянский | Швейцария | ISO8859-15 |
| It_IT | Итальянский | Италия | IBM-850 |
| it_IT | Итальянский | Италия | ISO8859-1 |
| it_IT | Итальянский | Италия | ISO8859-15 |
| lw_IL | Иврит | Израиль | IBM-856 |
| iw_IL | Иврит | Израиль | ISO8859-8 |
| Ja_JP | Японский | Япония | IBM-943 |
| ja_JP | Японский | Япония | IBM-eucJP |
| ko_KR | Корейский | Корея | IBM-eucKR |
| Lt_LT | Литовский | Литва | IBM-921 |
| LT_LT | Литовский | Литва | UTF-8 |
| Lv_LV | Латвийский | Латвия | IBM-921 |
| LV_LV | Латвийский | Латвия | UTF-8 |
| mk_MK | Македонский | Македония | ISO8859-5 |
| Nl_BE | Голландский | Бельгия | IBM-850 |
| nl_BE | Голландский | Бельгия | ISO8859-1 |
| nl_BE | Голландский | Бельгия | ISO8859-15 |
| Nl_NL | Голландский | Нидерланды | IBM-850 |
| nl_NL | Голландский | Нидерланды | ISO8859-1 |
| nl_NL | Голландский | Нидерланды | ISO8859-15 |
| No_NO | Норвежский | Норвегия | IBM-850 |
| no_NO | Норвежский | Норвегия | ISO8859-1 |
| no_NO | Норвежский | Норвегия | ISO8859-15 |
| pl_PL | Польский | Польша | ISO8859-2 |
| pt_BR | Португальский | Бразилия | ISO8859-1 |
| pt_BR | Португальский | Бразилия | ISO8859-15 |
| Pt_PT | Португальский | Португалия | IBM-850 |
| pt_PT | Португальский | Португалия | ISO8859-1 |
| pt_PT | Португальский | Португалия | ISO8859-15 |
| ro_RO | Румынский | Румынский | ISO8859-2 |
| ru_RU | Русский | Россия | ISO8859-5 |
| sh_SP | Сербский (латиница) | Югославия | ISO8859-2 |
| sh_YU | Сербский (латиница) | Югославия | ISO8859-2 |
| sl_SI | Словенский | Словения | ISO8859-2 |
| sk_SK | Словацкий | Словакия | ISO8859-2 |
| sq_AL | Албанский | Албания | ISO8859-1 |
| sq_AL | Албанский | Албания | ISO8859-15 |
| sr_SP | Сербский (кириллица) | Югославия | ISO8859-5 |
| sr_YU | Сербский (кириллица) | Югославия | ISO8859-5 |
| Sv_SE | Шведский | Швеция | IBM-850 |
| sv_SE | Шведский | Швеция | ISO8859-1 |
| sv_SE | Шведский | Швеция | ISO8859-15 |
| th_TH | Тайский | Таиланд | TIS-620 |
| TH_TH | Тайский | Таиланд | UTF-8 |
| tr_TR | Турецкий | Турция | ISO8859-9 |
| Uk_UA | Украинский | Украина | IBM-1124 |
| Vi_VN | Вьетнамский | Вьетнам | IBM-1129 |
| VI_VN | Вьетнамский | Вьетнам | UTF-8 |
| Zh_CN | Упрощенный китайский | КНР | GBK |
| zh_CN | Упрощенный китайский | КНР | IBM-eucCN |
| ZH_CN | Китайский | КНР | UTF-8 |
| zh_TW | Традиционный китайский | Тайвань | IBM-eucTW |
| Zh_TW | Традиционный китайский | Тайвань | big5 |
Локаль по умолчанию - это локаль, выбранная во время установки. Например, когда во время установки появится соответствующее приглашение, пользователь может задать Французский в качестве языка и Канада в качестве страны. В качестве кодовой страницы автоматически будет установлено значение по умолчанию ISO8859-1. В результате для переменной среды LANG, задающей локаль по умолчанию, будет установлено значение fr_CA (fr означает французский язык с кодовой страницей ISO8859-1, а CA - Канаду). Все процессы будут применять эту локаль, пока не будет изменено значение переменной среды LC_* или LANG. Для изменения локали по умолчанию применяется меню Работа с языковой средой в Инструмент управления системой (SMIT) - Обзор.