• 2666阅读
  • 4回复

Qt 国际化失败 [复制链接]

上一主题 下一主题
离线user12138
 

只看楼主 倒序阅读 楼主  发表于: 2017-02-26
源代码中用户可见的内容是用英文写的,想用Linguist将英文内容显示中文。已经弄好了一个zh-cn.qm文件,但是程序运行时还是显示英文,向大家请教一下是怎么回事。
用户可见的内容都用了tr(""),pro文件也添加了 TRANSLATIONS += zh-cn.ts


QApplication a(argc, argv);
QTranslator trans;
trans.load("zh-cn.qm");
a.installTranslator(&trans);
MainWindow w;
w.show();

离线firebolt

只看该作者 1楼 发表于: 2017-02-26
这个文件放哪里了,给个绝对路径试试看。
离线九重水

只看该作者 2楼 发表于: 2017-02-26
按照你主函数的代码,zh-cn.qm文件放在当前文件夹下面即可(跟.pro文件同一目录,如果还不行可以放在生成的.exe目录下)。

或者你指定一个目录,例如 XXX\translations\ 目录。(建议用这个方法,因为如果产品是销往多个国家的话,以后维护起来找文件也容易一些。)
如果你确定不了当前目录是哪个文件夹,你可以在主函数调用QDir::currentPath()函数,用qDebug()函数打印出来,然后将zh-cn.qm文件放入该文件夹。
离线user12138

只看该作者 3楼 发表于: 2017-03-01
回 九重水 的帖子
九重水:按照你主函数的代码,zh-cn.qm文件放在当前文件夹下面即可(跟.pro文件同一目录,如果还不行可以放在生成的.exe目录下)。
或者你指定一个目录,例如 XXX\translations\ 目录。(建议用这个方法,因为如果产品是销往多个国家的话,以后维护起来找文件也容易一些。)
如果你确定不 .. (2017-02-26 17:09) 

谢谢 已经解决
离线user12138

只看该作者 4楼 发表于: 2017-03-01
回 firebolt 的帖子
firebolt:这个文件放哪里了,给个绝对路径试试看。 (2017-02-26 16:40) 

谢谢 已经解决
快速回复
限100 字节
 
上一个 下一个