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:ProjectsqtNetByteSender>e:qtQt5.3.25.3mingw482_32inlupdate.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>

如何翻译成中文呢?

(待补充)

原文地址:https://www.cnblogs.com/tfanalysis/p/4047518.html