Вот как настроить локаль? Казалось бы, всё просто: открываешь мануал https://wiki.archlinux.org/index.php/Locale , там написано "вот в этот файлик впишите локаль, какую хотите". Ну открываем и вписываем. Но есть нюансик: $ grep -i 'ru_ru.*utf' /etc/locale.gen ru_RU.UTF-8 UTF-8 $ locale -a | grep -i 'ru_ru.*utf' ru_RU.utf8 Для меня естественен подход посмотреть доступные локали и просто из этого списка скопипастить желаемую. Вот только нотация вывода locale -a отличается от нотации, указываемой во всех манах и locale.gen: character set указывается строчными буквами и без дефиса. После копипастинга получается что-то вроде export LC_ALL=ru_RU.utf8 и всё вроде бы работает так, как предполагалось. Вроде бы. Потому что изредка вылезают странные баги. 6 лет назад из-за копипастинга локали из locale -a у меня не работал ввод кириллицы в приложения, запущенные под wine ( http://ru-ubuntu.livejournal.com/241325.html ). Теперь я внезапно заметил, что lesspipe у меня не отображает содержимое текстовых *.gz. Логики в этой различной нотации нет, ни в каких манах об этом нюансе не говорится, никаких ISO на запись названия character set я сходу не вижу. Короче, понять и запомнить это невозможно. Я даже не понимаю, кто в этой ситуации не прав: lesspipe, не совсем надёжно разбирающий значение локали, которая должна быть эквивалентна ru_RU.UTF-8, или же я, некорректно настроивший свою систему. Разбираться, слать ли патч в документацию или в lesspipe я не хочу, боюсь это может занять не один день. В общем просто имейте ввиду, что есть такая ловушка в настройке ваших линуксов.
Для начала открываем файл /etc/login.conf и правим секцию russian|Russian Users Accounts (Меняем KOI8-R на UTF-8)
После редактирования файла перегенерируем базу настроек: cap_mkdb /etc/login.conf
И последним этапом переключаем нужных пользователей: pw usermod -n admincheg -L russian
И вуаля, locale выдаёт нам ru_RU.UTF-8.
Локаль везде где можно выставлена русская, первым языком в списке идет русский, а в метро — английско-русская смесь, которая превращается в русскую только после переключения всего интерфейса системы на русский язык, что делает мне очень больно и грустно : (
Если кто подскажет, как я это делал и что забыл — буду благодарный целиком и весь : )
LC_TIME="ru_RU.UTF-8"
$ date
Сб. апр. 20 11:27:19 EEST 2013
Что они курили? Какое нафиг «апр. 20» в РУССКОМ языке?
у gtk — через вроде как стандартные LC_MESSAGES
Locale — 20%
Мы так не договаривались. Я ставил Локалю, чтобы оно мне экономило батарею...
Нашел единственный способ исправить: поменять содержимое /etc/default/locale
теперь так: $ cat /etc/default/locale
#LANG="en_US.UTF-8"
LANG="ru_RU.UTF-8"
помогло, но появились другие проблемы. о них в следующем посте.
"Region layers" и "Point layers" соответственно.
В моём представлении это должны быть: "Слои регионов (областей)" и "Слои точек (городов)".
Разработчики php считают что так оно и должно быть:
bugs.php.net
Так что будьте внимательны, если вдруг надумаете написать что-то вроде следующего:
$i = 12.345; // 12.345
$i = bcmul( $i, 10, 4 ); // 123.450
setlocale(LC_ALL, 'ru_RU');
$i = 12.345; // 12,345
$i = bcmul( $i, 10, 4 ); // 0
$ echo ll | grep '^[a-z]$'
$ echo ll | sed -n '/^[a-z]$/p'
ll
забавно, да?