2011-06-09 93 views

回答

0

我认为这可以通过qt命令行工具lupdate完成。

它会扫描您的代码中您标记为可翻译的字符串(tr()macro)并将它们收集到* .ts文件中。

查看documentation了解更多信息。

4

首先,在你的项目中,如果你想翻译它们,你需要用tr()写文本。 例如

QPushButton button(tr("Button")); 

在你的亲文件,添加

译本= chinese.ts \ italian.ts

这些文件将被自动随后创建。

其次,转到Qt命令提示符。从命令提示符转到您的项目目录。 然后,写

lupdate yourprojectname.pro

,然后按回车键。它会自动为你创建“ts”文件("chinese.ts" and "italian.ts")

之后,你需要打开Qt语言学家并打开你的“ts”文件。为您的项目添加翻译。完成后,释放它以获得“qm”文件。

当你想翻译你的应用程序时,加载“qm”文件。

int main(int argc, char *argv[]) 
{ 
    QApplication a(argc, argv); 

    QTranslator *translator = new QTranslator; 
    translator->load("chinese.qm"); 

    a.installTranslator(translator); 
} 
+0

非常感谢。我有另一个问题:这种方式不能识别qml文件中的翻译命令,而我使用qsTr() – dan 2011-06-09 10:09:16

+0

请阅读这些文档。我希望它能帮助你。 http://doc.qt.nokia.com/4.7-snapshot/qdeclarativei18n.html http://doc.qt.nokia.com/4.7-snapshot/declarative-i18n.html – 2011-06-09 15:14:22