Localization/Guide/ru

Часовой пояс
Для того, чтобы сохранить время в соответствии с вашим местоположением, нужно настроить часовой пояс. Инструкции, как сделать это в OpenRC и systemd можно найти в статье Системное время.

Что такое локаль?
Локаль — это набор информации, с помощью которого большинство программ устанавливает параметры, зависящие от страны и языка. Локали и их данные являются частью системной библиотеки. На большинстве систем они находятся в каталоге. Общий шаблон имени локали —, где   — двух– или трехбуквенный код языка (как указано в ISO-639), а   — двухбуквенный код страны (как указано в ISO-3166). К именам локалей часто добавляются варианты вроде  или , например   или. Для получения более подробной информации, связанной с локалями, обратитесь к Википедии.

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

Наиболее типично, когда пользователи задают только LANG глобально.

Генерация нужных локалей
Большинству пользователей скорей всего потребуется одна или две локали для их системы. Добавление дополнительных локалей указывается в файле.

Далее запустите. Это сгенерирует все локали, перечисленные в файле, и запишет их в архив локалей.

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

Просмотреть файл можно с помощью команды.

Его содержимое без изменений можно отобразить с помощью команды.

OpenRC
Когда используется OpenRC настройки локали сохраняются в переменном окружении. Они, как правило, настраиваются в (для всей системы) и в  (для конкретного пользователя). Больше информации можно найти в статье UTF-8. Системные настройки локали можно изменять с помощью. Например, так можно установить LANG в значение :

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

Команда выше перечисляет суффикс в нижнем регистре без дефисов, glibc понимает обе формы суффикса, многие другие программы — нет. Наиболее распространённым примером является X. Поэтому лучше всегда использовать UTF-8, нежели utf8.

В некоторых случаях пользователи могут заметить глюки неанглийских символов в таких приложениях, как Krusader (https://bugs.kde.org/show_bug.cgi?id=371582). Удаление или комментирование строки  в  должно устранить проблему.

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

Другой способ настройки системы — оставить ее в локали, но при этом включить отображение символов UTF-8. Этот вариант достигается посредством следующих установок в файле :

Вышеприведенный фрагмент кода позволяет отображать правильно локализованные имена файлов без необходимости полностью использовать выбранный язык.

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

Для общесистемной локали:

Для пользовательской локали:

После этого убейте процесс X-сервера нажав ++, выйдите из системы, а затем зайдите под учетной записью пользователя.

Теперь, убедитесь, что изменения вступили в силу:

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

systemd
В systemd локаль настраивается с помощью команды. Поверьте список доступных локалей:

Затем установите требуемую локаль:

И в конце проверьте результат:

OpenRC
Раскладка клавиатуры, используемая консолью, устанавливается в файле с помощью переменной keymap. Допустимые значения можно найти в каталоге. Каталог архитектуры содержит подкаталоги, соответствующие различным раскладкам (,  и так далее). У некоторых языков есть несколько вариантов — поэкспериментируйте с ними, чтобы определить более подходящий.

systemd
В systemd раскладка для консоли может быть установлена с помощью команды. Сперва проверьте доступные раскладки:

Далее установите необходимую раскладку для консоли:

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

OpenRC
Раскладка клавиатуры X-сервера устанавливается в файле в параметре XkbLayout. Подробнее читайте в руководстве Xorg и в статье о переключении раскладки клавиатуры.

systemd
В systemd раскладка для сервера X11 может быть установлена с помощью команды. Сперва проверьте доступные раскладки для X11:

Далее установите необходимую раскладку для X11:

В конце проверьте, что раскладка для X11 была установлена правильно:

Поддержка родного языка
Для того, чтобы локализация, ориентированная на сообщения работала в программах, которые ее поддерживают и у которых есть USE-флаг, собирайте эти программы с этим флагом. Строки сообщений находятся в файлах. Большинству программ, использующих Native Language Support (NLS), также требуется библиотека gettext для извлечения и использования локализованных сообщений. Разумеется, при необходимости Portage установит ее автоматически.

После включения USE-флага  может понадобиться переустановить некоторые пакеты:

LINGUAS
Существует также дополнительная переменная LINGUAS, которая используется некоторыми системами сборки на основе gettext для того, чтобы управлять, какие файлы локализации будут собираться и устанавливаться. Переменная принимает разделённый пробелами список кодов языков, и рекомендуется устанавливать ее в :

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

L10N
Еще одна переменная USE_EXPAND, которая называется L10N , определяет, какую дополнительную поддержку локализации следует установить. Обычно это нужно для загрузки пакетами дополнительных пакетов языков. Подобно переменной LINGUAS, в этой переменной указываются коды языков, разделенные пробелами. Ее можно установить в файле :

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

Обратите внимание, что, хотя распространенные двухбуквенные коды языков (например  или  ) идентичны в переменных LINGUAS и L10N, более сложные коды используют другой синтаксис, поскольку переменная L10N использует IETF language tags (также известный как BCP 47). Например,  и   в LINGUAS становятся   и   в L10N, соответственно.

Список возможных значений L10N находится в файле :

После установки переменной USE_EXPAND L10N может понадобиться переустановить некоторые пакеты:

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

 * Настройка локалей (Gentoo Handbook)
 * Keyboard layout в статье Evdev
 * X resources

Внешние ресурсы

 * Локали и интернационализация (gnu.org)
 * Переменная USE_EXPAND L10N заменяет LINGUAS
 * Michał Górny: Почему переменная LINGUAS трижды неверна!
 * [gentoo-dev [RFC] Как разобраться с путаницей LINGUAS? ]
 * [gentoo-dev [RFC] Генеральный план решения проблем LINGUAS ]