Russian Qt Forum
Сентябрь 22, 2024, 02:26 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: метод name() класса QLocale() возвращает некорректные имена некоторых локалей  (Прочитано 3223 раз)
xAndyx
Гость
« : Июнь 24, 2009, 14:17 »

Вот такой код для проверки:

#include <QLocale>

int main(int /*argc*/, char ** /*argv*/)
{
   qDebug("Locale for Kashmiri language: %s", qPrintable(QLocale(QLocale::Kashmiri).name()));
   qDebug("Locale for Maori language: %s", qPrintable(QLocale(QLocale::Maori).name()));
   qDebug("Locale for Russian language: %s", qPrintable(QLocale(QLocale::Russian).name()));
   return 0;
}

Результаты выполнения:

$ ./maori
Locale for Kashmiri language: ru_RU
Locale for Maori language: ru_RU
Locale for Russian language: ru_RU
$ LANG=en ./maori
Locale for Kashmiri language: en_US
Locale for Maori language: en_US
Locale for Russian language: ru_RU
$ LANG=de ./maori
Locale for Kashmiri language: de_DE
Locale for Maori language: de_DE
Locale for Russian language: ru_RU

т.е. для некоторых языков вместо кода языка ISO639 и кода страны выводится код языка и страны текущей локали.
Записан
Rcus
Гость
« Ответ #1 : Июнь 24, 2009, 16:01 »

Цитировать
If the language/country pair is found in the database, it is used.
If the language is found but the country is not, or if the country is AnyCountry, the language is used with the most appropriate available country (for example, Germany for German),
If neither the language nor the country are found, QLocale defaults to the default locale (see setDefault()).
Очевидно тут действует третий вариант. А у вас были установлены эти локали?
Записан
xAndyx
Гость
« Ответ #2 : Июнь 24, 2009, 16:23 »

Вот оно как, оказывается.
Спасибо. Теперь перед вставкой языка в список проверяю QLocale::countriesForLanguage((QLocale::Language)i).isEmpty().
и языки, для которых в базе не определена страна, опускаю.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.172 секунд. Запросов: 21.