dadv: (Default)
[personal profile] dadv

ВНЕЗАПНО выяснилось, что локализованные текстовые сообщения в /usr/share/nls/ru_RU.KOI8-R/tcsh.cat на FreeBSD хранятся в UTF-8, а вовсе не в KOI8-R. И на свежепоставленной системе пользователь с login class russian и локалью ru_RU.KOI8-R, которую выставляет этот login class, видит тем не менее сообщения об ошибках от tcsh в виде "сырой" бинарщины в UTF-8. Почему? Потому что на свежепоставленной системе нету libiconv.so.

Достаточно поставить из портов libiconv, чтобы tcsh заговорил по-русски в кодировке KOI8-R:

# kdump | grep NAMI | grep iconv
 22658 tcsh     NAMI  "/lib/libiconv.so"
 22658 tcsh     NAMI  "/usr/lib/libiconv.so"
 22658 tcsh     NAMI  "/usr/lib/compat/libiconv.so"
 22658 tcsh     NAMI  "/usr/local/lib/libiconv.so"
 22658 tcsh     NAMI  "/usr/local/lib/libiconv.so"
#

Из всех этих файлов существует только последний, портовый.

Update: оказалось, что так стало после импорта в систему tcsh-6.18.01, то есть начиная с FreeBSD 8.3-RELEASE и 9.0-RELEASE. А в 8.2 в /usr/share/nls/ru_RU.KOI8-R/tcsh.cat всё ещё KOI8-R.

Date: 2012-05-05 13:19 (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
локаль? русская?
о. май. гот.

Date: 2012-05-05 14:50 (UTC)
From: [identity profile] dadv.livejournal.com
А ты попробуй без русской локали вводить русские буковки в tcsh.

Date: 2012-05-05 15:02 (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
регулярно. все работает, с 2.0 по 10.0

Date: 2012-05-05 15:04 (UTC)
From: [identity profile] dadv.livejournal.com
У меня с локалью C русские буквы в tcsh не вводятся.

Date: 2012-05-05 15:12 (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
для ввода пуковок достаточно LC_CTYPE.
сообщения при этом остаются на нормальном английском языке, не испорченном надмозгами

Date: 2012-05-06 05:40 (UTC)
From: [identity profile] dadv.livejournal.com
Не вижу смысла в неполной локализации.

Date: 2012-05-06 08:36 (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
ну во-первых русские сообщения -- это ужасно.
во-вторых они начинают быть разными в разных местах и надо помнить перевод что бы грепать.
и т.д.

Date: 2012-05-06 12:25 (UTC)
From: [identity profile] dadv.livejournal.com
Грепать сообщения об ошибках надо в скриптах, но в них нужно просто сразу в C выставлять всё.

Date: 2012-05-06 15:33 (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
ну. а смотреть что именно грепать часто удобнее из интерактивного шела. а локаль для сообщений оказывается разная. неудобненько.

Date: 2012-05-06 16:05 (UTC)
From: [identity profile] dadv.livejournal.com
Это бывает настолько редко, что добавить в начало команды env LANG=C мне несложно. Ну, а главное - меня не нервируют локализованные сообщения.

Date: 2012-05-05 15:55 (UTC)
From: [identity profile] dorjechang.livejournal.com
zombie# env | egrep "CHAR|LANG|^LC_"
MM_CHARSET=KOI8-R
LC_MESSAGES=POSIX
LANG=ru_RU.KOI8-R
LC_TIME=POSIX
zombie# echo "Всякая фигня"
Всякая фигня
zombie#

Date: 2012-05-06 05:39 (UTC)
From: [identity profile] dadv.livejournal.com
Здесь локаль LANG=ru_RU.KOI8-R

Date: 2012-05-06 21:41 (UTC)
From: [identity profile] dorjechang.livejournal.com
Ну да я ж и не отрицаю :-)
Просто переключило меня на тему "Как писать по-русски, но приэтом не видеть этих ужасных диагностик на русском" :-)

Profile

dadv: (Default)
Choose your future

July 2024

M T W T F S S
12 34567
891011121314
15161718192021
22232425262728
293031    

Tags

Style Credit

Powered by Dreamwidth Studios