2012-06-30 3 views
4

Qt에서 사용자의 언어와 국가 코드를 감지해야합니다. 해당 코드는 일치 기준이 http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s04.html이어야합니다.국가 및 언어 코드 감지

QLocale을 시도했지만 countryToString 및 languageToString에 전체 국가 및 언어 이름을 반환했습니다. ("영어"대신 "en"과 같은 짧은 코드가 필요합니다.)

QLocale :: Language 및 QString의 맵을 만드는 방법 중 하나가 있습니다. 그러나 더 빠르고 간단한 방법이 있습니까?

답변

6

QLocale::name() 언어는 소문자, 두 글자 ISO 639 언어 코드 인 형태 "LANGUAGE_COUNTRY"의 문자열로 로케일의 언어 및 국가를 돌려보기, 국가는 대문자 , 2 문자 또는 3 문자 ISO 3166 국가 코드.

+0

안녕을 사용한다, 국가에 대한 올바른 감지 실제로 (윈도우 OS X에 기본 설정/지역에 제어판/위치) 사용자 환경 설정에서 설정 말할 때 사용자가 앱의 옵션에서 로케일을 변경하기로 결정하면 앱에서 UI 변경 사항을 듣고 UI를 새로 고칠 수있는 언어 변경 이벤트를 발생시킬 수 있습니다. 사용자가 변경하면 Qt가 캡처 할 수있는 이벤트가 있습니까? OS의 로켈? – SexyBeast