В сообщении от Ср 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