国家和语言代码检测

Iva*_*lov 4 c++ qt localization freedesktop.org

我需要在Qt中检测用户的语言和国家/地区代码.该代码必须与http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s04.html上的标准相匹配.

我尝试过QLocale,但它在countryToString和languageToString中返回了完整的国家/地区和语言名称.(我需要简短的代码,比如"en"而不是"English".)

其中一种方法是创建QLocale :: Language和QString的地图.但是有更快更简单的方法吗?

Pau*_*xon 6

QLocale :: name()

以"language_country"形式的字符串形式返回此语言环境的语言和国家/地区,其中language是小写的双字母ISO 639 语言代码,country是大写的,双字母或三字母的 ISO 3166国家/地区代码.