2012-06-30 58 views
4

我需要在Qt中检测用户的语言和国家代码。该代码必须符合http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s04.html的标准。国家和语言代码检测

我试过QLocale,但它在countryToString和languageToString中返回完整的国家和语言名称。 (我需要短代码,如“en”而不是“English”。)

其中一种方法是创建QLocale :: Language和QString的映射。但是有没有更快更简单的方法?

回答

6

QLocale::name()

返回该地区的语言和国家的 形式“LANGUAGE_COUNTRY”,其中语言是小写,两个字母ISO 639 语言代码的字符串,而国家是一个大写,两个或三个字母 ISO 3166国家代码。

+0

嗨,就像在Qt中,如果用户决定的区域设置从应用程序的选项更改,它可以触发可听取并提出相应刷新UI应用程序语言变化的事件,是有其Qt可以,如果用户改变捕获任何事件OS中的区域设置? – SexyBeast