Локализация Gentoo на базе OpenRC

Настройка системы
Файл: /etc/rc.conf

# Set unicode to YES to turn on unicode support for keyboards and screens.
unicode=»YES»

Файл: /etc/locale.gen

en_US ISO-8859-1
ru_RU ISO-8859-5
ru_RU.KOI8-R KOI8-R
ru_RU.UTF-8 UTF-8

После чего перечитать список:
# locale-gen

Список доступных локалей можно посмотреть командой
# eselect locale list
Файл: /etc/env.d/02locale

LANG=»ru_RU.UTF8″
LC_NUMERIC=»C»

После чего перечитать конфигурацию:

# env-update && source /etc/profile

# eselect locale list

Необходимую локаль можно установить командой

# eselect locale set 10

Available targets for the LANG variable:
[1]   C
[2]   en_US
[3]   en_US.iso88591
[4]   POSIX
[5]   ru_RU
[6]   ru_RU.iso88595
[7]   ru_RU.koi8r
[8]   ru_RU.utf8
[9]   russian
[10]  ru_RU.UTF8 *
[ ]   (free form)

USE-флаги

Выбрать язык.
Файл: /etc/portage/make.conf


LINGUAS=»ru»

На заметку: LINGUAS — строго говоря тоже USE-флаг, только специализированный (т.н. USE_EXPAND). Полный список актуальных значений можно почитать в файле /usr/portage/profiles/desc/linguas.desc.

Также полагаю правильным там же (в /etc/make.conf) явно задать следующие USE-флаги: +unicode, +nls.
Flag    Description

nls    Adds Native Language Support (using gettext — GNU locale utilities)
unicode    Adds support for Unicode

Gentoo Linux Use Variable Descriptions

Ну и привести фактическую конфигурацию системы в соответствие с обновлённым /etc/portage/make.conf. Т.е.
# emerge -uDN world

Выбор раскладки клавиатуры

Обитают по адресу /usr/share/keymaps/{arch}/qwerty/. Посмотреть текущий список можно например так:
# ls /usr/share/keymaps/i386/qwerty/ru*

/usr/share/keymaps/i386/qwerty/ru1.map.gz
/usr/share/keymaps/i386/qwerty/ru2.map.gz
/usr/share/keymaps/i386/qwerty/ru3.map.gz
/usr/share/keymaps/i386/qwerty/ru4.map.gz
/usr/share/keymaps/i386/qwerty/ru-cp1251.map.gz
/usr/share/keymaps/i386/qwerty/ru.map.gz
/usr/share/keymaps/i386/qwerty/ru-ms.map.gz
/usr/share/keymaps/i386/qwerty/ruwin_alt-CP1251.map.gz
/usr/share/keymaps/i386/qwerty/ruwin_alt-KOI8-R.map.gz
/usr/share/keymaps/i386/qwerty/ruwin_alt-UTF-8.map.gz
/usr/share/keymaps/i386/qwerty/ruwin_cplk-CP1251.map.gz
/usr/share/keymaps/i386/qwerty/ruwin_cplk-KOI8-R.map.gz
/usr/share/keymaps/i386/qwerty/ruwin_cplk-UTF-8.map.gz
/usr/share/keymaps/i386/qwerty/ruwin_ctrl-CP1251.map.gz
/usr/share/keymaps/i386/qwerty/ruwin_ctrl-KOI8-R.map.gz
/usr/share/keymaps/i386/qwerty/ruwin_ctrl-UTF-8.map.gz
/usr/share/keymaps/i386/qwerty/ruwin_ct_sh-CP1251.map.gz
/usr/share/keymaps/i386/qwerty/ruwin_ct_sh-KOI8-R.map.gz
/usr/share/keymaps/i386/qwerty/ruwin_ct_sh-UTF-8.map.gz
/usr/share/keymaps/i386/qwerty/ru_win.map.gz
/usr/share/keymaps/i386/qwerty/ru-yawerty.map.gz

На заметку: При выборе не-юникодной (говорим «юникод», понимаем UTF8) раскладки необходимо указать опцию -u.

Например:
Файл: /etc/conf.d/keymaps

keymap=»-u ru»
windowkeys=»YES»
extended_keymaps=»»
dumpkeys_charset=»koi8-r»
fix_euro=»NO»

На заметку: При выборе юникодной раскладки параметр dumpkeys_charset указывать не следует.
Задание консольного шрифта

Полный список наличных консольных шрифтов (из чего можно выбирать) можно посмотреть в /usr/share/consolefonts/. Имя шрифта == имени файла шрифта за вычетом суффикса (.psfu.gz).
На заметку: Для отображения кириллических символов (имена файлов и вывод команд) в консоли требуется задать содержащий соответствующие символы шрифт. Стандартный (UniCyr из пакета sys-apps/kbd) или лучше что-нибудь типа ter-k16n из media-fonts/terminus-font.

Выбранный шрифт задаётся практически стандартным образом:
Файл: /etc/conf.d/consolefont

consolefont=»ter-k16n»

Добавляем consolefont в boot:

# rc-update add consolefont boot
* service consolefont added to runlevel boot