首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QLocale获取真实语言名称

QLocale获取真实语言名称
EN

Stack Overflow用户
提问于 2019-03-27 00:08:38
回答 2查看 389关注 0票数 0

我有一个像fr_fr,fr_be这样的语言代码。我想让法语和比利时使用QLocale,但我找不到怎么做。我做到了:

代码语言:javascript
复制
QLocale locale("fr_fr"); // or fr_be
QString l = locale.languageToString(locale.language()); //returns French in both cases
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-23 14:45:35

QLocale为您提供国家/地区和语言名称,包括本地语言和英语。选择您喜欢的:

代码语言:javascript
复制
#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);
}

此程序返回:

代码语言:javascript
复制
ca_ES
"català" "Espanya"
"Catalan" "Spain"
es_ES
"español de España" "España"
"Spanish" "Spain"
票数 0
EN

Stack Overflow用户

发布于 2019-03-27 01:17:57

您正在查询语言名称,在这两种情况下都是法语。也许您想要像这样获得国家名称:

代码语言:javascript
复制
QLocale locale("fr_be");
QString l = locale.countryToString(locale.country());

有关更多信息,请阅读here

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55361592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档