1.简述
QT除了采用英语和许多欧洲语系中的拉丁字母之外,它还提供了许多其他的位子系统。QT的整个应用程序编程的接口及其内部都是用的Unicode,这样无论用户采用什么样的语言应用程序都可以给用户提供支持。
QT文本引擎--主要处理非拉丁文字其中包括阿拉伯文,中文,日文,韩文,泰文,希伯来文还有印度文。
QT布局引擎--可以为从右到左的文本布局提供支持,比如阿拉伯文和希伯来文。
Qt 多语话用到的工具是-Qt Linguist图形用户界面;
步骤是 ①用tr(“本地语言”)封装起来;
②Qt支持的工具lupdate为所需语言提取相应的所有可见的字符串;
生成ts的方法:在testapp1.pro文件中加入一行 TRANSLATIONS = testapp_cn.ts,然后在testapp1.pro所在文件夹下面执行dos命令 lupdate testapp1.pro 就生成testapp_cn.ts 最后在linguist下翻译ts文件保存release生成qm文件。
为了准备翻译文件,必须运行lupdate工具,这个工具会提取出来tr()调用中的所有字符串文字并且产生一些翻译文件,其中就包括了所有这些准备翻译的字符串,然后这些文件就可以发送给 某个翻译者者,由其进行翻译。
③运行lrelease,生成二进.qm制文件,然后应用程序使用Qttranslate加载这个文件。
最后强调,请不要滥用tr(),不要包含中文在其中!如果你是在想在字符串里使用中文,请使用QString()。
In order to do this, you need the following steps:
- Have tr() calls in your code