Главная

Чайникам - от чайника. Часть 2. Установка локалей для BeOS

Когда–то давно я написал статью «O кодировках, клавиатурах, шрифтах и прочее. (Чайникам — от чайника.)", посвященную понятно чему.
В конце пообещал рассказать когда–нибудь о локалях, но это было не особенно актуально.
Однако в BeOS появляется все больше и больше программ, портированных из юникс–подобных OS.
А для них, включая всё семейство Gecko — FireFox, Mozilla, Thunderbird, Sunbird и т. д., это может играть заметную роль.

Особо подробно я и сейчас не собираюсь рассказывать, но вкратце вот:
Локаль (locale) — это набор параметров(переменных среды) OS, описывающих язык, страну, кодировку.

Наличие такого набора дает возможность программам автоматически устанавливать не только кодировку (в BeOS она одна, как всем известно — UTF–8), но и язык интерфейса, временной пояс, предпочтительный язык для браузеров, разделители десятичной доли и тысяч в числах, правильный порядко сортировки, формат даты, названия месяцев и дней недели, предпочтительный набор шрифтов, и т.д. и т.п.

В оригинальной версии BeOS никакого внимания этому не было уделено, но в Zeta Neo (а также в Haiku OS, я надеюсь), этот вспомогательный механизм работает.

На уровне т.н. POSIX Locales. То есть устанавливается набор переменных shell (командной строки, терминала — для простоты).

Полный набор всяческих подобных переменных новички могут увидеть, открыв Terminal и набрав там команду
set
или команду
env

В стандартном BeOS ни одной из локаль–перменных вы в этом списке скорей всего не увидите.

Так что расскажу, как русскому пользователю их установить.
Чтобы эти переменные были доступны всем программам, а не только запущенным из терминала, отредактируйте
/boot/home/config/boot/UserSetupEnvironment

добавив туда строчки (пусть юникс–гуру меня поправят, если что):
export LC_MESSAGES=ru_RU.UTF–8
export LC_CTYPE=ru_RU.UTF–8
export LANG=ru_RU

и перезапустите систему.

Если же переменные нужны только для терминальных программ, их можно записать в файл home/.profile

(В качестве другого примера, КРАЙНЕ полезного для Hitech,
для иврита эти строчки будут

export LC_MESSAGES=he_IL.UTF–8
export LC_CTYPE=he_IL.UTF–8
export LANG=he_IL

Почему полезного? Да потому что они автоматом включат меню
для BIDI печати в FireFox for BeOS, к примеру)

В принципе эти настройки пригодятся и для будущего порта SAMBA, и для программ вроде прожигалок CD — при правильном их портировании, и для многих–многих других.
Потому что большинствo подобных программ, не получая информации о кодировке из POSIX–окружения, всегда предполагает,что используется en_US c кодировкой ISO-8859–1 (Western). Что категорически ошибочно и фатально для BeOS с его мульти–байтной кодировкой UTF–8.

Надеюсь, этой короткой заметки вполне хватит для практических целей.
Те, кто любит стандартизованную документацию, могут начать отсюда man locale (на русском).
Также можно посмотреть коды языков (первые две буквы в нижнем регистре)
и
коды стран (следующие две буквы, в верхнем регистре).

гуд

достойно
и что раньше не додумался ? ;)
вот ведь

Спасибо!

На самом деле полезно! Спасибо! :–)

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Allowed HTML tags: <a> <em> <i> <img> <strong> <b> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.

Подробнее о форматировании

CAPTCHA
Введите перечисленные символы, чтобы мы убедились, что вы не робот. Не требуется для зарегистрированных пользователей.
M
F
C
y
B
b
Enter the code without spaces and pay attention to upper/lower case.