QLocale,从语言名称到语言代码(2 个字母)
QLocale, from Language name to language code (2 letter)
In QLocale,
如何从语言名称中找到"两个字母的ISO 639语言代码"? 例如,"英语",其两个字母的代码是:en。"中文",其两个字母的代码是:zh
如果我知道语言名称,例如"英语",我们是否有返回其两个字母代码的函数,例如"en"?
我查看了"QLocale"类,但没有找到用于此目的的方法。
您可以迭代所有语言环境以查找所需的实例,然后使用bcp47Name()
方法
QString strLang = "Chinese";
QList<QLocale> allLocales = QLocale::matchingLocales(QLocale::AnyLanguage, QLocale::AnyScript, QLocale::AnyCountry);
for (int iLocale = 0; iLocale < allLocales.count(); iLocale++)
{
if (QLocale::languageToString(allLocales.at(iLocale).language()) == strLang)
{
if (allLocales.at(iLocale).bcp47Name().length() == 2) {
qDebug() << allLocales.at(iLocale).bcp47Name();
}
}
}
相关文章:
- 不同语言中相同代码的不同行为
- 为什么C++对链表中的下一个节点使用指针,而像 C# 或 Java 这样的语言只使用类 Node 的名称?
- r语言 - C++ 类型为"const std ::?
- 通用C++/Python 多语言的存在
- 为什么我的 EnumWindowProc 不能用 C 语言编译?
- 了解算法的性能差异(如果以不同的编程语言实现)
- Rextester 语言编译C++问题
- 如何将多种语言设置放在单个 .clang 格式文件中
- 不同语言中的模运算符差异
- 刚接触C++,难以理解语言的细微差别
- 为什么开发人员将C / C ++用于嵌入式系统,而不是像Python这样的高级语言与C相比?
- 我们可以用 C 语言嵌套 #define 和 #if 吗?
- 我的C++语言蛮力算法有问题
- 如何删除已输入的书以及如何使标题,语言和名称在上面放置空格不会出错?
- 为什么编程语言被编译为汇编程序而不是二进制?
- QDirIterator语言 - No hasNext not FilePath reaction
- "C.UTF-8" C++ Windows 上的语言环境?
- 了解 cin.fail() 和 cin.clear语言 - Vector 追加程序
- '_HAS_CXX17'宏是否可用于自定义项目标头以启用C++17 语言集功能?
- QLocale,从语言名称到语言代码(2 个字母)