我需要在Qt中检测用户的语言和国家/地区代码。该代码必须符合http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s04.html的标准。
我尝试过QLocale,但它在countryToString和languageToString中返回了完整的国家/地区和语言名称。 (我需要短代码,例如“en”而不是“English”。)
其中一种方法是创建QLocale :: Language和QString的地图。但有更快更简单的方法吗?
答案 0 :(得分:6)
答案 1 :(得分:2)
除了保罗的答案之外,QLocale::uiLanguages()和QLocale::bcp47Name()应该有所不同。
答案 2 :(得分:0)
当我们谈论正确检测用户首选项中实际设置的国家/地区(Windows上的控制面板/位置,OS X上的首选项/区域)时,您应该使用https://github.com/crystalidea/qt-detect-user-country