• 5060阅读
  • 10回复

急求:qt程序怎么根据客户机的环境变量,动态的设置中英文 [复制链接]

上一主题 下一主题
离线浪迹江湖
 

只看楼主 倒序阅读 楼主  发表于: 2009-08-03
怎样让程序,根据本机的环境变量动态的在中英文之间切换,如题,谢谢了
离线浪迹江湖

只看该作者 1楼 发表于: 2009-08-03
补充下:不需要客户自己手动去设置语言,程序自身去判断
离线bingogo
只看该作者 2楼 发表于: 2009-08-03
好问题,解决了告诉我下
估计以后会用到
呵呵~
离线bingogo
只看该作者 3楼 发表于: 2009-08-03
记得VirtualBox的源码里面有,不过没仔细看

楼主再找找看其他的,看有没有资料,别急……
离线bingogo
只看该作者 4楼 发表于: 2009-08-03
浅谈Linux 下的中文程序开发
http://www.linuxidc.com/Linux/2007-08/6604p3.htm


不知道是不是你想要的?
我没试过…… 呵呵
离线bingogo
只看该作者 5楼 发表于: 2009-08-03
C++ GUI Programming with Qt 4
第18章
18. Internationalization

貌似有介绍的……
离线dbzhang800

只看该作者 6楼 发表于: 2009-08-03
引用楼主浪迹江湖于2009-08-03 17:06发表的 急求:qt程序怎么根据客户机的环境变量,动态的设置中英文 :
怎样让程序,根据本机的环境变量动态的在中英文之间切换,如题,谢谢了


Qt的国际化默认就是根据环境变量才加载翻译包的
离线浪迹江湖

只看该作者 7楼 发表于: 2009-08-03
现在已经实现,代码如下,希望对大家有用
QTranslator translator;
    QString temp = QString(QTextCodec::locale());
    if(temp=="zh_CN")
    {
        translator.load(TRANSLATION_FILE_PATH ));
        app.installTranslator(&translator);
    }
不过不知道 file_en_US.qm怎么生成的,也就是英文的.qm文件,用linguist可以吗
离线dbzhang800

只看该作者 8楼 发表于: 2009-08-03
.qm 就是 linguist生成的,点 文件->发布 即可

其实你要的这个 C++ Gui Qt4 编程 (第二版) 第18章 有详细介绍

qm的格式是 file_en_US.qm 的话,直接

QTranslator translator;
translator.load("file_" + QLocale::system().name() ));
app.installTranslator(&translator);

就行了,不用if语句
离线allblue

只看该作者 9楼 发表于: 2009-08-04
好帖,顶一下
黑暗魔法
离线rqzrqh

只看该作者 10楼 发表于: 2009-08-04
不错
快速回复
限100 字节
 
上一个 下一个