Qt自己提供了一种国际化的方案,而不是采用INI配置文件的方式。使用QString,QTranslator等类和tr()函数能够很方便的完成加入国际化的支持,
(1)使用QString对象表示所有用户可见的文本,QString采用的是内部Unicode编码实现。
(2)使用tr()函数获取所有需要翻译的文本。
(3)使用QString::arg()组织动态文本。eg:QString str = tr("Mission status: %1 of %2 are completed".arg(x).arg(y));
(4)使用QTranslator::load()和QCoreApplication::installTranslator()读取对应的翻译后的资源文件,并安装QTranslator对象。
具体操作如下:
第一步 在你的pro里面加入 TRANSLATIONS = xx.ts 第二步 用lupdate 操作pro 将要翻译的提取到ts文件,命令是 lupdate xx.pro 第三步 用 linguist 打开刚才的ts文件,linugist是在qt的bin的目录里面, 是一个界面工具 打开linguist 后用菜单栏file ->open 打开 相应的ts文件 如刚才myexec_zh.ts 打开后你会看到左边是相应的类 右边的上半部 是相应的类里面tr 里面的内容 所以在程序里面 tr里面的都是e文 到这里就用上了下半部是你要翻译的语言的相应的东西,就是你输入中文的地方 要注意的就是 那些标点符号 最好还是用e文输入状态的如save as.... 就应该是 另存为.... 而不是 另存为。。。。注意后面的标点的差别,其中绿色的表示翻译好了,叹号的表示没有翻译对,交叉的表示没有翻译 第四步 先用 lin