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>

如何翻译成中文呢?

(待补充)

 

posted @ 2014-10-24 09:49  Merlin-magic  阅读(935)  评论(0编辑  收藏  举报