Не могу найти оптимальный способ получения списка стран в qt. Желательно что бы страну можно было найти по 2-ух буквенному обозначению. При этом список должен быть локализован на текущий язык пользователя. Пробовал юзать QLocale след. образом
QLocale locale;
QList<QLocale::Country> listCountry = locale.countriesForLanguage(QLocale::Russian);
for (int i = 0; i < listCountry.count(); ++i) {
qDebug() << (int)listCountry.at(i) << locale.countryToString(listCountry.at(i));
}
Выводятся всего три страны, Россия, Украина, Молдова.
QLocale locale;
QList<QLocale::Country> listCountry = locale.countriesForLanguage(QLocale::С);
for (int i = 0; i < listCountry.count(); ++i) {
qDebug() << (int)listCountry.at(i) << locale.countryToString(listCountry.at(i));
}
Выводятся Default.
Есть еще два варианта, есть список стран в xml файле но он тоже на английском, то бишь в интерфейсе опять же не переведешь.
И последний который мне больше всего нравится. написать ф-цию типа
void loadCountry() {
QHash<QString, QString> listCountry;
listCountry.insert("ru",tr(Russia));
listCountry.insert("uk",tr("United kingdom"));
..........
}
Вопрос, что скажете ? какой вариант лучше ? или может есть оптимальнее ?