• 4595阅读
  • 2回复

问一个qt国际化的问题?!各位大哥给点主意啊! [复制链接]

上一主题 下一主题
离线woshihaoren
 
只看楼主 倒序阅读 楼主  发表于: 2006-12-06
我是新手 平台为windows xp qt4.2.0
          程序为C:\Qt\4.2.0\examples\linguist\arrowpad 我想让其显示中文。
步骤1.qmake -project
    2.qmake
    3.改.pro 在其中添加TRANSLATIONS += arrowpad_nl.ts
    4.用linguist改arrowpad_nl.ts(每步都用了ctrl+enter)
    5.release生成.qm文件
  6.写qrc文件如下:
<!DOCTYPE RCC>
  <qresource>
    <file>arrowpad_nl.qm</file>
  </qresource>
</RCC>
    7.在.pro文件中添加RESOURCES += resource.qrc
    8.make 成功生成.exe
   
main.cpp 文件为:
#include <QtGui>
#include <QApplication>

#include "mainwindow.h"

int main(int argc, char *argv[])
{  
  Q_INIT_RESOURCE(resource);
  QApplication app(argc, argv);

 
  QTranslator translator;
  translator.load("arrowpad_nl");
  app.installTranslator(&translator);

  MainWindow mainWindow;
  mainWindow.show();
  return app.exec();
}

结果还是无法显示中文。。。。!!!! 郁闷死了,实在不知道问题出在什么地方了

[ 此贴被XChinux在2006-12-24 10:10重新编辑 ]
离线wangowen

只看该作者 1楼 发表于: 2006-12-06
1.qmake -project
2.在pro中添加TRANSLATIONS += arrowpad_nl.ts
3.lupdate *.pro(会生成arrowpad_nl.ts文件)
4.用linguist将这个ts文件打开,它会找到程序中你所有用tr包括的文本,将其保存,然后在按下[File]-Release生成
arrowpad_nl.qm文件。
5.int main(int argc, char *argv[])
{  
QApplication app(argc, argv);
QTranslator tran;
tran.load("arrowpad_nl");
app.installTranslator(&tran);
MainWindow mainWindow;
mainWindow.show();
return app.exec();
}
7.make生成exe文件。将刚才arrowpad_nl.qm文件copy到exe同一目录!(结束)
离线woshihaoren
只看该作者 2楼 发表于: 2006-12-06
搞定了。我没有把arrowpad_nl.qm和exe放在同一目录下。
多谢大哥!
快速回复
限100 字节
 
上一个 下一个