• 5405阅读
  • 3回复

Qt 如何得到 win7 当前的语言? [复制链接]

上一主题 下一主题
离线sendltd
 

只看楼主 倒序阅读 楼主  发表于: 2013-10-24

我的系统是 Windows7 ultimate 版本,Display Language是 English;为了显示汉字,local肯定设置为"中国".
现在问题是,我怎么得到当前的语言? 用下面API得到的是 Chinese,而不是English
    QLocale& locale = QLocale::system();
    QLocale::languageToString(locale.language());


离线XChinux

只看该作者 1楼 发表于: 2013-10-24
看看tianchi库的TcOS::language()能否实现你要的功能吗。
https://github.com/qtcn/tianchi/blob/master/include/tianchi/os/tcos.h
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线sendltd

只看该作者 2楼 发表于: 2013-10-24
回 1楼(XChinux) 的帖子
tianchi里面调用的是 GetSystemDefaultLangID() 这个API,无法满足。效果和QLocale::system().language()一样
离线uidab

只看该作者 3楼 发表于: 2013-10-25
引用楼主sendltd于2013-10-24 16:42发表的 Qt 如何得到 win7 当前的语言? :
我的系统是 Windows7 ultimate 版本,Display Language是 English;为了显示汉字,local肯定设置为"中国".
现在问题是,我怎么得到当前的语言? 用下面API得到的是 Chinese,而不是English
    QLocale& locale = QLocale::system();
    QLocale::languageToString(locale.language());
.......

  1. LCID lcid = GetSystemDefaultLCID();switch(lcid)
  2. {
  3. case 0x0409 :        ("英语-美国")        break;
  4. case 0x0809 :        ("英语-联合国")        break;
  5. case 0x0c09 :         ("英语-澳大利亚")        break;
  6. case 0x2809 :        ("英语-伯利兹")        break;
  7. case 0x1009 :        ("英语-加拿大")        break;
  8. case 0x2409 :        ("英语-加勒比")        break;
  9. case 0x3c09 :        ("英语-香港")        break;
  10. case 0x4009 :        ("英语-印度")        break;
  11. case 0x3809 :        ("英语-印度尼西亚")        break;
  12. case 0x1809 :        ("英语-爱尔兰")        break;
  13. case 0x2009 :        ("英语-牙买加")        break;
  14. case 0x4409 :        ("英语-马来西亚")        break;
  15. case 0x1409 :        ("英国人-新西兰")        break;
  16. case 0x3409 :         ("英语-菲律宾")        break;
  17. case 0x4809 :        ("英语-新加坡")        break;
  18. case 0x1c09 :        ("英语-南非"))        break;
  19. case 0x2c09 :        ("英语-特立尼达和多巴哥")        break;
  20. case 0x3009 :        ("英语-津巴布韦")        break;
  21. }



其它语言自己可以百度了!!
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
快速回复
限100 字节
 
上一个 下一个