QLocale 获取真实语言名称
QLocale Get real language name
我有一个像 fr_fr、fr_be 这样的语言代码。
我想使用 QLocale 获得法语和比利时语,但我找不到如何去做。
我做了:
QLocale locale("fr_fr"); // or fr_be
QString l = locale.languageToString(locale.language()); //returns French in both cases
您查询的是语言名称,在这两种情况下都是法语。也许你想得到这样的国家名称:
QLocale locale("fr_be");
QString l = locale.countryToString(locale.country());
阅读 here 了解更多信息。
QLocale 以母语和英语为您提供国家和语言名称。选择你喜欢的:
#include <QCoreApplication>
#include <QLocale>
#include <QDebug>
void displayNames(QLocale& locale)
{
qDebug() << locale.nativeLanguageName() << locale.nativeCountryName();
qDebug() << locale.languageToString(locale.language()) << locale.countryToString(locale.country());
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug() << "ca_ES";
QLocale cat = QLocale("ca_ES");
displayNames(cat);
qDebug() << "es_ES";
QLocale esp = QLocale("es_ES");
displayNames(esp);
}
这个节目returns:
ca_ES
"català" "Espanya"
"Catalan" "Spain"
es_ES
"español de España" "España"
"Spanish" "Spain"
我有一个像 fr_fr、fr_be 这样的语言代码。 我想使用 QLocale 获得法语和比利时语,但我找不到如何去做。 我做了:
QLocale locale("fr_fr"); // or fr_be
QString l = locale.languageToString(locale.language()); //returns French in both cases
您查询的是语言名称,在这两种情况下都是法语。也许你想得到这样的国家名称:
QLocale locale("fr_be");
QString l = locale.countryToString(locale.country());
阅读 here 了解更多信息。
QLocale 以母语和英语为您提供国家和语言名称。选择你喜欢的:
#include <QCoreApplication>
#include <QLocale>
#include <QDebug>
void displayNames(QLocale& locale)
{
qDebug() << locale.nativeLanguageName() << locale.nativeCountryName();
qDebug() << locale.languageToString(locale.language()) << locale.countryToString(locale.country());
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug() << "ca_ES";
QLocale cat = QLocale("ca_ES");
displayNames(cat);
qDebug() << "es_ES";
QLocale esp = QLocale("es_ES");
displayNames(esp);
}
这个节目returns:
ca_ES
"català" "Espanya"
"Catalan" "Spain"
es_ES
"español de España" "España"
"Spanish" "Spain"