Locale linux: Locale (Русский) — ArchWiki

Содержание

Как изменить или установить системные локали в Linux [Записки админа и инженера]

Локаль — это набор переменных окружения, который определяет настройки языка, страны и символов (или любые другие специальные варианты) для ваших приложений и сеанса оболочки в системе Linux. Эти переменные окружения используются системными библиотеками и языковыми приложениями в системе.

Язык влияет на такие моменты, как формат времени / даты, первый день недели, цифры, валюта и многие другие значения, отформатированные в соответствии с языком или регионом / страной, установленной в системе Linux.

В этой статье мы покажем, как просмотреть установленный в данный момент язык системы и как установить локаль системы в Linux.

Как просмотреть системную локаль в Linux

Чтобы просмотреть информацию о текущей установленной локали, используйте утилиту locale или localectl.

$ locale 

LANG=ru_RU.UTF-8 
LANGUAGE=ru 
LC_CTYPE="ru_RU.UTF-8" 
LC_NUMERIC="ru_RU.UTF-8" 
LC_TIME="ru_RU.UTF-8" 
LC_COLLATE="ru_RU.UTF-8" 
LC_MONETARY="ru_RU.UTF-8" 
LC_MESSAGES="ru_RU.UTF-8" 
LC_PAPER="ru_RU.UTF-8" 
LC_NAME="ru_RU.UTF-8" 
LC_ADDRESS="ru_RU.UTF-8" 
LC_TELEPHONE="ru_RU.UTF-8" 
LC_MEASUREMENT="ru_RU.UTF-8" 
LC_IDENTIFICATION="ru_RU.UTF-8" 
LC_ALL=''
$ localectl status 

   System Locale: LANG=ru_RU.UTF-8 
       VC Keymap: n/a 
      X11 Layout: us 
       X11 Model: pc105

Вы можете просмотреть дополнительную информацию о переменной окружения, например LC_TIME, которая хранит формат времени и даты.

$ locale -k LC_TIME
  
abday="Вс;Пн;Вт;Ср;Чт;Пт;Сб"  
day="Воскресенье;Понедельник;Вторник;Среда;Четверг;Пятница;Суббота" 
abmon="янв;фев;мар;апр;мая;июн;июл;авг;сен;окт;ноя;дек" 
mon="января;февраля;марта;апреля;мая;июня;июля;августа;сентября;октября;ноября;декабря" 
am_pm=";" 
d_t_fmt="%a %d %b %Y %T" 
d_fmt="%d.%m.%Y" 
t_fmt="%T" 
t_fmt_ampm="" 
era= 
era_year="" 
era_d_fmt="" 
alt_digits= 
era_d_t_fmt="" 
era_t_fmt="" 
time-era-num-entries=0 
time-era-entries="" 
week-ndays=7 
week-1stday=19971130 
week-1stweek=1 
first_weekday=2 
first_workday=2 
cal_direction=1 
timezone="" 
date_fmt="%a %b %e %H:%M:%S %Z %Y" 
time-codeset="UTF-8" 
alt_mon="Январь;Февраль;Март;Апрель;Май;Июнь;Июль;Август;Сентябрь;Октябрь;Ноябрь;Декабрь" 
ab_alt_mon="янв;фев;мар;апр;май;июн;июл;авг;сен;окт;ноя;дек"

Чтобы отобразить список всех доступных локалей, используйте следующую команду:

$ locale -a 

C 
C.UTF-8 
en_US.utf8 
POSIX 
ru_RU.utf8 
ru_UA.utf8

Как установить новую системную локаль в Linux

Если вы хотите изменить или установить локальную систему, используйте программу update-locale. Переменная LANG позволяет вам установить локаль для всей системы.

Следующая команда устанавливает LANG в en_IN.UTF-8 и удаляет определения для LANGUAGE:

$ sudo update-locale LANG=ru_RU.UTF-8 LANGUAGE

или

$ sudo localectl set-locale LANG=ru_RU.UTF-8

Чтобы настроить определенный параметр локали, отредактируйте соответствующую переменную. Например:

$ sudo update-locale LC_TIME=ru_RU.UTF-8

или

$ sudo localectl set-locale LC_TIME=ru_RU.UTF-8

Глобальные настройки локали можно найти в следующих файлах:

Для настройки локали системы эти файлы также можно редактировать вручную, используя ваши любимых редакторы командной строки, такие как Vim или Nano.

Чтобы установить глобальную локаль для одного пользователя, вы можете просто открыть файл ~/.bash_profile и добавить следующие строки:

LANG="ru_RU.utf8"
export LANG

Для получения дополнительной информации, «курим» man’ы locale, update-locale и localectl.

$ man locale 
$ man update-locale 
$ man localectl

На этом все! В этой короткой статье мы узнали, как просматривать и устанавливать локаль системы в Linux.

Источник

linux/set_system_locales_in_linux.txt · Последнее изменение: 2019/03/20 09:56 — nesm

Локализация Ubuntu Server 18.04 LTS. Категория: ОС Linux • Разное

Локаль (locale или локализация) в Linux определяет, какой язык и какой набор символов (кодировку), пользователь видит в терминале. Посмотрим, как проверить текущие настройки языка и кодировки, как получить список всех доступных локалей, как сменить язык и кодировку для текущей сессии или установить их постоянно.

Для тех, кому лень читать всю статью до конца — чаще всего для локализации консоли достаточно повторно сконфигурировать пакет locales:

$ sudo dpkg-reconfigure locales

Сначала будут созданы нужные локали (их выбрать на первом экране), потом установлена локаль по умолчанию (ее выбрать на втором экране).

Текущие настройки языка

Посмотрим информацию о текущем языковом окружении:

$ locale
LANG=C.UTF-8
LANGUAGE=
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_PAPER="C.UTF-8"
LC_NAME="C.UTF-8"
LC_ADDRESS="C.UTF-8"
LC_TELEPHONE="C.UTF-8"
LC_MEASUREMENT="C.UTF-8"
LC_IDENTIFICATION="C.UTF-8"
LC_ALL=

Список доступных локалей

Теперь посмотрим список всех установленных языков и кодировок:

$ locale -a
C
C.UTF-8
POSIX

Есть только системная локаль C.UTF-8, которая присутствует всегда. А нам надо добавить еще две локали — en_US.UTF-8 и ru_RU.UTF-8.

Добавить новую локаль

Смотрим список всех поддерживаемых (доступных для установки) локалей:

$ cat /etc/locale.gen
# This file lists locales that you wish to have built. You can find a list
# of valid supported locales at /usr/share/i18n/SUPPORTED, and you can add
# user defined locales to /usr/local/share/i18n/SUPPORTED. If you change
# this file, you need to rerun locale-gen.

# aa_DJ ISO-8859-1
# aa_DJ.UTF-8 UTF-8
# ..........
# en_US.ISO-8859-15 ISO-8859-15
# en_US.UTF-8 UTF-8
# en_ZA ISO-8859-1
# ..........
# ru_RU.KOI8-R KOI8-R
# ru_RU.UTF-8 UTF-8
# ru_UA KOI8-U
# ..........
# zu_ZA ISO-8859-1
# zu_ZA.UTF-8 UTF-8

Устанавливаем нужные локали — en_US.UTF-8 и ru_RU.UTF-8:

$ sudo locale-gen en_US.UTF-8 ru_RU.UTF-8
Generating locales (this might take a while)...
  en_US.UTF-8... done
  ru_RU.UTF-8... done
Generation complete.

Второй способ установить локали — расскомментровать нужные строки в файле

/etc/locale.gen

# This file lists locales that you wish to have built. You can find a list
# of valid supported locales at /usr/share/i18n/SUPPORTED, and you can add
# user defined locales to /usr/local/share/i18n/SUPPORTED. If you change
# this file, you need to rerun locale-gen.

# aa_DJ ISO-8859-1
# aa_DJ.UTF-8 UTF-8
# ..........
# en_US.ISO-8859-15 ISO-8859-15
en_US.UTF-8 UTF-8
# en_ZA ISO-8859-1
# ..........
# ru_RU.KOI8-R KOI8-R
ru_RU.UTF-8 UTF-8
# ru_UA KOI8-U
# ..........
# zu_ZA ISO-8859-1
# zu_ZA.UTF-8 UTF-8

И просто выполнить команду locale-gen без указания локалей:

$ sudo locale-gen

Подробная информация о локалях

Более подробную информацию об установленных в системе локалях можно посмотреть так:

$ locale -a -v
locale: en_US.utf8      archive: /usr/lib/locale/locale-archive
-------------------------------------------------------------------------------
    title | English locale for the USA
   source | Free Software Foundation, Inc.
  address | http://www.gnu.org/software/libc/
    email | [email protected]
 language | American English
territory | United States
 revision | 1.0
     date | 2000-06-24
  codeset | UTF-8

locale: ru_RU.utf8      archive: /usr/lib/locale/locale-archive
-------------------------------------------------------------------------------
    title | Russian locale for Russia
   source | RAP
  address | Sankt Jorgens Alle 8, DK-1615 Kobenhavn V, Danmark
    email | [email protected]
 language | Russian
territory | Russia
 revision | 1.0
     date | 2000-06-29
  codeset | UTF-8

locale: ru_UA.utf8      archive: /usr/lib/locale/locale-archive
-------------------------------------------------------------------------------
    title | Russian locale for Ukraine
   source | RFC 2319
    email | [email protected]
 language | Russian
territory | Ukraine
 revision | 1.0
     date | 2000-06-29
  codeset | UTF-8

locale: C.UTF-8         directory: /usr/lib/locale/C.UTF-8
-------------------------------------------------------------------------------
    title | C locale
    email | [email protected]
 language | C
 revision | 1.6
     date | 2016-08-08
  codeset | UTF-8

Часть локалей размещена в архиве /usr/lib/locale/locale-archive, а часть — в директориях внутри /usr/lib/locale/.

Локаль по-умолчанию

Хорошо, нужные локали у нас теперь есть, осталось только задать локаль по умолчанию:

$ sudo update-locale LANG=ru_RU.UTF-8

Эта команда запишет в файл /etc/default/locale

строку:

LANG=ru_RU.UTF-8

После этого надо будет перезайти в систему. И проверяем информацию о языковом окружении:

$ locale
LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=

Теперь все правильно, так что запишем эту информацию в файл /etc/default/locale:

$ locale | sudo tee /etc/default/locale
$ cat /etc/default/locale
LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=

Быстрая локализация

До сих пор мы все делали ручками, но если лень — можно просто повторно сконфигурировать пакет locales. Сначала будут созданы нужные локали (их нужно выбрать на первом экране), потом установлена локаль по умолчанию (ее нужно выбрать на втором экране).

$ sudo dpkg-reconfigure locales

Удалить лишние локали

После установки (генерации) локали, она помещается в архив /usr/lib/locale/locale-archive. Файл архива — это файл, отображаемый в память, который содержит все локали системы; он используется всеми локализованными программами. Посмотреть список локалей в архиве можно с помощью команды:

$ localedef --list-archive
en_US.utf8
ru_RU.utf8
ru_UA.utf8

Удалить заданную локаль из файла архива:

$ sudo localedef --delete-from-archive ru_UA.utf8

Обратите внимание на название локали — ru_UA.utf8, а не ru_UA.UTF-8. Если неправильно указать локаль — она не будет удалена из архива:

$ sudo localedef --delete-from-archive ru_UA.UTF-8
locale "ru_UA.UTF-8" not in archive

В случае, если утилита locale-gen была вызвана с опцией --no-archive, надо удалить соответствующую директорию в /usr/lib/locale:

$ cd /usr/lib/locale
$ ls
C.UTF-8    en_US.utf8    ru_RU.utf8    ru_UA.utf8
$ sudo rm -r ru_UA.utf8

Переводы для системных программ

Локализация для основных системных программ, чтобы получать сообщения на русском языке:

$ sudo apt install language-pack-ru

Локализация для текущей сессии

Достаточно временно установить переменную окружения LANG в текущей сессии терминала:

$ export LANG=en_US.UTF-8
$ cat /etc/shadow
cat: /etc/shadow: Permission denied
$ export LANG=ru_RU.UTF-8
$ cat /etc/shadow
cat: /etc/shadow: Отказано в доступе

Или даже так — передать переменную LANG конкретной программе:

$ export LANG=en_US.UTF-8
$ cat /etc/shadow
cat: /etc/shadow: Permission denied
$ LANG=ru_RU.UTF-8 cat /etc/shadow
cat: /etc/shadow: Отказано в доступе

Файлы конфигурации шрифта и клавиатуры

Настройки можно найти в файлах конфигурации /etc/default/console-setup и /etc/default/keyboard:

$ cat /etc/default/console-setup
# Consult the console-setup(5) manual page.
ACTIVE_CONSOLES="/dev/tty[1-6]"
CHARMAP="UTF-8"
CODESET="CyrSlav"
FONTFACE="Fixed"
FONTSIZE="8x16"
VIDEOMODE=
$ cat /etc/default/keyboard
# Consult the keyboard(5) manual page.
XKBMODEL="pc105"
XKBLAYOUT="us,ru"
XKBVARIANT=","
XKBOPTIONS="grp:alt_shift_toggle,grp_led:scroll"
BACKSPACE="guess"

Это системные настройки, пользователь может создать свои в файлах ~/.console-setup и ~/.keyboard.

Настройка шрифта и клавиатуры

Чтобы сформировать файлы конфигурации /etc/default/console-setup и /etc/default/keyboard можно использовать команды:

$ sudo dpkg-reconfigure console-setup

$ sudo dpkg-reconfigure keyboard-configuration

После того, как файлы конфигурации будут сформированы, нужно выполнить команду setupcon без аргументов или перезагрузить систему.

Console-cyrillic — это пакет для руссификации консоли (поддержки кириллицы в терминале), старый и известный пакет. Но в новых версиях операционных систем с системой инициализации systemd он считается устаревшим, поскольку у systemd есть нативные средства локализации консоли и наличие console-cyrillic там не только не требуется, но и не рекомендуется.

Поиск: CLI • Linux • Ubuntu • Команда • Конфигурация • Настройка • Сервер • Установка • Локализация • Русский • ru_RU.UTF-8

Как сменить кодировку locale в Linux Mint, Debian или Ubuntu или кириллица в консоли

Я знаю что кириллица в логах Linux – это самый страшный грех для айтишника, но иногда это просто необходимость. Одна из таких необходимостей возникает при создании централизованного хранения log-файлов различных операционных систем. Microsoft всегда в своих log`ах применяет кириллицу и поэтому если мы хотим получать log-файлы и от Win-серверов, то стоит смириться, что в log`ах будет кирилица.

Для того, чтобы эти логи нормально отображались нам и нужно явно указать locale в Debian, Ubuntu или какой Linux-дистрибутив Вы используете.

Проблемы отображения кириллических символов в Linux не существует. Есть проблема у русской версии Windows. Весь мир и Linux в том числе, работает в кодировке UTF-8, когда русская версия Microsoft использует CP1251. Такая ситуация сложилось исторически благодаря компании «Парус», которая взяла на себя обязательства по локализации всех операционных систем Windows. Выбрали они почему-то кодировку CP1251, которая применяется до сих пор. Использование этой «неправильной» кодировки в наши дни обусловлено сохранением совместимости всех версий ОС.

Чтобы добавить кириллицу, чтобы Linux сервер нормально отображал русские буквы, нужно объяснить ему, что необходимо работать в той же кодировке, что и Windows.

Для того, чтобы управлять локалью в Linux, необходим пакет locales, который должен быть у Вас установлен. В большинстве случаев пакет locales уже будет у Вас установлен, поэтому для проформы просто проверяем этот факт.

sudo apt-get install locales

Посмотреть установленную locale linux можно командой:

locale

Для ручного указания кодировке в Linux Mint, Debian или ubuntu нужно отредактировать конфигурационный файл /etc/locale.gen:

sudo nano /etc/locale.gen

Команду sudo не нужна, если Вы зашли как суперпользователь. Это относится к Linux Mint и Ubuntu, так как Debian ничего не знает о команде sudo.

В этом файле необходимо найти строчку и расскомментировать с той locale, которая Вам нужна. Для добавления кириллицы нужно раскомментировать строчки с UTF-8 или CP1251.

  • если хотим указать, чтобы ОС работала в UTF-8, раскомментирум:
    ru_RU.UTF-8 UTF-8
  • если хотим указать, чтобы ОС работала в CP1251, раскомментирум:
    ru_RU.CP1251 CP1251

Стоит обратить внимание, что первые 2 символа (в нашем примере это ru) говорят нам о языке локализации (кириллица).

После этого переопределяем настройки locales командой:

sudo locale-gen

Команда locale-gen позволяет запустить скрипт /etc/locale.gen и перечитывает все кодировки для консоли.

Чтобы увидеть кириллицу в консоли Linux, остается только перелогиниться.

Рассказать в соц. сетях

man linux — справочник linux » Установка локали в linux


Чаще всего, необходимо установить локаль cp1251, но вам возможно нужна другая локаль — это не меняет принципа установки.

Для установки локали выполняем:

localedef -c -i язык -f CP1251 язык.локаль

Например, для установки cp1251:

localedef -c -i ru_RU -f CP1251 ru_RU.CP1251

После установки локали, можно проверить следующим образом:
Сначала набираем команду

locale

и видим что-то в этом роде:

[email protected] [~]# rpm -qa | grep ru
grub-0.97-13
cyrus-sasl-lib-2.1.22-8.fc7
cyrus-sasl-plain-2.1.22-8.fc7
sharutils-4.6.3-1.fc7
man-pages-ru-0.97-2.fc7
cyrus-sasl-lib-2.1.22-8.fc7
aspell-ru-0.99f7-3.fc7
cyrus-sasl-2.1.22-8.fc7
[email protected] [~]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

Это локаль английского языка в кодировке UTF-8
Теперь выполняем следующие команды:

export LANG=ru_RU.cp1251
locale

И видим примерно следующее:

[email protected] [~]# export LANG=ru_RU.cp1251
[email protected] [~]# locale
LANG=ru_RU.cp1251
LC_CTYPE="ru_RU.cp1251"
LC_NUMERIC="ru_RU.cp1251"
LC_TIME="ru_RU.cp1251"
LC_COLLATE="ru_RU.cp1251"
LC_MONETARY="ru_RU.cp1251"
LC_MESSAGES="ru_RU.cp1251"
LC_PAPER="ru_RU.cp1251"
LC_NAME="ru_RU.cp1251"
LC_ADDRESS="ru_RU.cp1251"
LC_TELEPHONE="ru_RU.cp1251"
LC_MEASUREMENT="ru_RU.cp1251"
LC_IDENTIFICATION="ru_RU.cp1251"
LC_ALL=

Перед вами локаль русского языка, в кодировке cp1251

В случае с локалью cp1251, на домашних ОС (использующихся дома и на работе, в качестве DeskTop, но не в качестве серверов), вам может пригодиться пакет i18n — локаль присутствует в этом пакете.
Проверить установлен ли пакет в разных версиях ОС можно так:
Red Hat (RH), в том числе FC и все системы поддерживающие RPM:

rpm -qa | grep i18n

Выведет список установленных пакетов, содержащих в названии фразу “i18n”. Если ничего не выведет — значит пакет не установлен.
Gentoo:

emerge -s i18n

Выведет список пакетов, с пометкой либо Installed либо Not Installed
Например, в домашней ( Home Desktop ) системе Linux Gentoo, это выглядит так:

*  kde-base/kde-i18n
      Latest version available: 3.5.9
      Latest version installed: 3.5.9
      Size of files: 307,448 kB
      Homepage:      http://www.kde.org/
      Description:   KDE internationalization package
      License:       GPL-2

Что означает — пакет установлен.

Как сменить или установить locale в Ubuntu

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

Посмотреть текущую локаль

Чтобы вывести все переменные окружения текущей локали, откройте терминал и введите команду:


locale

При этом локаль задается в формате _., например, русская локаль с UTF-8 кодировкой задается как ru_RU.UTF-8.

Установленные локали

Для того, чтобы просмотреть все доступные локали, установленные в системе, введите команду:


locale -a

Установить новую локаль

Если вы не нашли нужную локаль в списке установленных, то вы можете поискать ее в списке поддерживаемых локалей, в файле:


/usr/share/i18n/SUPPORTED

Нужную локаль можно установить с помощью команды locale-gen:


sudo locale-gen ru_RU.UTF-8
sudo locale-gen en_US.UTF-8

После того, как вы установили локаль, она должна появиться в списке установленных:


locale -a

Изменить локаль временно

Чтобы изменить локаль или переменную локализации временно (она будет активна только во время текущей сессии), введите имя переменной, знак равно и новое значение. Например, изменим переменную окружения LC_TIME, задающую формат времени и даты:


LC_TIME=ru_RU.UTF-8

Изменить локаль постоянно, для пользователя

Если вы хотите, чтобы локаль устанавливалась для определенного пользователя при каждом входе в систему, вы можете настроить это в файле ~/.bashrc. Для этого откройте файл ~/.bashrc и добавьте внизу одну строчку, например, чтобы задать переменную LANG:


export LANG=ru_RU.UTF-8

Изменения вступят в силу при следующем входе в систему.

Изменить локаль постоянно, для всей системы

Если вы хотите изменить системную локаль, то просто откройте файл и измените нужные переменные локализации:


/etc/default/locale

Изменения вступят в силу после перезагрузки.

Как все это работает, вы можете посмотреть в данном видео:

Похожие записи:

Установить дополнительную локаль в систему

Прочитано: 2 149

Всем хорошего дня, сейчас я покажу, как в систему используемую мною в повседневности установить дополнительную локаль, а именно поддержку русского языка. Я по умолчанию когда разворачиваю будь-то тестовый сервер или боевой (уже под конкретную задачу) устанавливаю только поддержку английского языка. А вот в одной задаче мне понадобился русский язык, это как печать текста в создаваемых заметках так и более другое его использование. Но довольно лирики, переходу к самому интересному — практическому показу:

И так моя система:

[email protected]:~$ uname -a && lsb_release -a

Linux dv6 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

No LSB modules are available.

Distributor ID: Ubuntu

Description: Ubuntu 12.04 LTS

Release: 12.04

Codename: precise

Проверяем, какая локаль сейчас установлена в системе:

[email protected]:~$ locale -a

C

C.UTF-8

en_US.utf8

POSIX

Проверяем, поддерживается ли нашей системой русская локаль

[email protected]:~$ less /usr/share/i18n/SUPPORTED | grep ru_RU | grep CP1251

ru_RU.CP1251 CP1251

Как видим из вывода, что, локаль необходимая мне поддерживается об этом говорит наличие ru_RU.CP1251 в файле SUPPORTED, теперь устанавливаем ее в систему:

[email protected]:~$ sudo locale-gen ru_RU.CP1251

Generating locales…

ru_RU.CP1251… done

Generation complete.

Обновляем настройки локали в системе:

[email protected]:~$ sudo dpkg-reconfigure locales

Generating locales…

en_US.UTF-8… done

ru_RU.CP1251… up-to-date

Generation complete

Теперь делаем «logoff/logon» и можем редактировать файлы/создавать каталоги с использованием русских букв.

[email protected]:~$ nano file

привет как дела

да все норм я только вернулся

[email protected]:~$ less file

 

 

Отлично, локаль установлена и в консоли идет корректное отображение русских букв. Вот собственно и все, что я хотел показать в этой заметке, до встречи, с уважением ekzorchik.

Скрипт локализации серверной Ubuntu

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

Текущие языковые настройки консоли (так называемую «локаль») в любой момент можно определить с помощью команды locale:

# locale
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

Наиболее важной из этих переменных языкового окружения является  LANG, которая сейчас установлена в английский язык (en_US.UTF-8). Переменная LANG отвечает за текущую локализацию консоли и считывается системой при входе в shell из файла /etc/default/locale.

Итак, приступим.

В нашем случае список репозитариев, перечисленных в файле /etc/apt/sources.list, включает лишь англоязычные (с кодом «us»), которые не рассчитаны на работу на русском языке. Поэтому первое, что нам понадобится, это перенастройка репозитариев на работу с русскоязычными пакетами. Для этого в указанном выше файле достаточно будет заменить название доменов третьего уровня с us на ru:

# sed -i 's/\/us./\/ru./' /etc/apt/sources.list

После смены репозитариев кэш менеджера пакетов apt нужно обновить:

# apt-get update

Теперь установим собственно поддержку русского языка:

# apt-get -y install language-pack-ru

Чтобы переключить консоль на русский язык, сменим локаль с помощью команды update-locale:

# update-locale LANG=ru_RU.UTF-8

В системе по умолчанию могут быть предустановлены и другие языковые локали, которые никогда не понадобятся и будут только занимать место. Поэтому лучше удалить все установленные локали, а затем заново перегенерировать только русскую и английскую:

# locale-gen --purge en_US.UTF-8 ru_RU.UTF-8

Можно воспользоваться и командой dpkg-reconfigure locales, но тогда дополнительно будет установлена украинская локаль, которая лично мне не нужна.

На этом локализацию консоли в Ubuntu можно считать завершённой (необходимо только перезайти в систему).

Все операции по локализации можно оформить в виде bash-скрипта, который запускается с правами root:

  • localization.zip

 

Дополнительные настройки

Дополнительные настройки клавиатуры, вида и размера шрифтов выполняются следующим образом.

# dpkg-reconfigure console-setup

Оптимальными, на мой взгляд, являются следующие:

Используемая кодировка в консолиUTF-8
Набор символов, который должен поддерживаться консольным шрифтом# Кириллица – славянские языки
Консольный шрифтVGA
Размер шрифта16

/* Here you can add custom CSS for the current table */ /* Lean more about CSS: https://en.wikipedia.org/wiki/Cascading_Style_Sheets */ /* To prevent the use of styles to other tables use «#supsystic-table-1» as a base selector for example: #supsystic-table-1 { … } #supsystic-table-1 tbody { … } #supsystic-table-1 tbody tr { … } */

 

Давно известна также утилита console-cyrillic, которая имеет множество настроек, однако в настоящее время она не даёт каких-либо существенных преимуществ перед штатными средствами русификации.

 

Если на сервере установлен X-windows

Если, всё-таки, на вашей серверной ОС установлен X-windows или изначально это был десктопный вариант системы, но вам регулярно приходится работать в консоли, то для русификации выполняются все те же шаги, что были описаны выше с некоторыми поправками.

Файл ~/.pam_environment

В десктопных версиях Ubuntu, начиная с 12 версии, в языковых настройках системных пользователей основную роль начинает играть файл .pam_environment, находящийся в домашней папке каждого пользователя. Его настройки переопределяют локаль, заданную по умолчанию в файле /etc/default/locale. Поэтому, если после русификации системы и перезахода в неё локаль снова становится англоязычной, необходимо подправить те же самые переменные именно в этом файле.

Переменная LANGUAGE

Языковая переменная LANGUAGE выставляется графическим пакетом выбора языковых настроек и задаёт приоритет языка при отображении информационных сообщений в графических приложениях. Дело в том, что поскольку Ubuntu открытая система, то далеко не все приложения могут быть переведены на родной для пользователя язык, либо переведены не до конца. Тогда, если какой-то кусок приложения недопереведён, система подставляет переведённые фрагменты из другого языка в порядке, указанном в списке приоритетов. Этот список задаётся без указания кодировки, например:

LANGUAGE=ru_RU:en

Пользователю нет необходимости модифицировать эту переменную – она устанавливается автоматически.

Переменная LC_ALL

Будучи явно заданной, эта переменная переопределяет все переменные из серии LC_, которые существуют в системе. Если её прописать в глобальном файле /etc/default/locale или файле персональных настроек ~/.pam_environment, то выбор языка локализации приложений из графического пакета (например, GNOME) может оказаться невозможным.

Практика показывает, что значение этой переменной лучше оставить нулевым, и править значения каких-то частных переменных, например LC_TIME.

Локаль

— ArchWiki

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

Создание локалей

Имена локалей обычно имеют вид язык [_territory] [. Codeset] [@ modifier] , где language — это код языка ISO 639, территория — это код страны ISO 3166, а codeset — это набор символов или идентификатор кодировки, например ISO-8859-1 или UTF-8.Смотрите setlocale (3).

Чтобы получить список включенных локалей, запустите:

 $ локаль -a
 

Прежде чем языковой стандарт можно будет включить в системе, он должен быть сгенерирован. Этого можно добиться, раскомментировав соответствующие записи в /etc/locale.gen и запустив locale-gen . Точно так же комментирование записей отключает соответствующие языковые стандарты. При внесении изменений учитывайте любые локализации, требуемые другими пользователями в системе, а также конкретные #Variables.

Например, раскомментируйте en_US.UTF-8 UTF-8 для американо-английского языка:

 /etc/locale.gen 
 ...
#en_SG ISO-8859-1
en_US.UTF-8 UTF-8
#en_US ISO-8859-1
...
 

Сохраните файл и создайте локаль:

 # locale-gen
 
Примечание:
  • locale-gen также запускается с каждым обновлением glibc. [1]
  • UTF-8 рекомендуется вместо других наборов символов. [2]

Установка локали

Чтобы отобразить текущий установленный языковой стандарт и связанные с ним параметры среды, введите:

 $ локаль
 

Используемый языковой стандарт, выбранный из ранее созданных, установлен в locale.conf файлов. Каждый из этих файлов должен содержать список назначений переменных среды, разделенных новой строкой, в том же формате, что и для локали .

Чтобы вывести список доступных локалей, которые были созданы ранее, запустите:

 $ localedef - список-архив
 

В качестве альтернативы, используя localectl (1):

 $ localectl список локалей
 

Установка языкового стандарта системы

Чтобы установить языковой стандарт системы, запишите переменную LANG в / etc / locale.conf , где en_US.UTF-8 принадлежит первому столбцу раскомментированной записи в /etc/locale.gen :

 /etc/locale.conf 
 LANG =  en_US.UTF-8  

Или выполните:

 # localectl set-locale LANG =  en_US.UTF-8 
 

Подробнее см. #Variables и locale.conf (5).

Замена языкового стандарта системы на сеанс пользователя

Общесистемный языковой стандарт можно переопределить в каждом пользовательском сеансе, создав или отредактировав ~ /.config / locale.conf (или, как правило, $ XDG_CONFIG_HOME / locale.conf или $ HOME / .config / locale.conf ).

Приоритет этих файлов locale.conf определяется в /etc/profile.d/locale.sh .

Совет:
  • Это также может позволить хранить журналы в / var / log на английском языке при использовании местного языка в пользовательской среде.
  • Вы можете создать файл /etc/skel/.config/locale.conf , чтобы любые новые пользователи, добавленные с использованием useradd и опции -m , имели ~ /.config / locale.conf создается автоматически.

Немедленно изменить язык

После того как системные и пользовательские файлы locale.conf были созданы или отредактированы, их новые значения вступят в силу для новых сеансов при входе в систему. Чтобы текущая среда использовала новые настройки unset LANG и source /etc/profile.d/locale.sh :

 $ отключено LANG
$ источник /etc/profile.d/locale.sh
 

Примечание: Сначала необходимо отключить переменную LANG , в противном случае — локаль .sh не будет обновлять значения из locale.conf . Будут обновлены только новые и измененные переменные; переменные, удаленные из locale.conf , по-прежнему будут установлены в сеансе.

Другое применение

Переменные локали также можно определить стандартными методами, как описано в разделе «Переменные среды».

Например, чтобы протестировать или отладить конкретное приложение во время разработки, его можно запустить с чем-то вроде:

 $ LANG = C./my_application.sh
 

Аналогично, чтобы установить языковой стандарт для всех процессов, запускаемых из текущей оболочки (например, во время установки системы):

 $ экспорт LANG = C
 

Переменные

locale.conf Файлы поддерживают следующие переменные среды.

  • ЯЗЫК
  • ЯЗЫК
  • LC_ADDRESS
  • LC_COLLATE
  • LC_CTYPE
  • LC_IDENTIFICATION
  • LC_MEASUREMENT
  • LC_MESSAGES
  • LC_MONETARY
  • LC_NAME
  • LC_NUMERIC
  • LC_PAPER
  • LC_TELEPHONE
  • LC_TIME

Полное значение вышеупомянутых переменных LC_ * можно найти на странице руководства по языку (7), тогда как подробности их определения описаны в локали (5).

Примечание. Программы следуют порядку приоритета при поиске значений, зависящих от локали.

LANG: локаль по умолчанию

Локаль, установленная для этой переменной, будет использоваться для всех переменных LC_ * , которые не установлены явно.

Совет: Предположим, что вы являетесь англоговорящим пользователем в Испании и хотите, чтобы ваши программы обрабатывали числа и даты в соответствии с испанскими соглашениями, и только сообщения должны быть на английском языке. Затем вы можете установить для переменной LANG значение es_ES.UTF-8 и переменную LC_MESSAGES (пользовательский интерфейс для перевода сообщений) в en_US.UTF-8 .

LANGUAGE: резервные локали

Программы, которые используют gettext для перевода, учитывают параметр LANGUAGE в дополнение к обычным переменным. Это позволяет пользователям указать список локалей, которые будут использоваться в этом порядке. Если перевод для предпочтительного языкового стандарта недоступен, вместо перевода по умолчанию будет использован другой перевод из аналогичного языкового стандарта.Например, австралийский пользователь может захотеть вернуться к британскому, а не к американскому правописанию:

 locale.conf 
 LANG = en_AU.UTF-8
LANGUAGE = en_AU: en_GB: en 

LC_TIME: формат даты и времени

Если для LC_TIME установлено значение en_US.UTF-8 , например, формат даты будет «ММ / ДД / ГГГГ». Если вы хотите использовать формат даты ISO 8601 «ГГГГ-ММ-ДД», используйте:

 locale.conf 
 LC_TIME = en_DK.UTF-8 

glibc 2.29 исправила ошибку, en_US.UTF-8 начал показываться в 12-часовом формате, как и было задумано. Если вы хотите использовать 24-часовой формат, используйте LC_TIME = en_GB.UTF-8 .

Примечание: Программы не обязательно учитывают эту переменную для форматирования даты. Например, date (1) использует для этого свои собственные параметры, а Firefox перестал учитывать LC_TIME с версией 57 (ошибка 1429578).

LC_COLLATE: сопоставление

Эта переменная управляет правилами сопоставления, используемыми для сортировки и регулярных выражений.

Установка значения C может, например, заставить команду ls сначала сортировать точечные файлы, а затем имена файлов в верхнем и нижнем регистре:

 locale.conf 
 LC_COLLATE = C 

См. Также [3].

Чтобы обойти потенциальные проблемы, Arch использовал для установки LC_COLLATE = C в / etc / profile , но теперь этот метод устарел.

LC_ALL: устранение неисправностей

Локаль, установленная для этой переменной, всегда имеет приоритет перед LANG и всеми другими переменными LC_ * , независимо от того, установлены они или нет.

LC_ALL — единственная переменная LC_ * , которую нельзя установить в файлах locale.conf : она предназначена для использования только в целях тестирования или устранения неполадок, например, в / etc / profile .

Поиск и устранение неисправностей

Мой терминал не поддерживает UTF-8

Ниже перечислены некоторые (не все) терминалы, поддерживающие UTF-8:

Gnome-terminal или rxvt-unicode

Эти приложения необходимо запускать из локали UTF-8, иначе они потеряют поддержку UTF-8.Включите локаль en_US.UTF-8 (или локальную альтернативу UTF-8) в соответствии с приведенными выше инструкциями и установите ее в качестве языкового стандарта по умолчанию, затем перезагрузитесь.

Моя система все еще использует неправильный язык

Возможно, что переменные среды переопределены в файлах, отличных от locale.conf , например ~ / .pam_environment . См. Подробности в разделе «Переменные среды # Определение переменных».

Если вы используете среду рабочего стола, такую ​​как GNOME, ее языковые настройки могут иметь приоритет над настройками в локали .conf .

KDE Plasma также позволяет изменять язык пользовательского интерфейса через системные настройки. Если в среде рабочего стола по-прежнему используется язык по умолчанию после модификации, удаление файла по адресу ~ / .config / Plasma-localerc (ранее: ~ / .config / Plasma-locale-settings.sh ) должно решить проблему. .

LightDM хранит конфигурацию пользовательского сеанса в ~ / .dmrc . Возможно, оттуда также извлекается нежелательная настройка локали.

См. Также

.Локаль

(7) — страница руководства Linux

локаль (7) — страница руководства Linux
LOCALE (7) Руководство программиста Linux LOCALE (7)
 

НАЗВАНИЕ верхнее

       locale - описание многоязычной поддержки
 

ОБЗОР наверх

         #include  
 

ОПИСАНИЕ вверху

       Локаль - это набор языковых и культурных правил. Эти обложки
       такие аспекты, как язык сообщений, различные наборы символов,
       лексикографические соглашения и так далее.Программа должна уметь
       определить его локаль и действовать соответственно, чтобы быть переносимым на разные
       культур.

       Заголовок    объявляет типы данных, функции и макросы, которые
       полезны в этой задаче.

       В нем объявляются функции setlocale (3) для установки текущей локали,
       и localeconv (3) для получения информации о форматировании чисел.

       Есть разные категории для информации о локали, которую программа может
       необходимость; они объявлены как макросы.Используя их как первый аргумент
       в функцию setlocale (3), можно установить для одного из них значение
       желаемая локаль:

         LC_ADDRESS  (расширение GNU, начиная с glibc 2.2)
              Измените настройки, описывающие форматы (например, почтовый
              адреса), используемые для описания местоположений и географических
              Предметы. Приложения, которым нужна эта информация, могут использовать
              nl_langinfo (3) для получения нестандартных элементов, таких как
                _NL_ADDRESS_COUNTRY_NAME  (название страны на языке
              locale) и  _NL_ADDRESS_LANG_NAME  (название языка, в
              язык локали), которые возвращают такие строки, как
              Deutschland и Deutsch (для немецкоязычных языков).(Другие имена элементов перечислены в   .)

         LC_COLLATE 
              Эта категория определяет правила сортировки, используемые для сортировки и
              регулярные выражения, включая классы эквивалентности символов
              и элементы сопоставления с несколькими символами. Эта категория локали
              изменяет поведение функций strcoll (3) и
              strxfrm (3), которые используются для сравнения строк в локальном
              алфавит.Например, немецкий диез отсортирован как «сс».

         LC_CTYPE 
              Эта категория определяет интерпретацию байтовых последовательностей.
              как символы (например, одинарные или многобайтовые символы),
              классификации символов (например, буквенные или цифровые), а
              поведение классов персонажей. В системах glibc это
              категория также определяет правила транслитерации символов
              для iconv (1) и iconv (3). Это меняет поведение
              функции обработки символов и классификации, такие как
              isupper (3) и toupper (3), а многобайтовый символ
              такие функции, как mblen (3) или wctomb (3). LC_IDENTIFICATION  (расширение GNU, начиная с glibc 2.2)
              Измените настройки, относящиеся к метаданным для локали.
              Приложения, которым нужна эта информация, могут использовать nl_langinfo (3)
              для получения нестандартных элементов, таких как
                _NL_IDENTIFICATION_TITLE  (заголовок этого документа языкового стандарта) и
                _NL_IDENTIFICATION_TERRITORY  (географическая территория, на которую
              этот документ языкового стандарта применяется), который может возвращать такие строки
              как «английский язык для США» и «США».(Другой элемент
              имена перечислены в   .)

         LC_MONETARY 
              Эта категория определяет форматирование, используемое для денежных
              связанные числовые значения. Это изменяет возвращаемую информацию
              по localeconv (3), который описывает, как числа обычно
              напечатаны, с такими деталями, как десятичная точка по сравнению с десятичной
              запятая. Эта информация используется внутри функции
              strfmon (3). LC_MESSAGES 
              Эта категория влияет на язык сообщений.
              отображается и как выглядит утвердительный или отрицательный ответ
              нравиться. Библиотека GNU C содержит gettext (3), ngettext (3),
              и функции rpmatch (3), чтобы упростить использование этой информации.
              Семейство функций GNU gettext также подчиняется среде
              переменная  LANGUAGE  (содержащая список разделенных двоеточиями
              locales), если для категории задан допустимый языковой стандарт, отличный от
                "С" .Эта категория также влияет на поведение катопена (3).

         LC_MEASUREMENT  (расширение GNU, начиная с glibc 2.2)
              Измените настройки, относящиеся к системе измерения, в
              языковой стандарт (т. е. метрическая система в сравнении с обычными единицами измерения США). Приложения
              можно использовать nl_langinfo (3) для получения нестандартного
                _NL_MEASUREMENT_MEASUREMENT  элемент, который возвращает указатель
              символу, имеющему значение 1 (метрика) или 2 (США
              обычные единицы). LC_NAME  (расширение GNU, начиная с glibc 2.2)
              Измените настройки, описывающие форматы, используемые для адресации
              человек. Приложения, которым нужна эта информация, могут использовать
              nl_langinfo (3) для получения нестандартных элементов, таких как
                _NL_NAME_NAME_MR  (общее приветствие для мужчин) и
                _NL_NAME_NAME_MS  (общее приветствие для женщин) элементы,
              которые возвращают такие строки, как «Herr» и «Frau» (для немецкого -
              языковые стандарты).(Другие имена элементов перечислены в
                 .)

         LC_NUMERIC 
              Эта категория определяет правила форматирования, используемые для
              неденежные числовые значения, например, тысячи
              разделитель и символ системы счисления (точка в большинстве англоязычных
              говорящие страны, но запятая во многих других регионах). Это
              влияет на такие функции, как printf (3), scanf (3) и strtod (3).
              Эту информацию также можно прочитать с помощью localeconv (3)
              функция. LC_PAPER  (расширение GNU, начиная с glibc 2.2)
              Измените настройки, касающиеся размеров стандартного
              размер бумаги (например, письмо США по сравнению с форматом A4). Приложения, которые
              нужны размеры, их можно получить, используя nl_langinfo (3) для
              получить нестандартные  _NL_PAPER_WIDTH  и  _NL_PAPER_HEIGHT 
              элементы, которые возвращают  int  значений, определяющих размеры в
              миллиметры. LC_TELEPHONE  (расширение GNU, начиная с glibc 2.2)
              Измените настройки, описывающие форматы, которые будут использоваться с
              телефонные услуги. Приложения, которым нужна эта информация
              может использовать nl_langinfo (3) для получения нестандартных элементов, таких как
              как  _NL_TELEPHONE_INT_PREFIX  (международный префикс, используемый для вызова
              числа в этом языковом стандарте), который возвращает строку, например "49"
              (для Германии). (Другие имена элементов перечислены в
                 .)

         LC_TIME 
              Эта категория определяет форматирование даты и времени.
              ценности. Например, в большинстве стран Европы используются 24-часовые часы.
              по сравнению с 12-часовыми часами, используемыми в Соединенных Штатах. В
              установка этой категории влияет на поведение функций
              такие как strftime (3) и strptime (3).

         LC_ALL  Все вышеперечисленное.

       Если второй аргумент setlocale (3) - пустая строка,  "" , для
       языковой стандарт по умолчанию, он определяется с помощью следующих шагов:

       1.Если есть ненулевая переменная среды  LC_ALL , значение
            LC_ALL  используется.

       2. Если переменная среды с тем же именем, что и одна из
          категории выше существует и не является нулевым, его значение используется для
          эта категория.

       3. Если есть ненулевая переменная среды  LANG , значение
            LANG  используется.

       Значения о локальном числовом форматировании доступны в структуре  
         lconv , возвращаемый функцией localeconv (3), которая имеет следующие
       декларация:

           struct lconv {

               / * Числовая (неденежная) информация * /

               char * decimal_point; / * Символ основания * /
               char *ousand_sep; / * Разделитель для групп цифр слева
                                           символа системы счисления * /
               char * группировка; / * Каждый элемент - это количество цифр в
                                      группа; элементы с более высокими показателями
                                      еще левее.Элемент со значением
                                      CHAR_MAX означает отсутствие дальнейшей группировки
                                      сделано. Элемент со значением 0 означает
                                      что предыдущий элемент используется для
                                      все группы дальше ушли. * /

               / * Остальные поля предназначены для денежной информации * /

               char * int_curr_symbol; / * Первые три символа - валюта
                                           символ из ISO 4217.Четвертый знак
                                           это разделитель. Пятый знак
                                           '\ 0'. * /
               char * currency_symbol; / * Символ местной валюты * /
               char * mon_decimal_point; / * Символ основания * /
               char * mon_thousands_sep; / * Подобно ousands_sep  выше * /
               char * mon_grouping; / * Как , группировка  выше * /
               char * positive_sign; / * Знак положительных значений * /
               char * negative_sign; / * Знак отрицательных значений * /
               char int_frac_digits; / * Международные дробные числа * /
               char frac_digits; / * Местные дробные числа * /
               char p_cs_precedes; / * 1 если currency_symbol предшествует
                                           положительное значение, 0 в случае успеха * /
               char p_sep_by_space; / * 1 если пробел разделяет
                                           currency_symbol из положительного
                                           ценность */
               char n_cs_precedes; / * 1 если currency_symbol предшествует
                                           отрицательное значение, 0 в случае успеха * /
               char n_sep_by_space; / * 1 если пробел разделяет
                                           currency_symbol с негатива
                                           ценность */
               / * Положительные и отрицательные позиции знака:
                  0 Количество и символ валюты заключены в круглые скобки.1 Строка знака предшествует количеству и символу валюты.
                  2 Строка знака следует за количеством и символом валюты.
                  3 Строка знака непосредственно предшествует currency_symbol.
                  4 Строка знака сразу же следует за currency_symbol. * /
               char p_sign_posn;
               char n_sign_posn;
           };

     POSIX.1-2008 расширения локального API 
       POSIX.1-2008 стандартизировал ряд расширений API локали,
       на основе реализаций, впервые появившихся в версии 2.3 из
       Библиотека GNU C. Эти расширения предназначены для решения проблемы
       что традиционные API локали плохо сочетаются с многопоточными
       приложений и приложений, которые должны иметь дело с несколькими
       локации.

       Расширения принимают форму новых функций для создания и управления
       поиск объектов локали (newlocale (3), freelocale (3), duplocale (3),
       и uselocale (3)) и различные новые библиотечные функции с суффиксом
       "_l" (например, toupper_l (3)), расширяющие традиционную локаль-зависимость
       dent API (например,g., toupper (3)), чтобы разрешить указание локали
       объект, который должен применяться при выполнении функции.
 

ОКРУЖАЮЩАЯ СРЕДА верхняя

       Следующая переменная среды используется newlocale (3) и
       setlocale (3) и, таким образом, влияет на все непривилегированные локализованные программы:

         LOCPATH 
              Список имен путей, разделенных двоеточиями (':'), которые должны быть
              используется для поиска локальных данных. Если эта переменная установлена, только
              отдельные скомпилированные файлы данных локали из  LOCPATH  и
              используется системный путь к данным локали по умолчанию; любой доступный язык
              архивы не используются (см. localedef (1)).Человек
              файлы скомпилированных локальных данных ищутся в
              подкаталоги, зависящие от используемой в данный момент локали. За
              Например, когда  en_GB.UTF-8  используется для категории,
              ищутся следующие подкаталоги в указанном порядке:
                en_GB.UTF-8 ,  en_GB.utf8 ,  en_GB ,  en.UTF-8 ,  en.utf8  и  en .
 

ФАЙЛОВ вверху

         / usr / lib / locale / locale-архив 
              Обычное расположение архива языковых стандартов по умолчанию. / usr / lib / locale 
              Обычный путь по умолчанию для скомпилированных отдельных файлов локали.
 

СООТВЕТСТВУЕТ top

       POSIX.1-2001.
 

СМОТРИ ТАКЖЕ top

       iconv (1), locale (1), localedef (1), catopen (3), gettext (3), iconv (3),
       localeconv (3), mbstowcs (3), newlocale (3), ngettext (3),
       nl_langinfo (3), rpmatch (3), setlocale (3), strcoll (3), strfmon (3),
       strftime (3), strxfrm (3), uselocale (3), wcstombs (3), locale (5),
       кодировки (7), unicode (7), utf-8 (7)
 

COLOPHON верх

       Эта страница является частью версии 5.08 из проекта Linux  man-pages . А
       описание проекта, информация о сообщениях об ошибках и
       последнюю версию этой страницы можно найти по адресу
       https://www.kernel.org/doc/man-pages/.


 

Страницы, которые относятся к этой странице: init (1), локаль (1), localectl (1), localedef (1), стр. (1), preconv (1), systemd (1), catclose (3), катопен (3), дуплокале (3), freelocale (3), isalnum (3), isalnum_l (3), isalpha (3), isalpha_l (3), isascii (3), isascii_l (3), пусто (3), isblank_l (3), iscntrl (3), iscntrl_l (3), isdigit (3), isdigit_l (3), isgraph (3), isgraph_l (3), islower (3), islower_l (3), исприн (3), isprint_l (3), ispunct (3), ispunct_l (3), isspace (3), isspace_l (3), isupper (3), isupper_l (3), isxdigit (3), isxdigit_l (3), localeconv (3), newlocale (3), nl_langinfo (3), nl_langinfo_l (3), setlocale (3), strerror (3), strerror_l (3), strerror_r (3), strfmon (3), strfmon_l (3), tolower (3), tolower_l (3), туппер (3), toupper_l (3), Towlower (3), Towlower_l (3), буксир (3), Towupper_l (3), uselocale (3), crontab (5), локаль (5), локаль.conf (5), окружающая среда (7), шарик (7)


Авторские права и лицензия на это руководство, стр.

.Локаль

(1) — страница руководства Linux

локаль (1) — страница руководства Linux
LOCALE (1) Руководство пользователя Linux LOCALE (1)
 

НАЗВАНИЕ верхнее

       locale - получить информацию о локали
 

ОБЗОР наверх

         locale  [ option ]
         локаль  [ опция ]  -a 
         локаль  [ опция ] 
         locale  [ option ]  name ...
 

ОПИСАНИЕ вверху

       Команда  locale  отображает информацию о текущем языковом стандарте или
       все локали в стандартном выводе.

       При вызове без аргументов  locale  отображает текущий языковой стандарт.
       настройки для каждой категории языкового стандарта (см. локаль (5)) на основе
       настройки переменных среды, управляющих локалью (см.
       локаль (7)). Выводятся значения переменных, установленных в среде.
       без двойных кавычек подразумеваемые значения печатаются в двойных кавычках.Если вариант  -a  или  -m  (или один из их длинноформатных
       эквиваленты), поведение выглядит следующим образом:

         -a ,  - все страны 
              Показать список всех доступных языков. Опция  -v  вызывает
              метаданные  LC_IDENTIFICATION  о каждой локали, которая будет
              включены в вывод.

         -m ,  - символы 
              Отображение доступных диаграмм (описание набора символов
              файлы).Чтобы отобразить текущий набор символов для локали,
              используйте локаль  -c charmap .

       Команда  locale  также может иметь один или несколько аргументов,
       которые являются названиями ключевых слов локали (например,  date_fmt ,  ctype- 
         имена классов ,  yesexpr  или  decimal_point ) или категории локали (для
       например  LC_CTYPE  или  LC_TIME ). Для каждого аргумента следующее:
       отображается:

       * Для ключевого слова locale значение этого ключевого слова, которое будет отображаться.* Для категории языкового стандарта значения всех ключевых слов в этой категории
          отображаются.

       Когда указаны аргументы, значимы следующие параметры:

         -c ,  - название-категории 
              В качестве аргумента имени категории напишите название локали.
              категория на отдельной строке перед списком ключевых слов
              значения для этой категории.

              В качестве аргумента имени ключевого слова напишите имя локали.
              категория для этого ключевого слова в отдельной строке перед
              значение ключевого слова.Эта опция улучшает читаемость, когда несколько аргументов имени
              указаны. Его можно комбинировать с опцией  -k .

         -k ,  - имя-ключевого слова 
              Для каждого ключевого слова, значение которого отображается, включите также
              имя этого ключевого слова, чтобы результат имел формат:

                    ключевое слово  = " значение "

       Команда  locale  также знает о следующих параметрах:

         -v ,  -verbose 
              Отображение дополнительной информации для некоторых параметров командной строки
              и комбинации аргументов. -? ,  - справка 
              Отобразить сводку параметров и аргументов командной строки и
              Выход.

         --использование 
              Отобразите короткое сообщение об использовании и выйдите.

         -V ,  - версия 
              Вывести версию программы и выйти.
 

ФАЙЛОВ вверху

         / usr / lib / locale / locale-архив 
              Обычное расположение архива языковых стандартов по умолчанию.

         / usr / share / i18n / locales 
              Обычный путь по умолчанию для файлов определения локали.

СООТВЕТСТВУЕТ top

       POSIX.1-2001, POSIX.1-2008.
 

ПРИМЕРЫ наверху

       $  локаль 
       LANG = en_US.UTF-8
       LC_CTYPE = "en_US.UTF-8"
       LC_NUMERIC = "ru_US.UTF-8"
       LC_TIME = "ru_US.UTF-8"
       LC_COLLATE = "ru_US.UTF-8"
       LC_MONETARY = "ru_US.UTF-8"
       LC_MESSAGES = "ru_US.UTF-8"
       LC_PAPER = "en_US.UTF-8"
       LC_NAME = "en_US.UTF-8"
       LC_ADDRESS = "ru_US.UTF-8"
       LC_TELEPHONE = "ru_US.UTF-8 "
       LC_MEASUREMENT = "ru_US.UTF-8"
       LC_IDENTIFICATION = "ru_US.UTF-8"
       LC_ALL =

       $  локаль date_fmt 
       % a% b% e% H:% M:% S% Z% Y

       $  локаль -k date_fmt 
       date_fmt = "% a% b% e% H:% M:% S% Z% Y"

       $  локаль -ck date_fmt 
       LC_TIME
       date_fmt = "% a% b% e% H:% M:% S% Z% Y"

       $  локаль LC_TELEPHONE 
       +% c (% a)% l
       (% a)% l
       11
       1
       UTF-8

       $  локаль -k LC_TELEPHONE 
       tel_int_fmt = "+% c (% a)% l"
       tel_dom_fmt = "(% a)% l"
       int_select = "11"
       int_prefix = "1"
       phone-codeset = "UTF-8"

       В следующем примере компилируется пользовательский языковой стандарт из ./ wrk  директива
       tory с помощью утилиты localedef (1) в каталоге  $ HOME / .locale ,
       затем проверяет результат с помощью команды date (1), а затем устанавливает
       переменные среды  LOCPATH  и  LANG  в файле профиля оболочки, поэтому
       что пользовательский языковой стандарт будет использоваться в последующих пользовательских сеансах:

       $  mkdir -p $ HOME / .locale 
       $  I18NPATH =. / Wrk / localedef -f UTF-8 -i fi_SE $ HOME / .locale / fi_SE.UTF-8 
       LOCPATH $  = $ HOME /.локаль LC_ALL = fi_SE.UTF-8 дата 
       $  echo "export LOCPATH = \ $ HOME / .locale" >> $ HOME / .bashrc 
       $  echo "export LANG = fi_SE.UTF-8" >> $ HOME / .bashrc 
 

СМОТРИ ТАКЖЕ top

       localedef (1), charmap (5), locale (5), locale (7)
 

COLOPHON верх

       Эта страница является частью версии 5.08 проекта Linux  man-pages . А
       описание проекта, информация о сообщениях об ошибках и
       последнюю версию этой страницы можно найти по адресу
       https: // www.kernel.org/doc/man-pages/.


 

Страницы, которые относятся к этой странице: iconv (1), localedef (1), нрофф (1), freelocale (3), localeconv (3), newlocale (3), nl_langinfo (3), nl_langinfo_l (3), setlocale (3), sysconf (3), uselocale (3), charmap (5), локаль (5), карта репертуара (5), локаль (7), юникод (7), УТФ-8 (7), utf8 (7), UTF-8 (7)


Авторские права и лицензия на это руководство, стр.

.Локаль

(5) — страница руководства Linux

локаль (5) — страница руководства Linux
LOCALE (5) Руководство пользователя Linux LOCALE (5)
 

НАЗВАНИЕ верхнее

       locale - описывает файл определения локали
 

ОПИСАНИЕ вверху

       Файл определения  locale  содержит всю информацию, которую
       Команда localedef (1) должна преобразовать его в двоичную локаль
       база данных.Файлы определений состоят из разделов, каждый из которых описывает локаль.
       категория подробно. См. Locale (7) для получения дополнительных сведений об этих
       категории.

     Синтаксис 
       Файл определения локали начинается с заголовка, который может состоять из
       следующие ключевые слова:

         escape_char 
              за ним следует символ, который следует использовать как escape-
              символ для остальной части файла, чтобы отметить символы, которые
              следует интерпретировать особым образом.По умолчанию
              обратная косая черта (\).

         comment_char 
              за ним следует символ, который будет использоваться в качестве комментария -
              символ для остальной части файла. По умолчанию используется номер
              подписать (#).

       Определение языкового стандарта состоит из одной части для каждой категории языкового стандарта. Каждый
       часть может быть скопирована из другого существующего языкового стандарта или может быть определена
       с нуля. Если категория должна быть скопирована, единственный действительный
       ключевое слово в определении -  копия , за которым следует название локали
       в двойных кавычках, которые следует скопировать.Исключения для этого
       правило:  LC_COLLATE  и  LC_CTYPE , где оператор  copy  может быть
       за которыми следуют правила для конкретного региона и выбранные переопределения.

       При определении локали или категории с нуля существующий
       предоставленный системой файл определения локали следует использовать в качестве справочного материала.
       следовать общим соглашениям glibc.

     Разделы категории локали 
       POSIX определяет следующие разделы категорий:

       *  LC_CTYPE 

       *  LC_COLLATE 

       *  LC_MESSAGES 

       *  LC_MONETARY 

       *  LC_NUMERIC 

       *  LC_TIME 

       Кроме того, начиная с версии 2.2 библиотека GNU C поддерживает
       следующие нестандартные категории:

       *  LC_ADDRESS 

       *  LC_IDENTIFICATION 

       *  LC_MEASUREMENT 

       *  LC_NAME 

       *  LC_PAPER 

       *  LC_TELEPHONE 

       См. Locale (7) для более подробного описания каждой категории.

     LC_ADDRESS 
       Определение начинается со строки  LC_ADDRESS  в первом столбце.

       Разрешены следующие ключевые слова:

         postal_fmt 
              за которой следует строка, содержащая дескрипторы полей, которые определяют
              формат, используемый для почтовых адресов в данном регионе.В
              распознаются следующие дескрипторы полей:

              % n Имя человека, возможно, созданное с помощью  LC_NAME 
                       name_fmt  ключевое слово (начиная с glibc 2.24).

              % Забота о человеке или организации.

              % f Название фирмы.

              % d Название отдела.

              % b Название здания.

              % s Название улицы или квартала (например, японское).

              % h Номер или обозначение дома.

              % N Вставить конец строки, если значение предыдущего дескриптора
                  не была пустой строкой; в противном случае игнорировать.% t Вставить пробел, если значение предыдущего дескриптора не было
                  пустая строка; в противном случае игнорировать.

              % r Номер комнаты, обозначение дверей.

              % e Номер этажа.

              % C Обозначение страны из ключевого слова  country_post .

              % l Местный поселок в городе или городе (начиная с glibc 2.24).

              % z Почтовый индекс, почтовый индекс.

              % T Город, город.

              % S Штат, провинция или префектура.

              % c Страна, взятая из записи данных.Каждый дескриптор поля может содержать букву «R» после «%», чтобы указать
              что информация взята из строки романизированной версии
              объекта.

         название страны 
              за которым следует название страны на языке текущего
              документ (например, "Deutschland" для локали  de_DE ).

         страна_пост 
              за которым следует аббревиатура страны (см.
              CERT_MAILCODES). country_ab2 
              за которым следует двухбуквенное сокращение страны (ISO
              3166).

         country_ab3 
              за которым следует трехбуквенное сокращение страны (ISO
              3166).

         country_num 
              за которым следует числовой код страны (ISO 3166).

         country_car 
              за которым следует международный код страны номерного знака.

         country_isbn 
              за которым следует код ISBN (для книг). lang_name 
              за которым следует название языка на языке текущего
              документ.

         lang_ab 
              за которым следует двухбуквенное сокращение языка (ISO
              639).

         lang_term 
              с последующим трехбуквенным сокращением языка (ISO
              639-2 / Т).

         lang_lib 
              за которым следует трехбуквенное сокращение языка для
              использование библиотеки (ISO 639-2 / B).Приложения должны в целом
              предпочтительнее  lang_term  вместо  lang_lib .

       Определение  LC_ADDRESS  заканчивается строкой  END LC_ADDRESS .

     LC_CTYPE 
       Определение начинается со строки  LC_CTYPE  в первом столбце.

       Разрешены следующие ключевые слова:

         верхний регистр , за которым следует список прописных букв. Буквы  А 
              через  Z  включаются автоматически.Персонажи также
              указано как  cntrl ,  цифра ,  punct  или  пробел  не допускаются.

         нижний регистр , за которым следует список строчных букв. Буквы  а 
              через  z  включаются автоматически. Персонажи также
              указано как  cntrl ,  цифра ,  punct  или  пробел  не допускаются.

         альфа , за которым следует список букв.Все символы указаны как
              автоматически включаются  верхний  или  нижний . Символы
              также указывается как  cntrl ,  цифра ,  punct  или  пробел  не являются
              позволил.

         цифра , за которой следуют символы, классифицированные как цифровые цифры. Только
              допустимы цифры с  0  по  9 . Они включены
              по умолчанию в этом классе. пробел , за которым следует список символов, определенных как пробел
              символы. Символы также указаны как  верхний ,  нижний ,  альфа ,
                цифр ,  график  или  xdigit  не допускаются. Персонажи
                <пробел> ,  <подача формы> ,  <новая строка> ,  <возврат каретки> ,  <вкладка>  и
                  добавляются автоматически. cntrl , за которым следует список управляющих символов. Персонажи также
              указано как  верхний ,  нижний ,  альфа ,  цифра ,  пунктир ,  график ,  печать ,
              или  xdigit  недопустимы.

         пункт , за которым следует список знаков пунктуации. Персонажи также
              указано как  верхний ,  нижний ,  альфа ,  цифра ,  cntrl ,  xdigit  или
                <пробел>  символов не допускаются. график , за которым следует список печатаемых символов, не включая
                <пробел>  символ. Символы определены как  верхний ,  нижний ,
                alpha ,  digit ,  xdigit  и  punct  добавляются автоматически.
              Символы, также указанные как  cntrl , не допускаются.

         напечатайте , за которым следует список печатаемых символов, включая
                <пробел>  символ.Символы определены как  верхний ,  нижний ,
                альфа ,  цифра ,  xdigit ,  punct  и  <пробел>  символ:
              автоматически включается. Символы также указаны как  cntrl 
              не допускаются.

         xdigit , за которым следует список символов, классифицированных как шестнадцатеричные
              цифры. Необходимо указать десятичные цифры, за которыми следует одна
              или более набор из шести символов в порядке возрастания.В
              по умолчанию включены следующие символы:  0  9 ,  a 
              через  f ,  A  через  F .

         пробел , за которым следует список символов, классифицированных как  пробел . В
              символы  <пробел>  и  <таб>  добавляются автоматически.

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

         тольвер 
              за которым следует список отображений из верхнего регистра в нижний
              буквы. Если ключевое слово tolower отсутствует, обратное
              списка тупперов.

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

         charconv 
              за которым следует список имен отображения символов, зависящих от локали
              которые затем должны быть определены в локали.

         outdigit 
              за которым следует список альтернативных выходных цифр для локали.

         карта to_inpunct 
              за которым следует список отображаемых пар альтернативных цифр и
              разделители входных цифр для локали. карта to_outpunct 
              за которым следует список пар сопоставления альтернативных разделителей
              для вывода для локали.

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

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

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

         translit_end 
              отмечает конец правил транслитерации.

       Определение  LC_CTYPE  заканчивается строкой  END LC_CTYPE .

     LC_COLLATE 
       Обратите внимание, что glibc поддерживает не все параметры, определенные в POSIX, а только
       поддерживаются параметры, описанные ниже (начиная с glibc 2.23).

       Определение начинается со строки  LC_COLLATE  в первом столбце.

       Разрешены следующие ключевые слова:

         coll_weight_max 
              за которым следует число, представляющее используемые уровни сортировки.
              Это ключевое слово распознается, но игнорируется glibc.

         элемент сопоставления 
              с последующим определением символа упорядочивающего элемента
              представляющий элемент сопоставления с несколькими символами.

         символ сопоставления 
              за которым следует определение символа сортировки, который может быть
              используется в операторах порядка сопоставления. определяет , за которым следует  строка  для оценки в  ifdef   строка / else  /
                endif  конструкция.

         повторный заказ после 
              с последующим переопределением правила сопоставления.

         конец повторного заказа 
              отмечает конец переопределения правила сопоставления.

         секций повторного заказа после 
              за которым следует имя сценария, после которого следует изменить порядок перечисленных сценариев. конец-секций повторного заказа 
              отмечает конец переупорядочивания разделов.

         сценарий , за которым следует объявление сценария.

         символ-эквивалент 
              за которым следует символ сопоставления, чтобы быть эквивалентным другому
              определенный символ сопоставления.

       Определение правила сопоставления начинается со строки:

         order_start 
              за которым следует список ключевых слов, выбранных из  вперед ,  назад ,
              или  позиция .Определение порядка состоит из строк, которые
              описывают порядок сопоставления и завершаются
              ключевое слово  order_end .

       Определение  LC_COLLATE  заканчивается строкой  END LC_COLLATE .

     LC_IDENTIFICATION 
       Определение начинается со строки  LC_IDENTIFICATION  в первом
       столбец.

       Разрешены следующие ключевые слова:

         заголовок , за которым следует заголовок документа языкового стандарта (e.g., "Маори
              языковой стандарт для Новой Зеландии »).

         источник , за которым следует название организации, которая поддерживает это
              документ.

         адрес 
              за которым следует адрес организации, обслуживающей
              этот документ.

         контакт 
              за которым следует имя контактного лица в организации
              который поддерживает этот документ.

         электронная почта , за которой следует адрес электронной почты человека или организации
              который поддерживает этот документ. тел.  и номер телефона (в международном формате)
              организация, которая поддерживает этот документ. Начиная с glibc
              2.24, это ключевое слово устарело и заменено другим контактом.
              методы.

         факс , за которым следует номер факса (в международном формате)
              организация, которая поддерживает этот документ. Начиная с glibc 2.24,
              это ключевое слово устарело в пользу других методов связи. язык 
              за которым следует название языка, на котором этот документ
              применяется.

         территория 
              за которым следует название страны / географического региона, в котором
              этот документ применяется.

         аудитория 
              за которым следует описание аудитории, для которой это
              документ предназначен.

         приложение 
              за которым следует описание любого специального приложения, для которого
              этот документ предназначен. сокращение 
              за которым следует короткое имя поставщика источника этого
              документ.

         редакция 
              за которым следует номер редакции этого документа.

         дата , за которой следует дата пересмотра этого документа.

       Кроме того, для каждой из категорий, определенных в документе,
       должна быть строка, начинающаяся с ключевого слова  category , за которым следует
       по:

       * строка, которая идентифицирует определение данной категории языкового стандарта,

       * точка с запятой и

       * один из идентификаторов  LC_   * .Определение  LC_IDENTIFICATION  заканчивается строкой  END 
         ИДЕНТИФИКАЦИЯ ВЕРСИИ .

     LC_MESSAGES 
       Определение начинается со строки  LC_MESSAGES  в первом
       столбец.

       Разрешены следующие ключевые слова:

         yesexpr 
              за которым следует регулярное выражение, описывающее возможные да-
              ответы.

         noexpr , за которым следует регулярное выражение, описывающее возможные запреты
              ответы. yesstr , за которой следует строка вывода, соответствующая «да».

         nostr , за которой следует строка вывода, соответствующая «нет».

       Определение  LC_MESSAGES  заканчивается строкой  END LC_MESSAGES .

     LC_MEASUREMENT 
       Определение начинается со строки  LC_MEASUREMENT  в первом
       столбец.

       Разрешены следующие ключевые слова:

         измерение 
              за которым следует номер, обозначающий стандарт, используемый для
              измерение.Признаны следующие значения:

                1  Метрическая система.

                2  Стандартные измерения в США.

       Определение  LC_MEASUREMENT  заканчивается строкой  END 
         ИЗМЕРЕНИЕ .

     LC_MONETARY 
       Определение начинается со строки  LC_MONETARY  в первом
       столбец.

       Разрешены следующие ключевые слова:

         int_curr_symbol 
              за которым следует символ международной валюты.Это должно быть
              4-символьная строка, содержащая международную валюту
              символ в соответствии со стандартом ISO 4217 (три символа)
              за которым следует разделитель.

         currency_symbol 
              за которым следует символ местной валюты.

         mon_decimal_point 
              за которым следует строка, которая будет использоваться как десятичное
              разделитель при форматировании денежных величин.

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

         позитивный_знак 
              за которым следует строка, которая используется для обозначения положительного знака
              для денежных величин.

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

         frac_digits 
              за которым следует количество дробных цифр, которые должны быть
              используется при форматировании с помощью символа  currency_symbol .

         p_cs_precedes 
              за которым следует целое число, указывающее на размещение
                currency_symbol  для денежной суммы неотрицательного формата:

                0  символ следует за значением. 1  символ предшествует значению.

         p_sep_by_space 
              за которым следует целое число, указывающее на разделение
                currency_symbol , строка знака и значение для
              неотрицательная денежная величина. Следующие значения
              признаются:

                0  Символ валюты и значение не разделяются пробелом.

                1  Если символ валюты и строка знака смежны,
                  пробел отделяет их от значения; в противном случае пространство
                  разделяет символ валюты и значение. 2  Если символ валюты и строка знака находятся рядом,
                  пробел отделяет их от значения; в противном случае пространство
                  разделяет строку знака и значение.

         n_cs_precedes 
              за которым следует целое число, указывающее на размещение
                currency_symbol  для денежной суммы в отрицательном формате.
              Распознаются те же значения, что и для  p_cs_precedes .

         n_sep_by_space 
              за которым следует целое число, указывающее на разделение
                currency_symbol , строка знака и значение отрицательного
              форматированная денежная величина.Признаны те же ценности
              как для  p_sep_by_space .

         p_sign_posn 
              за которым следует целое число, указывающее, где  positive_sign 
              следует размещать для неотрицательной денежной величины:

                0  В скобках заключено количество и  символ валюты 
                  или  int_curr_symbol .

                1  Знаковая строка предшествует количеству, а
                    currency_symbol  или  int_curr_symbol . 2  Знаковая строка следует за количеством и
                    currency_symbol  или  int_curr_symbol .

                3  Строка знака предшествует  currency_symbol  или
                    int_curr_symbol .

                4  Знаковая строка следует за  currency_symbol  или
                    int_curr_symbol .

         n_sign_posn 
              за которым следует целое число, указывающее, где  negative_sign 
              следует размещать для отрицательной денежной суммы.Такой же
              значения распознаются как для  p_sign_posn .

         int_p_cs_precedes 
              за которым следует целое число, указывающее на размещение
                int_curr_symbol  для неотрицательного международного формата
              денежное количество. Признаны те же значения, что и для
                p_cs_precedes .

         int_n_cs_precedes 
              за которым следует целое число, указывающее на размещение
                int_curr_symbol  для негатива международного формата
              денежное количество.Признаны те же значения, что и для
                p_cs_precedes .

         int_p_sep_by_space 
              за которым следует целое число, указывающее на разделение
                int_curr_symbol , строка знака и значение для
              неотрицательная денежная сумма в международном формате. В
              распознаются те же значения, что и для  p_sep_by_space .

         int_n_sep_by_space 
              за которым следует целое число, указывающее на разделение
                int_curr_symbol , строка знака и значение отрицательного
              денежная сумма в международном формате.Те же ценности
              распознаются как  p_sep_by_space .

         int_p_sign_posn 
              за которым следует целое число, указывающее, где  positive_sign 
              должен быть помещен для неотрицательного международного формата
              денежное количество. Признаны те же значения, что и для
                p_sign_posn .

         int_n_sign_posn 
              за которым следует целое число, указывающее, где  negative_sign 
              размещать на негативах международного формата
              денежное количество.Признаны те же значения, что и для
                p_sign_posn .

       Определение  LC_MONETARY  заканчивается строкой  END LC_MONETARY .

     LC_NAME 
       Определение начинается со строки  LC_NAME  в первом столбце.

       Разрешены различные ключевые слова, но только  name_fmt  является обязательным. Другой
       ключевые слова необходимы только в том случае, если существует общее соглашение об использовании
       соответствующее приветствие в этом регионе.Допустимые ключевые слова:
       следует:

         name_fmt 
              за которой следует строка, содержащая дескрипторы полей, которые определяют
              формат, используемый для имен в локали. Следующее поле
              дескрипторы распознаются:

              % f Фамилия (я).

              % F Фамилии в верхнем регистре.

              % g Имя.

              % G Первое начальное.

              % l Имя, состоящее из латинских букв.

              % o Другое более короткое имя.% m Дополнительное имя (имена).

              % M Инициалы дополнительных имен.

              % p Профессия.

              % s Приветствие, например "Доктор".

              % S Сокращенное приветствие, например «Мистер». или «Доктор».

              % d Приветствие, используя соглашения, установленные FDCC.

              % t Если предыдущий дескриптор поля привел к пустому
                  строка, затем пустая строка, иначе пробел
                  характер.

         name_gen 
              с последующим общим приветствием для любого пола. name_mr 
              с последующим приветствием для мужчин.

         name_mrs 
              с последующим приветствием замужним женщинам.

         name_miss 
              с последующим приветствием незамужним женщинам.

         name_ms 
              с последующим приветствием для всех женщин.

       Определение  LC_NAME  заканчивается строкой  END LC_NAME .

     LC_NUMERIC 
       Определение начинается со строки  LC_NUMERIC  в первом столбце.Разрешены следующие ключевые слова:

         десятичная_точка 
              за которым следует строка, которая будет использоваться как десятичное
              разделитель при форматировании числовых величин.

         тыс_сеп 
              за которым следует строка, которая будет использоваться как разделитель групп
              при форматировании числовых величин.

         группировка 
              за которой следует последовательность целых чисел, разделенных точкой с запятой
              которые описывают форматирование числовых величин.Каждое целое число определяет количество цифр в группе. В
              первое целое число определяет размер группы непосредственно до
              слева от десятичного разделителя. Последующие целые числа определяют
              последующие группы слева от предыдущей группы. Если
              последнее целое число не равно -1, тогда размер предыдущей группы
              (если есть) повторно используется для оставшейся части цифр.
              Если последнее целое число равно -1, дальнейшая группировка не выполняется.
              выполнено.Определение  LC_NUMERIC  заканчивается строкой  END LC_NUMERIC .

     LC_PAPER 
       Определение начинается со строки  LC_PAPER  в первом столбце.

       Разрешены следующие ключевые слова:

         высота , за которой следует высота стандартной бумаги в миллиметрах
              формат.

         ширина , затем ширина стандартной бумаги в миллиметрах
              формат.

       Определение  LC_PAPER  заканчивается строкой  END LC_PAPER . LC_TELEPHONE 
       Определение начинается со строки  LC_TELEPHONE  в первом
       столбец.

       Разрешены следующие ключевые слова:

         tel_int_fmt 
              за которой следует строка, содержащая дескрипторы полей,
              определить формат, используемый для набора международных номеров. В
              распознаются следующие дескрипторы полей:

              % Код города без общегосударственного префикса (префикс часто
                  «00»).% Код города, включая префикс страны.

              % l Местный номер (в пределах кода города).

              % e Добавочный номер (на местный номер).

              % c Код страны.

              % C Код услуги альтернативного оператора, используемый для звонков за границу.

              % t Если предыдущий дескриптор поля привел к пустому
                  строка, затем пустая строка, иначе пробел
                  характер.

         tel_dom_fmt 
              за которой следует строка, содержащая дескрипторы полей,
              определить формат, используемый для набора внутренних номеров.В
              распознанные дескрипторы полей такие же, как для  tel_int_fmt .

         int_select 
              за которым следует префикс, используемый для звонка на международный телефон
              числа.

         int_prefix 
              за которым следует префикс, используемый для набора этого номера из других стран
              страна.

       Определение  LC_TELEPHONE  заканчивается строкой  END LC_TELEPHONE .

     LC_TIME 
       Определение начинается со строки  LC_TIME  в первом столбце.Разрешены следующие ключевые слова:

         abday , за которым следует список сокращенных названий дней
              неделю. Список начинается с первого дня недели как
              указывается  неделя  (по умолчанию воскресенье). См. ПРИМЕЧАНИЯ.

         день , за которым следует список названий дней недели. Список
              начинается с первого дня недели, указанного в  неделя 
              (По умолчанию воскресенье). См. ПРИМЕЧАНИЯ. abmon , за которым следует список сокращенных названий месяцев.

         пн , за которым следует список названий месяцев.

         d_t_fmt 
              за которым следует соответствующий формат даты и времени (для синтаксиса
              см. strftime (3)).

         d_fmt , за которым следует соответствующий формат даты (синтаксис см.
              strftime (3)).

         t_fmt , за которым следует соответствующий формат времени (синтаксис см.
              strftime (3)). am_pm , за которым следует соответствующее представление  am  и  pm 
              струны. Это должно быть оставлено пустым для языков, не использующих
              Соглашение AM / PM.

         t_fmt_ampm 
              за которым следует соответствующий формат времени (синтаксис см.
              strftime (3)) при использовании 12-часового формата времени. Это должно быть оставлено
              пусто для языков, не использующих соглашение AM / PM.

         эпоха , за которой следуют строки, разделенные точкой с запятой, которые определяют, как годы
              подсчитываются и отображаются для каждой эпохи в локали.Каждый
              строка имеет следующий формат:

                направление :  смещение :  начальная_дата :  конечная_дата :  имя_эры :  формат_эры 

              Поля должны быть определены следующим образом:

                направление 
                  Либо  + , либо  - .  +  означает годы, близкие к  start_date 
                  имеют меньшие числа, чем годы ближе к  end_date . -  означает
                  противоположный.

                вылет 
                  Число года, ближайшего к  start_date  в эре,
                  соответствующий дескриптору % Ey  (см. strptime (3)).

                начальная_дата 
                  Начало эпохи в виде  гггг / мм / дд . Лет
                  предыдущий AD 1 представлен как отрицательные числа.

                end_date 
                  Конец эпохи в виде  гггг / мм / дд , или один из
                  два специальных значения  - *  или  + * . - *  означает окончание
                  дата - это начало времени.  + *  означает дату окончания
                  это конец времени.

                имя_эры 
                  Название эпохи, соответствующее дескриптору % EC 
                  (см. strptime (3)).

                era_format 
                  Формат года в эре, соответствующей % EY 
                  дескриптор (см. strptime (3)). era_d_fmt 
              за которым следует формат даты в альтернативной эпохе
              обозначение, соответствующее дескриптору % Ex  (см.
              strptime (3)).

         era_t_fmt 
              за которым следует формат времени в альтернативной эпохе
              обозначение, соответствующее дескриптору % EX  (см.
              strptime (3)).

         era_d_t_fmt 
              за которым следует формат даты и времени в альтернативной эпохе
              обозначение, соответствующее дескриптору % Ec  (см.
              strptime (3)). alt_digits 
              за которыми следуют альтернативные цифры, используемые для даты и времени в
              локаль.

         неделя , за которой следует список из трех значений, разделенных точкой с запятой:
              Количество дней в неделе (по умолчанию 7), дата
              начало недели (по умолчанию соответствует воскресенью), и
              минимальная продолжительность первой недели в году (по умолчанию 4).
              Что касается начала недели, следует использовать  19971130 .
              Воскресенье и  19971201  должны использоваться для понедельника.См. ПРИМЕЧАНИЯ.

         first_weekday  (начиная с glibc 2.2)
              за которым следует номер дня из списка  day , который будет
              отображается как первый день недели в календарных приложениях.
              Значение по умолчанию  1  соответствует воскресенью или понедельнику.
              в зависимости от значения второго пункта списка  недель . Видеть
              ЗАМЕТКИ.

         first_workday  (начиная с glibc 2.2)
              затем номер первого рабочего дня из  день 
              список.Значение по умолчанию -  2 . См. ПРИМЕЧАНИЯ.

         cal_direction 
              за которым следует числовое значение, указывающее направление для
              отображение календарных дат, а именно:

                1  Слева направо сверху.

                2  Сверху вниз слева.

                3  Справа-слева сверху.

         date_fmt 
              за которым следует соответствующее представление даты для date (1)
              (синтаксис см. в strftime (3)).Определение  LC_TIME  заканчивается строкой  END LC_TIME .
 

ФАЙЛОВ вверху

         / usr / lib / locale / locale-архив 
              Обычное расположение архива языковых стандартов по умолчанию.

         / usr / share / i18n / locales 
              Обычный путь по умолчанию для файлов определения локали.
 

СООТВЕТСТВУЕТ top

       POSIX.2.
 

ПРИМЕЧАНИЯ вверху

       Коллективная мудрость сообщества библиотеки GNU C относительно  abday ,  day ,
         неделя ,  first_weekday  и  first_workday  состояния в
       https: // исходное ПО.org / glibc / wiki / Locales следующие:

       * Значение второго пункта списка  week  указывает основание
           Списки  abday  и  day .

       *  first_weekday  указывает смещение первого дня недели в
           Списки  abday  и  day .

       * По соображениям совместимости, все локали glibc должны устанавливать значение
          второй  недели  элемента списка на  19971130  (воскресенье) и основать
            abday  и  day  перечисляют соответствующим образом и устанавливают  first_weekday  и
            first_workday с  по  1  или  2 , в зависимости от того, неделя и работа
          неделя фактически начинается в воскресенье или понедельник для региона.

СМОТРИ ТАКЖЕ top

       iconv (1), locale (1), localedef (1), localeconv (3), newlocale (3),
       setlocale (3), strftime (3), strptime (3), uselocale (3), charmap (5),
       кодировки (7), локаль (7), юникод (7), utf-8 (7)
 

COLOPHON верх

       Эта страница является частью версии 5.08 проекта Linux  man-pages . А
       описание проекта, информация о сообщениях об ошибках и
       последнюю версию этой страницы можно найти по адресу
       https: // www.kernel.org/doc/man-pages/.


 

Страницы, которые относятся к этой странице: локаль (1), localedef (1), dprintf (3), дуплокале (3), fprintf (3), freelocale (3), newlocale (3), printf (3), snprintf (3), sprintf (3), uselocale (3), vdprintf (3), vfprintf (3), vprintf (3), vsnprintf (3), vsprintf (3), charmap (5), карта репертуара (5), регион (7)


Авторские права и лицензия на это руководство, стр.

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *