QT界面应用程序的语言国际化
对字符串使用tr包含起来,因为tr是QObject的一个静态函数,所以它可以直接调用。
在生成language.ts文件之前应该编辑.pro文件,如下:
QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TRANSLATIONS=language_en.ts TARGET = NetByteSender TEMPLATE = app
然后,进入到工程目录中,运行
E:\Projects\qt\NetByteSender>e:\qt\Qt5.3.2\5.3\mingw482_32\bin\lupdate.exe NetBy teSender.pro Updating 'language_en.ts'... Found 31 source text(s) (2 new and 29 already existing) Kept 2 obsolete entries
这时可以看到目录下多了一个language_en.ts文件,里面的内容就是我们要翻译的文字。
... </message> <message> <location filename="netbytesender.cpp" line="119"/> <source>listen</source> <translation type="unfinished"></translation> </message> </context> <context> <name>QMessageBox</name> <message> <location filename="netbytesender.cpp" line="109"/> <source>NetByteSender</source> <translation type="unfinished"></translation> </message> </context> </TS>
如何翻译成中文呢?
(待补充)