crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
Ilya Evseev
  опции профиля:
сообщение 11.1.2014, 15:33
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 8.1.2014
Пользователь №: 4027

Спасибо сказали: 0 раз(а)




Репутация:   0  


Имеется Убунта, локаль ru_RU.UTF-8
Qt 4.8
QtCreator локаль понимает, т.е. в своих окнах все надписи рисует на русском.

Вопрос: как правильно проверять системную локаль в приложении?

Так компилируется, но не срабатывает:
QLocale locale;
if (locale == QLocale::Russian) {
    ...


Так тоже не срабатывает:
QLocale locale;
QLocale russian(QLocale::Russian, QLocale::RussianFederation);
if (locale == russian) {
    ...


Так срабатывает:
QLocale locale;
QLocale russian(QLocale::Russian, QLocale::RussianFederation);
if (locale.language() == russian.language() && localtion.country() == russian.country()) {
    ...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 13.1.2014, 20:19
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Ilya Evseev, скорее всего, лишь загружает нужный перевод. Обычно это делается так:
    // Устанавливаем превод библиотек Qt
    QString locale = QLocale::system().name();    // запрос языка (например: "ru")
    QTranslator *qttr = new QTranslator; 
    if (qttr->load(QString("qt_") + locale))
        qApp->installTranslator(qttr);
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 10.4.2025, 20:45