[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ru_* locale major update.
"Oleg S. Tihonov" wrote:
>
> Действительно, LC_ALL "сильнее" чем LANG. То есть приоритеты
> расставлены так :
>
> 1) LC_CATEGORY - конкретная категория (если есть)
> 2) LC_ALL
> 3) LANG
>
> на самом деле так:
>
> LANGUAGE
> LC_ALL
> LC_*
> LANG
Не вполне. LANGUAGE -- не POSIX, его знают очень немногие приложения и к
locale он отношения не имеет, но в GNU-софте определяет язык сообщений
(и только!)
>
> важно, что LC_ALL перебивает LC_*. если пользователь предполагает,
> что паковальщики не установили LC_ALL (что он вправе предполагать), у
> него может крыша съехать.
>
> И уж СОВЕРШЕННО неправильно устанавливать РАЗНЫЕ
> значения для LANG и LC_ALL !
>
> совершенно неправильно вообще устанавливать LC_ALL.
Да.
>
> То есть, если бы попросили меня сделать экспертное
> заключение ;-) я бы посоветовал :
> 1) Задавать точное ДЛИННОЕ POSIX значение LANG
>
> Насколько я понял, именно по этому пути идет GNU.
>
> в ГНУ предпочитают ll_CC. именно поэтому было ru_RU и ru_SU.
Ну, это побороли. Дреппер включил компилированную ru_RU.KOI8-R. Увы,
наша чехарда с кодировками всем мешает.
>
> P.S. Кстати, еще существуют переменные LANGUAGE и
> LINGUAS. Чьи они и для чего используюся, я не в курсе.
> (Вроде LANGUAGE - это от gettext ?)
>
> да, LANGUAGE перекрывает всё и определяет на выбор языка сообщений.
> LINGUAS -- это список языков, сообщения для которых следует
> устанавливать, работает она на стадии конфигурирования. то есть, если
> вы понимаете только русский и латынь, надо ставить LINGUAS="ru la"
Нет, не только на стадии configure. Есть LINGUAS в autoconf и
environment variable LINGUAS. Последняя определяет порядок выбора языка
сообщений (если нет первого, то будет использоваться второй и т.д.)
>
> Вот пусть RedHat c ними и извращается. :-)
>
> вот это нехорошая мысль.
Извращаться будут пользователи, увы.
Rgrds, AEN