QML 程序国际化(一)

1.获取所需翻译的文本

在代码中需要翻译的文本的都需要用下面的方式使用 tr() 括起来。


 
 
  1. //创建菜单子项
  2. manageAction = new QAction(tr( "vehicle management"), this);
  3. chartAction = new QAction(tr( "Sales statistics"), this);
  4. quitAction = new QAction(tr( "quit"), this);
  5. //设置快捷键
  6. manageAction->setShortcut(tr( "Ctrl+M"));
  7. chartAction->setShortcut(tr( "Ctrl+C"));
  8. quitAction->setShortcut(tr( "Ctrl+Q"));
  9. //增加菜单项
  10. manageMenu = menuBar()->addMenu(tr( "Sales management"));
  11. //添加子项
  12. manageMenu->addAction(manageAction);
  13. manageMenu->addAction(chartAction);
  14. //创建一个分隔符
  15. manageMenu->addSeparator();
  16. manageMenu->addAction(quitAction);
  17. //再添加一个菜单项
  18. passwordMenu = menuBar()->addMenu(tr( "Change password"));

2.生成.ts文件

修改.Pro文件,添加下面的内容:

TRANSLATIONS = language.ts
 
 

编译程序后,点击更新翻译按钮:

会在项目目录下生成.ts文件:

3.翻译内容

使用Qt自带的工具打开.ts文件

4.生成.qm文件

点击发布翻译按钮:

在项目目录下生成了.qm文件

5.载入翻译文件


 
 
  1. int main(int argc, char *argv[])
  2. {
  3. QApplication a(argc, argv);
  4. //一定要在界面显示之前载入翻译文件
  5. QTranslator *qtTranslator = new QTranslator;
  6. if(qtTranslator->load( "./language.qm")){
  7. a.installTranslator(qtTranslator);
  8. }
  9. Widget w;
  10. w.show();
  11. return a.exec();
  12. }

以上,就是Qt下使用翻译文件进行国际化的一个具体过程,亲测有效。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值