我想检测操作系统上安装的语言。
为此,我运行:

qDebug() << QLocale::system();
// result = QLocale(English, Latin, UnitedStates)

但我想将其保存在QString中,但不能仅执行以下操作:
QString langs = QLocale::system().toString();

如何将结果保存在字符串中?
还是有更好的方法来检测OS语言?
另一件事,是否可以检测键盘语言设置(如果可能,请使用Qt)?

最佳答案

documentation for QLocale指示:



因此,要获得不同的系统默认语言表示,QLocale上的以下一种或多种方法可能会帮助您:

qDebug() << QLocale::system().name();
qDebug() << QLocale::system().nativeCountryName();
qDebug() << QLocale::system().nativeLanguageName();

输出示例:
"en_GB"
"United Kingdom"
"British English"

在GUI应用程序中,您可以获得输入法的类似细节,如下所示:
qDebug() << QGuiApplication::inputMethod()->locale().name();

关于c++ - 检测操作系统语言,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40809314/

10-11 07:25