[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