【发布时间】:2017-08-30 18:37:46
【问题描述】:
我正在使用 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 中是不可能的,我建议创建一个包含该信息的文件并从那里读取。