Qt4 и автоопределение локали
WiseLord 7 ноября, 2009 - 17:28
Система русифцирована (уже года полтора) согласно руководствам.
Вывод locale:
LANG=ru_RU.UTF-8 LC_CTYPE="ru_RU.UTF-8" LC_NUMERIC=C LC_TIME="ru_RU.UTF-8" LC_COLLATE="ru_RU.UTF-8" LC_MONETARY="ru_RU.UTF-8" LC_MESSAGES="ru_RU.UTF-8" LC_PAPER="ru_RU.UTF-8" LC_NAME="ru_RU.UTF-8" LC_ADDRESS="ru_RU.UTF-8" LC_TELEPHONE="ru_RU.UTF-8" LC_MEASUREMENT="ru_RU.UTF-8" LC_IDENTIFICATION="ru_RU.UTF-8" LC_ALL=
Содержимое /etc/env.d/02locale:
LANG="ru_RU.UTF-8"
Внесены нужные изменения в keymaps и consolefont.
Все приложения запускаются с русским интерфейсом, за исключением Qt4-приложений.
Их удаётся запустить по-русски, только если в самом приложении выбрать русский язык (но не все поддерживают такую возможность) либо если запускать так:
LC_ALL=ru_RU.UTF-8 application.
При этом, если попытаться добавить LC_ALL=ru_RU.UTF-8 в /etc/env.d/02locale, то при загрузке идут сплошные предупреждения:
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (ru_RU.UTF-8) sh: warning: setlocale: LC_ALL: cannot change locale (ru_RU.UTF-8)
Правда, после этого qt4-приложения стартуют по умолчанию уже с русской локализацией.
В общем, вопрос в том, как правильно научить Qt4-приложения использовать системную (LANG) локаль?
»
- Для комментирования войдите или зарегистрируйтесь
.
Если у вас KDE, проверьте, что в System Settings / Personal / Regional & Language / Locale в списке есть русский, и он стоит первым сверху. И приведите пример qt4-приложений, которые стартуют с english
Это подпись, которую невозможно истолковать неправильно
Есть русский. Стоит первым сверху
Приложения - smplayer (в режиме автоопределения), qutim.
.
пакет kde-base/systemsettings содержит /usr/bin/systemsettings
Запустите в терминале systemsettings и попробуйте подвигать русский в списке вниз и вверх, применяя изменения, и посмотреть - не сообщается ли о каких-либо ошибках (у меня кроме "QPainter::begin: Cannot paint on a null pixmap" ничего).
Это подпись, которую невозможно истолковать неправильно
echo "LINGUAS=\"ru\"" >>
echo "LINGUAS=\"ru\"" >> /etc/make.conf
emerge -uDN world
вроде как-то так
Совсем не уважаете
Раз система русифицирована, то само собой LINGUAS="ru"