Локализация FreeBSD 8

FreeBSD и прочие в роли десктопа.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аркадий
проходил мимо

Локализация FreeBSD 8

Непрочитанное сообщение Аркадий » 2010-02-05 15:25:55

Добрый день, уважаемые форумчане.
Весь день мучаюсь с локализацией во Фре 8.
Вобщем-то проблемы как таковой с локалью нет, украинский-русский текст вводится, читается и отображается в KOI8 как надо.
Проблемы начались когда я захотел оставить возможность читать и писать в консоли (gnome-terminal) по-русски, но всё остальное (язык системы и програм, время, числа и т.д.) что бы было на англицком. Мне нужен русский в консоли только что бы работать с кириллистическим текстом (иногда приходится) и писать-читать в centerim и mutt. А так я не очень любли когда система и программы по-русски разговаривают, много корявого плохо переведённого текста, и мало пользы.
Я пробовал добится этого путём редактирования ~/.login_conf. Написал там следующее:

Код: Выделить всё

me:\
	:charset=KOI8-U:\
	:lang=uk_UA.KOI8-U:
        :lc_ctype="UA.KOI8-U":\
	:lc_collate="C":\
	:lc_time="C":\
	:lc_numeric="C":\
	:lc_monetary="C":\
	:lc_messages="C":\
	:lc_all="C":
	
После этого логинюсь и вижу, что

Код: Выделить всё

LANG=uk_UA.KOI8-U
LC_CTYPE="uk_UA.KOI8-U"
LC_COLLATE="uk_UA.KOI8-U"
LC_TIME="uk_UA.KOI8-U"
LC_NUMERIC="uk_UA.KOI8-U"
LC_MONETARY="uk_UA.KOI8-U"
LC_MESSAGES="uk_UA.KOI8-U"
LC_ALL=
Когда теже переменные экспортирую в шелл, то все работает как я и ожидаю, т.е. фря и программки говорят по-англицки, и в то же время можно везде читать-писать по-русски. Локаль выгядит так:

Код: Выделить всё

LANG=uk_UA.KOI8-U
LC_CTYPE="uk_UA.KOI8-U"
LC_COLLATE=C
LC_TIME=C
LC_NUMERIC=C
LC_MONETARY=C
LC_MESSAGES=C
LC_ALL=


Подскажиту, в чём может быть загвоздка? Почему из ~/.login_conf настройки не работают?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

cloudsv
сержант
Сообщения: 173
Зарегистрирован: 2007-11-20 10:14:37
Контактная информация:

Re: Локализация FreeBSD 8

Непрочитанное сообщение cloudsv » 2010-02-11 19:18:25

может у вас в /etc/login.conf еще данные указанны?

Аватара пользователя
thefree
лейтенант
Сообщения: 980
Зарегистрирован: 2008-12-29 9:23:19
Откуда: Весёлая Страна

Re: Локализация FreeBSD 8

Непрочитанное сообщение thefree » 2010-02-11 20:58:45

_http://paix.org.ua/freebsd/ru_utf8.html
_http://blog.aurorae.ru/2008/11/29/freebsd-utf-8/
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету

Аркадий
проходил мимо

Re: Локализация FreeBSD 8

Непрочитанное сообщение Аркадий » 2010-02-13 20:32:53

cloudsv писал(а):может у вас в /etc/login.conf еще данные указанны?
Ничего не указано.
Но даже если указать в /etc/login.conf все переменные, то ситуация будет аналогичной - все переменные выставляются в такое же значение, в которое выставлена LANG, не зависимо от того, заданы они явно или нет.
thefree писал(а):_http://paix.org.ua/freebsd/ru_utf8.html
_http://blog.aurorae.ru/2008/11/29/freebsd-utf-8/
KOI8-U vs UTF-8
Найдите 10 отличий?!
Конечно, Вы возразите, мол суть от этого не меняется - подставляй себе в копипасту KOI8-U на место UTF-8 везде, где только можно, и вся недолга.
Однако, если бы Вы действительно интересовались жизнью проекта (FreeBSD) и хотя бы в пол-уха следили за новостями, то Вам бы было известно, что в 8й ветке FreeBSD (а ведь речь идёт именно про восьмёрку) поддержка юникода реализована на уровне ядра + xterm в качестве консоли (http : // lists.freebsd.org/pipermail/freebsd-current/2009-July/009351.html, http : // wiki.freebsd.org/SysconsUnicodeProject) - о, радость для любителей многобайтных "кодировок"! Впрочем, целесообразность юникода в консоле я оставляю на суд общественности, сам при этом оставаясь ярым противником подобных веяний. Ну ладно, если бы ещё просто многобайтная - так в ней ещё и символы переменной длины! Не говоря уже о том, что половина консольного софта ещё не умеет нормально с юникодом работать, а половина и не собирается уметь. И это не говоря о том, что многобайтный "текст" по определению уже не является текстом.
Вобщем, задели Вы меня за живое своими ссылками на юникодизацию локали. Впрочем, ничего общего с моим изначальным вопросом предложенная Вами информация не имеет.

Аватара пользователя
skeletor
майор
Сообщения: 2548
Зарегистрирован: 2007-11-16 18:22:04

Re: Локализация FreeBSD 8

Непрочитанное сообщение skeletor » 2010-02-14 14:30:02

2Аркадий А если бы вы попробовали заставить нормально юникод в консоле, без установленной графики, то так бы не говорили. Попробуйте заставить одновременно работать UTF-8 в console single mode ,console multi-user mode, ssh, screen, mc. Вот тогда посмотрим, кого за что задели.

Аркадий
проходил мимо

Re: Локализация FreeBSD 8

Непрочитанное сообщение Аркадий » 2010-02-14 19:29:53

skeletor писал(а):2Аркадий А если бы вы попробовали заставить нормально юникод в консоле, без установленной графики, то так бы не говорили. Попробуйте заставить одновременно работать UTF-8 в console single mode ,console multi-user mode, ssh, screen, mc. Вот тогда посмотрим, кого за что задели.
Ну _на фига_ попу гармонь?!
Зачем мне на десктопе, где используются 3 языка (родной, государственный и английский) нужен юникод?
А в сингл мод то зачем вам русский?
И при чём тут с графикой или без графики? Особенно принимая во внимание, что данная ветка посвящена десктопам, что само по себе уже как бы намекает.
Для того, что бы не порождать очередной поток флуда на тему "а нужен ли нам вообще юникод", скажу коротко: лично я - против (не только в консоле но в и в иксах), но лишь до тех пор, пока без него можно хоть как-нибудь обойтись. Точка.
Случаи, когда нельзя обойтись можно легко представить. Например, интернациональный проект, когда на вашем сервачке должны одновременно работать китайцы, индусы, арабы, словяне, пиндосы, ахтунги и пр. И всем, ну вот непременно, обязательно нужны национальные языки и прочие наборы кошерных символов. Да, здесь уже от этих ваших юникодов никуда не денешься.
Но в быту...

Аркадий
проходил мимо

Re: Локализация FreeBSD 8

Непрочитанное сообщение Аркадий » 2010-02-14 19:41:51

Да, и на всякий случай напомню, что оригинальный вопрос звучал "почему не работают настройки из ~/.login_conf?".
А то что-то дискуссия уже совсем в другую степь уехала )

Аватара пользователя
thefree
лейтенант
Сообщения: 980
Зарегистрирован: 2008-12-29 9:23:19
Откуда: Весёлая Страна

Re: Локализация FreeBSD 8

Непрочитанное сообщение thefree » 2010-02-14 20:44:07

да мне ваши слова как то по боку я просто привел вам примеры установки ...

cap_mkdb
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету

Аркадий
проходил мимо

Re: Локализация FreeBSD 8

Непрочитанное сообщение Аркадий » 2010-02-14 21:57:23

thefree писал(а):cap_mkdb
Не помогает.
Все переменные локали устанавливаются в такое же значение, в какое выставлен LANG. Не зависимо от того, определены они явно в ~/.login_conf или нет.
Т.е., если например написано LANG=uk_UA.KOI8-U, то и всё остальное (LC_TIME, LC_NUMERIC) тоже будут uk_UA.KOI8-U, пока не прописать их в окружение (из шелл конфига, например). Хотя по идее они должны из ~/.login_conf тоже подхватываться. Или нет?

Аватара пользователя
thefree
лейтенант
Сообщения: 980
Зарегистрирован: 2008-12-29 9:23:19
Откуда: Весёлая Страна

Re: Локализация FreeBSD 8

Непрочитанное сообщение thefree » 2010-02-14 22:40:14

я бы даже сказал обязаны работать, вы делали

Код: Выделить всё

cap_mkdb /etc/login.conf ~/.login.conf
?? да и добавить только надо

Код: Выделить всё

me:\
               :charset=KOI8-U:\
               :lang=uk_UA.KOI8-U:\
               :lc_ctype=uk_UA.KOI8-U:
да еще в /etc/login.conf в раздели default: надо закоментить charset и пере собрать базу
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету

Аркадий
проходил мимо

Re: Локализация FreeBSD 8

Непрочитанное сообщение Аркадий » 2010-02-15 1:44:05

thefree писал(а):я бы даже сказал обязаны работать, вы делали

Код: Выделить всё

cap_mkdb /etc/login.conf ~/.login.conf
?? да и добавить только надо

Код: Выделить всё

me:\
               :charset=KOI8-U:\
               :lang=uk_UA.KOI8-U:\
               :lc_ctype=uk_UA.KOI8-U:
да еще в /etc/login.conf в раздели default: надо закоментить charset и пере собрать базу
Да, всё верно.
Вот так выглядит мой ~/.login.conf

Код: Выделить всё

me:\
    :charset=KOI8-U:\
    :lang=uk_UA.KOI8-U:\
    :lc_ctype=uk_UA.KOI8-U:\
    :lc_collate=C:\
    :lc_time=C:\
    :lc_numeric=C:\
    :lc_monetary=C:\
    :lc_messages=C:\
    :lc_all=C:
А вот так /etc/login.conf

Код: Выделить всё

default:\
    :passwd_format=md5:\
    :copyright=/etc/COPYRIGHT:\
    :welcome=/etc/motd:\
    :setenv=MAIL=/var/mail/$,BLOCKSIZE=K,FTP_PASSIVE_MODE=YES:\
    :path=/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin ~/bin:\
    :nologin=/var/run/nologin:\
    :cputime=unlimited:\
    :datasize=unlimited:\
    :stacksize=unlimited:\
    :memorylocked=unlimited:\
    :memoryuse=unlimited:\
    :filesize=unlimited:\
    :coredumpsize=unlimited:\
    :openfiles=unlimited:\
    :maxproc=unlimited:\
    :sbsize=unlimited:\
    :vmemoryuse=unlimited:\
    :swapuse=unlimited:\
    :pseudoterminals=unlimited:\
    :priority=0:\
    :ignoretime@:\
    :umask=022:
Профиль юзера - default. В /etc/profile пусто.
Делаю

Код: Выделить всё

cap_mkdb /etc/login.conf ~/.login.conf
, логинюсь и вижу

Код: Выделить всё

% locale
LANG=uk_UA.KOI8-U
LC_CTYPE="uk_UA.KOI8-U"
LC_COLLATE="uk_UA.KOI8-U"
LC_TIME="uk_UA.KOI8-U"
LC_NUMERIC="uk_UA.KOI8-U"
LC_MONETARY="uk_UA.KOI8-U"
LC_MESSAGES="uk_UA.KOI8-U"
LC_ALL=


Гость
проходил мимо

Re: Локализация FreeBSD 8

Непрочитанное сообщение Гость » 2010-06-04 2:05:02

Аркадий, может уже и не в тему... Я решил аналогичную проблему так:
В login.conf LC_TIME и LC_MESSAGE необходимо объявить так:
setenv=LC_TIME=C,LC_MESSAGES=C:\

Гость
проходил мимо

Re: Локализация FreeBSD 8

Непрочитанное сообщение Гость » 2010-06-04 2:31:31

А, еще...
Если будете добавлять lang, LC_TIME и LC_MESSAGES в секцию default, а не russian (файл login.conf), обратите внимание, что строка, начинающаяся с :setenv уже существует, поэтому LC_TIME и LC_MESSAGES с соотв. значениями надо будет добавить через запятую к уже существующим переменным, объявленным с помощью setenv.