LINUX.ORG.RU

Локализация системы vs. локализация окружения


0

0

Прочёл очередную статью про локализацию линукса. Вот такие мысли навеялись (давно уже).

Почему-то все предлагают локализовывать систему. И дистры "русские" и "русифицированные" этим страдают. В результате, когода системе совсем плохо, она выдаёт диагностику по русски на терминал без русских букв. И ещё куча приколов с этим.

А ежели на компе три человека, на разных языках говорящих работают?

Имхо, грамотный путь -- локализовывать окружение пользователя. После некоторого секса я это у себя сделал. Теперь у меня машинка с немцем -- по немецки, со мной -- по русски, а все сислоги на английском и в ASCII. Одной доки толковой по этому делу нет :(( (прям хоть сам пиши), пришлось по кусочам инфу выскребать.

Кто, что думает по сабжу? Есть какие-нибудь веские аргументы в пользу локализации системы? (Только про админа, не знающего английского, не надо.)

Ростислав

anonymous

эээ? эта.. вы в каком году живете-та? какие кусочки? откуда выскребать? man locale (1), man environ (5)

gassique ★★
()
Ответ на: комментарий от gassique

Не совсем так... Прграммки работают. Не вопрос. Но надо, чтоб шрифтики правильные были, и клавиатурка языку соответствовала, и раскладочка какая надо. И в консоли и в X.

Ростислав

anonymous
()
Ответ на: комментарий от gassique

Проблем никаких, любопытно, почему почти все руководства предлагают локализовывать систему а не окружение пользователя и какие есть в пользу этого аргументы..

Ростислав

anonymous
()
Ответ на: комментарий от anonymous

ну так все просто - задача же масштабируемая. окружение пользователя - лишь частный случай системного окружения. соотвественно описав в документации общий случай, авторы просто экономят время, место и нервы. :)

gassique ★★
()
Ответ на: комментарий от gassique

Даа.. запись в /etc/sysconfig/i18n это, конечно офигенно масштабируемо. "А затем перезагрузите компьютер". Сплошной виндовс-вей...

Ростислав

anonymous
()
Ответ на: комментарий от anonymous

головой думать не пробовали? иногда помогает.. домашнее задание - посмотреть, что такое /etc/sysconfig/i18n, кто его читает и что делает. :)

hint -> у меня в /etc/profile LANG=C, но сообщения софта я читаю под пользователем gassique почему-то на русском :)

gassique ★★
()
Ответ на: комментарий от gassique

А повежливее не пробовали?

/etc/sysconfig/i18n в (мандраке 9 RUS по крайней мере) читается из /etc/rc.d/rc.sysinit и /etc/rc.d/init.d/functions и (в дефолтной русской установке) таки ставит окружение так, что в сислог сообщения по русски ссыпятся.

> int -> у меня в /etc/profile LANG=C...

И что? Опять не по теме вопроса. Напоминаю. Вопрос был "Какие есть аргументы в пользу локализации системы целиком и почему именно так рекомендуют делать многие руководства?"

Ростислав

anonymous
()
Ответ на: комментарий от anonymous

аргумент один. пользовательское окружение - частный случай. при составлении документации/методических пособий не принято рассматривать частности, если они выводятся из общностей. человек с логическим мышлением сделает выводы. :)

про i18n вы так и не поняли: наличие некоего файла i18n - специфика конкретного [кривого] дистрибутива. не важно, через какое количество скриптов проходит содержимое файла i18n, но итоговое действие будет одно - export LANG=<нужное из i18n> в одном из стартовых скриптов. если это системный скрипт (общность) -> то и локаль будет общей, и syslog будет писать именно в этой локали.

я вам не зря hint написал - подумайте головой еще раз. :) кто мешает вам почитать общедоступные маны на средства установки локали/маны на ваш шелл и понять, что прописав общую локаль на C/POSIX/<нужное вписать>, при этом иметь пользовательские локали ru_RU, de_DE или xx_XX? никакого "ковыряния", "крупиц" и подобного бреда вам не понадобиться. ;)

gassique ★★
()
Ответ на: комментарий от gassique

"Я про Фому -- ты про Ерёму". КАК сделать правильно я знаю и уже сделал. И как вся эта кухня работает разобрался.

> но итоговое действие будет одно - export LANG=<нужное из i18n>

Не совсем верно. Локаль определяет, грубо говоря, ввод и вывод программ. Чтобы полноценно пользоваться каким-либо языком, роме локали надо установить (сделать текущими) шрифты, соответствующие локали и клавиатуру, что в числе прочего, и делает /etc/sysconfig/i18n. И к простой кстановке переменной LANG это не сводится. По этому и нужны все эти руководства по локализации. Но правильного (чтоб всё системное имело локаль С либо en_US, а у пользователей были свои свои локали, шрифты и клавиатуры) руководства я не нашёл. Просмотрел их с десяток.

Ростислав

anonymous
()
Ответ на: комментарий от anonymous

2Ростислав

Ты задаешь вопрос: "Почему ОНИ не написали?"

Лучше бы изложил свой опыт в виде HowTo, тогда и был бы ясен предмет разговора.

anonymous
()
Ответ на: комментарий от anonymous

2anonymous (*) (23.09.2004 15:13:46)

Видимо, так и сделаю. Но прежде я хотел выяснить, насколько хорош мой способ и чем он хуже того, что описано во многих HowTo и предлагается по умолчпнию в русских дистрах.

Ростислав

anonymous
()
Ответ на: комментарий от anonymous

> Чтобы полноценно пользоваться каким-либо языком, роме локали надо установить (сделать текущими) шрифты, соответствующие локали и клавиатуру, что в числе прочего, и делает /etc/sysconfig/i18n

А вот тут уже начинает играть роль следующее. Знакогенератор видеокарты (по крайней мере на архитектуре x86) может отображать лишь 256 кодов символов (в текстовом режиме), посему в физической консоли (текстмод) мы и имеем "либо русский, либо европейский" шрифт.

При пользовании же xterm-подобных терминалов с unicode-шрифтами подобных проблем обычно нет. Кстати, тут вылезает один момент: при использовании удалённого доступа нас совершенно не интересуют настройки хост-машины, всё, что нужно -- локаль на локальной машине.

Как там в случае framebuffer-консоли, я без понятия.

Obidos ★★★★★
()
Ответ на: комментарий от Obidos

2Obidos: Не совсем по теме, но всё же.

С консолью, таки да, есть такая трудность. Это лишний раз подтверждает правильность локализацци для каждогопользователя.

Х-терминалы с уникодными шрифтами -- почти панацея, но:

а) Некоторые ncurses приложения с ними не дружат (согласен, что это их проблемы)

б) более важно. Клавиатуру нужную всё равно надо. А ставить её в зависимости от того, кто сказал startx -- нетривиальная задача. (но решаемая)

Ростислав

anonymous
()
Ответ на: комментарий от anonymous

>Не совсем так... Прграммки работают. Не вопрос. Но надо, чтоб шрифтики правильные были, и клавиатурка языку соответствовала, и раскладочка какая надо. И в консоли и в X.

И что у тебя за проблема? Если ты пользуешь кондовыми старыми локалями, то в своем .bashrc ставишь LANG=кодировка, setsysfont _шрифт_ для своей консоли и копию xorg.conf в домашнюю папку со своими настройками.

Ты и раскладку можешь так поменять.

Ну а чтобы не трахаться - проще тогда уж юникодом.

jackill ★★★★★
()
Ответ на: комментарий от anonymous

>И что? Опять не по теме вопроса. Напоминаю. Вопрос был "Какие есть аргументы в пользу локализации системы целиком и почему именно так рекомендуют делать многие руководства?"

Почему господь в последний год посылает сюда воинствующих ламеров, которые не желают думать головой?

Потому что обычно за одним компьютером работает один пользователь. А если их несколько, то они обычно носители одной языковой культуры.

А если у тебя с десяток негров из Зимбабве с немцами и французами на пару, пусть разговаривают на каком-то одном языке.

Я лично вообще все сообщения и менюшки оставляю английскими. Это удобно.

За своей машиной работаю в одно рыло. И друзья у меня русские. Скажи - на хрена мне каждому пользователю прописывать одни и те же настройки? Чтобы было чем заняться?

jackill ★★★★★
()
Ответ на: комментарий от anonymous

>Чтобы полноценно пользоваться каким-либо языком, роме локали надо установить (сделать текущими) шрифты, соответствующие локали и клавиатуру, что в числе прочего, и делает /etc/sysconfig/i18n. И к простой кстановке переменной LANG это не сводится. По этому и нужны все эти руководства по локализации. Но правильного (чтоб всё системное имело локаль С либо en_US, а у пользователей были свои свои локали, шрифты и клавиатуры) руководства я не нашёл. Просмотрел их с десяток.

Хреново читал. Сам i18n ничего не делает вообще - этой файл настроек. Шрифты тебе нужно устанавливать только для консоли. Ты часто пользуешься консолью? В иксах нормальные шрифты от MS содержат кучу локалей сразу и что на немецком у тебя будет arial, что на английском, что на русском - один и тот же (если нет желания прописывать все по отдельности). И маны для того, чтобы это сообразить, вообще не нужны.

А прочитать какой-то херни и лезть потом с абсолютно мудацким вопросом "зачем?" - много ума не надо. Зачем? Удобнее так людям, вот они так и сделали. Это конструктор. Делай как тебе нравится и не трать время на философию.

P.S. Лучше посмотри, как сделана локализация в виндах и удивись. Тебя же не занимает этот вопрос?

jackill ★★★★★
()
Ответ на: комментарий от anonymous

>б) более важно. Клавиатуру нужную всё равно надо. А ставить её в зависимости от того, кто сказал startx -- нетривиальная задача. (но решаемая)

Клавиатура - это опять же консольный режим.

Для работы в консольном режиме зачем тебе какой-то язык, отличный от английского? Нет, я понимаю, если у тебя нет ничего, а в веб/мыло хочется, то надо. Но это уже не совсем работа, ибо если мыльники нормальные, то тот же links/lynx отобразят далеко не каждый сайт и врядли все будет верно показано.

jackill ★★★★★
()
Ответ на: комментарий от jackill

2jackill Батенька, вы то на что отвечаете, хотя бы просматриваете? или "чукча не читатель, чукча -- писатель", и просто понаезжать охота?

Глупо ругаться "воинствующим ламером". Не нравится вопрос -- не отвечай (воинственно).

Комментировать по пунктам такие ответы как-то бессмысленно...

2all Другие мнения приветствуются.

Ростислав

anonymous
()
Ответ на: комментарий от anonymous

> Но правильного (чтоб всё системное имело локаль С либо en_US, а у
> пользователей были свои свои локали, шрифты и клавиатуры) руководства
> я не нашёл

Ростислав, ты зае&^%$л!

Ты что - не умешь исправить /etc/profile?

Тебе что, ~/.profile или ~/.bashrc мало?

В крайнем случае напиши в /etc/sysconfig/i18n

LC_MESSAGES="en_US"

и будет тебе счастье - установятся все сообщения на английский

Менять шрифт на _консоли_ не юзерское дело.

Но для особо оригинальных есть ~/.i18n - прочти про него в /etc/profile.d/lang.sh

В общем, за&^%$л ты уже!!!

no-dashi ★★★★★
()
Ответ на: комментарий от no-dashi

Кстати о том, что нет нормальных доков о том как настроить и т.д. Раньше сидел на АСП Линуксе. Теперь - на Слаке. И именно читая как правильно русифицировать Слакварь я увидел четкое разделение: если надо - настрой конкретно локаль под пользователя, если нужно всю систему - настрой для всей системы кдиную локаль. Так что все нормально. И делается за 5 мин. Тебе, Ростислав, нужно что-то менять.

KOPEHb ★★★
()
Ответ на: комментарий от KOPEHb

2KOPEHb Ссылочку на эту конкретную доку можно?

Менять что? Я у тебя уже всё давно сделал как мне надо и оно работает.

ЗЫ. Забавно, что многие упорно пытаются отвечать на вопрос "как?" (не всегда правильно и корректно), хотя спрашивал я "Что, по ванему мнению идеологически более правильно?".

Ростислав

anonymous
()
Ответ на: комментарий от anonymous

забавно, что ты так еще и не понял, что тебе ответили.

gassique ★★
()
Ответ на: комментарий от anonymous

>Ссылочку на эту конкретную доку можно?

На опеннете смотри. Конкретно не дам, но помню, что нашел по поиску. Короче, www.opennet.ru тебе стопудей поможет. Идеологически правильно так, как сделано в Slackware (это мое мнение). Удачи.

KOPEHb ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.