03.03.11 @ 12:49 Ключников А.С. wrote:

Давно мучает вопрос как заставить шел (zsh) отвечать только на оригинальном языке?
но вот сообщения типа:
du -hd1 /usr/src
du: /usr/src: Некорректный дескриптор файла

Вообще это выдает вовсе не шелл, а du. Который вызывает стандартную strerror() из libc, смотрящую на выставленные переменные окружения процесса. А дальше вступает в дело /usr/share/nls/ru_*

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

Что админ приказал, то и делает. Говорит LC_MESSAGES выводить на указанном языке - значит, будет выводить на нём.

Локаль не хотелось бы менять..
locale
LANG=ru_RU.KOI8-R
LC_CTYPE="ru_RU.KOI8-R"
LC_COLLATE="ru_RU.KOI8-R"
LC_TIME="ru_RU.KOI8-R"
LC_NUMERIC="ru_RU.KOI8-R"
LC_MONETARY="ru_RU.KOI8-R"
LC_MESSAGES="ru_RU.KOI8-R"
LC_ALL=ru_RU.KOI8-R

Вообще-то так выставлять некорректно. Для всех категорий локали дефолтом выставляется значение LANG, затем, если есть соответствующая из LC_*, используется её значение. Наконец, после проверяется LC_ALL, которая принудительно перекрывает все остальные, поэтому в норме её использовать вообще не следует.

--
WBR, Vadim Goncharov

Ответить