[sisyphus] Замечания к Master 2.4 b2
Sergey V Turchin
=?iso-8859-1?q?zerg_=CE=C1_altlinux=2Eorg?=
Ср Июл 21 10:32:52 MSD 2004
В сообщении от Ср 21 Июль 2004 10:08 Roman Savochenko написал(a):
> Sergey V Turchin wrote:
> >В сообщении от Вт 20 Июль 2004 20:47 Roman Savochenko написал(a):
> >>Sergey V Turchin wrote:
> >>>>Кстате, в чем разница между LANGUAGE и LANG?
> >>>
> >>>Используются программами в порядке уменьшения привелегии:
> >>>LANGUAGE, LC_ALL, LC_*, LANG
> >>
> >>Интересно, а как реально узнать язык в программе,
> >
> >Он и кодировка в программе могут быть вообще другие.
> >Например у Qt внутри все в UTF-8.
> >Или что именно Вы имеете ввиду?
>
> Вобщем, в своей софтине я внутреннюю кодировку устанавливаю в
> соответсчтвии с системной.
> Вычитываю её из nl_langinfo(CODESET).
> А вот где читать
Чтобы узнать, какой от программы хотят - getenv
> и где менять
setlocale
> текущий язык непонятно!
> Сейчас вычитываю так: setlocale(LC_MESSAGES,NULL).
> Меняю так: setlocale(LC_MESSAGES,lng.c_str())
> Но влияния это не оказывает и сообщения попрежнему идут на
> предылущем языке!
Забыли про более привилегированные переменные.
Они учитываются внутри gettext.
> А раньше, на клонах RH это работало!
Это сдесь непричем, там возможно каких-то переменных не было.
[...]
> >>>LC_MESSAGES, но смотрите, чтоб его не перекрывал LC_ALL
> >>
> >>В ~/.i18n ?
> >
> >Да, но среди переменных окружения необходимой программы.
>
> Это как?
> Насколько я понимаю. Если в ~/.i18n, то везде
> (почти).
Я это и имею ввиду, может произойти изменения в переменных.
Например Вы вошли в систему, запустили программу, которая изменила
переменные окружения, и запускаемая ей другая программа их
наследует.
[...]
> >>Да, если по меню не шарится. :)
> >
> >KDE здесь не причем, оно показывает то, что сгенирировалось из
> >файлов /usr/lib/menu/*
> >и /usr/share/locale/*/LC_MESSAGES/menu-messages.mo
>
> А как же со сторонними программами, для которых перевода в
> /usr/share/locale/*/LC_MESSAGES/menu-messages.mo нет?
Никак :-(
> Да, и почему menu не привязали к какой нибуть переменной
> окружения?
Там, где оно работает из-под root, нет смысла пользоваться LANGUAGE.
Он обычно равен "C".
> Почему выбрали свой фал конфигурации?
Тяжелое наследие Mandrake :-)
Зато в Debian-овском menu переводятся только секции
и, похоже, только на один язык в одном файле.
--
Regards, Sergey, ALT Linux Team, http://www.altlinux.ru
http://stinkfoot.org:11371/pks/lookup?op=get&search=0x1C2A3F08
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: signature
Url : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20040721/23a55d3d/attachment-0003.bin>
Подробная информация о списке рассылки Sisyphus