qt国际化与本地化中一个需要注意的地方
2009-05-17 17:11
363 查看
QT库在国际化和本地化方面做的很不错,使用其开发的软件在做软件的多语言版本的时候都非常的方便。
通常都是在编程中使用QObject::tr函数将所有的字符串都括起来,这样就很容易使用linguist来导出英文文本,并且制作翻译文件,然后只要在程序里合适的地方使用QTranslator将需要的翻译文件load进去,然后调用qApp->installTranslator(),程序就自然的更换了另外一种语言界面了。
然而,很多新手都会发现另外一个问题,那就是在文本框里按下右键,出现的不是期望的中文菜单,而是英文菜单,而在弹出打开文件或者选择目录的通用FileDialog的时候,出现的也是英文的信息和按钮文字。如何让这些地方的英文也能转换成合适的文字呢???
其实,QT已经为你做好了这个部分的工作。在QT目录里有一个translation目录,里面就有已经制作好的非常多的翻译文件,只要在你的程序里也将相应的翻译文件(*.qm)再使用一个新的QTranslator来load这个翻译文件然后调用qApp->installTranslator(),你就会发现,右键菜单和通用对话框也都全部都中文化啦。
通常都是在编程中使用QObject::tr函数将所有的字符串都括起来,这样就很容易使用linguist来导出英文文本,并且制作翻译文件,然后只要在程序里合适的地方使用QTranslator将需要的翻译文件load进去,然后调用qApp->installTranslator(),程序就自然的更换了另外一种语言界面了。
然而,很多新手都会发现另外一个问题,那就是在文本框里按下右键,出现的不是期望的中文菜单,而是英文菜单,而在弹出打开文件或者选择目录的通用FileDialog的时候,出现的也是英文的信息和按钮文字。如何让这些地方的英文也能转换成合适的文字呢???
其实,QT已经为你做好了这个部分的工作。在QT目录里有一个translation目录,里面就有已经制作好的非常多的翻译文件,只要在你的程序里也将相应的翻译文件(*.qm)再使用一个新的QTranslator来load这个翻译文件然后调用qApp->installTranslator(),你就会发现,右键菜单和通用对话框也都全部都中文化啦。
相关文章推荐
- qt国际化与本地化中一个需要注意的地方
- 关于Qt中QMap的一个需要注意的地方
- Android多进程需要注意的一个地方
- C++中string的连续加法需要注意的一个地方
- 使用boost::asio需要注意的一个地方
- JQUERY中的getJSON方法需要注意的一个地方:单引号与双引号
- vc编写全局钩子需要注意的一个地方
- Qt的QFile类的readLine函数需要注意的地方
- oracle 默认值需要注意的一个地方
- Qt中关于线程需要注意的地方
- 断言(Assertion)需要注意的一个地方
- 关于cin.ignore()函数的一个需要注意的地方
- 一个项目 接口编写需要注意的地方
- vc编写全局钩子需要注意的一个地方
- 归并排序+一个编程需要注意的地方
- 断言(Assertion)需要注意的一个地方
- 使用 AfxBeginThread 传递一个结构体入线程需要注意的地方
- 写正确函数需要注意的地方:输入一个字符串,打印出该字符串中字符的所有排列
- C++在使用Qt中SLOT宏需要注意的一个小细节
- SpriteBuilder修改CCB文件中的子CCB文件需要注意的一个地方