我正在用Qt编程一个应用程序,该应用程序必须以文本形式显示某些语言的名称。我已将系统区域设置为es_ES。这样,我想用西班牙文获得几种语言和国家名称。但是,我只能得到的母语,或在英语:如何在我的系统语言环境语言中获取语言/国家名称
QLocale lsystem = QLocale::system();
QLocale lswiss("de_CH");
qDebug()<<"system "<<lsystem.name() << lsystem.languageToString(lsystem.language()) << lsystem.nativeLanguageName();
qDebug()<<"swiss "<<lswiss.name() << lsystem.languageToString(lswiss.language()) << lswiss.nativeLanguageName();
此源代码打印以下文字:
20:17:09.229 [DEBUG]: system "es_ES" "Spanish" "español de España"
20:17:09.229 [DEBUG]: swiss "de_CH" "German" "Schweizer Hochdeutsch"
我会想到的是,QLocale::languageToString()
方法可以在返回的名称我的系统语言环境语言,但事实并非如此。我想用西班牙语(español,alemán)获取名字,但我不知道该怎么做。
如果不用Qt的翻译实用程序翻译每个语言名称,我能得到我想要的吗?先谢谢你。
这对于Qt来说是不可能的,我建议创建一个包含该信息并从那里读取的文件。 – eyllanesc