2012-06-30 490 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