Данное изложение не претендует на звание полноценной статьи. Это скорее отрывок, что называется, "для себя".
1. Т.к. в десктопной системе используется кодировка cp1251 и для большинства проектов на сервере используется она же, то для удобства было решено установить её в качестве локали:
shell-код:
setenv LC_ALL ru_RU.CP1251
Также можно сразу установить язык:
shell-код:
setenv LANG ru_RU
А чтобы изменения не сбросились после завершения сеанса (выхода из консоли), поправим файлик ~/.cshrc:
Файл ~/.cshrc:
...
setenv LC_ALL ru_RU.CP1251
setenv LANG ru_RU
...
Проверяем...
shell-код:
locale
LANG=ru_RU
LC_CTYPE="ru_RU.CP1251"
LC_COLLATE="ru_RU.CP1251"
LC_TIME="ru_RU.CP1251"
LC_NUMERIC="ru_RU.CP1251"
LC_MONETARY="ru_RU.CP1251"
LC_MESSAGES="ru_RU.CP1251"
LC_ALL=ru_RU.CP1251
Запускаем Mignight Commander. О-па! Он сам переключился на русский. Только вот проблемы с кодировкой хинтов. Конечно, ведь они в кодировке KOI8-R. Правится это следующими командами:
shell-код:
cd /usr/local/share/mc/
mv mc.hint.ru mc.hint.ru_koi8-r && iconv -f koi8-r -t cp1251 mc.hint.ru_koi8-r > tmp && mv tmp mc.hint.ru && \
mv mc.hlp.ru mc.hlp.ru_koi8-r && iconv -f koi8-r -t cp1251 mc.hlp.ru_koi8-r > tmp && mv tmp mc.hlp.ru
Таким образом мы получаем хинты в нужной нам кодировке, при этом оставляя копии оригиналов.
Устанавливаем последнюю версию joe из портов:
shell-код:
cd /usr/ports/editors/joe/
make clean && make
Затем конвертируем файлы с ресурсами в нужную нам кодировку:
shell-код:
iconv -c -f KOI8-R -t CP1251 work/joe-3.7/man/ru/joe.1.in > work/joe-3.7/man/ru/joe.1.in~ \
mv work/joe-3.7/man/ru/joe.1.in~ work/joe-3.7/man/ru/joe.1.in \
iconv -c -f KOI8-R -t CP1251 work/joe-3.7/po/ru.po > work/joe-3.7/po/ru.po~ \
mv work/joe-3.7/po/ru.po~ work/joe-3.7/po/ru.po \
iconv -c -f KOI8-R -t CP1251 work/joe-3.7/rc/jicerc.ru.in > work/joe-3.7/rc/jicerc.ru.in~ \
mv work/joe-3.7/rc/jicerc.ru.in~ work/joe-3.7/rc/jicerc.ru.in
Осталось только установить:
shell-код:
make install
Вот, в принципе, пока и все =)