首页 > 编程知识 正文

qt quick核心编程,qt主要用在哪里

时间:2023-05-05 17:19:57 阅读:150198 作者:3099

个人资料

Qt提供了优秀的翻译工具,支持Qt C和Qt Quick的APP。 发布器、翻译人员和开发人员可以使用此工具完成任务。

主讲人:负责全面公开APP宣传。 通常,您需要协调开发人员和翻译人员的工作,使用lupdate工具同步和翻译源代码,然后使用lrelease同步工具创建在发布APP发布时使用的翻译文件。

译者:可以使用Qt Linguist工具翻译APP发布的文本。 当然,这需要专业的翻译知识。

开发者:您需要创建可以在Qt APP应用程序中使用的翻译文本。 它也应该有助于译者识别短语出现的场景。

发行者

Qt Linguist为发布器提供了两种工具:-lupdate和lrelease。 它们可以处理qmake项目文件,也可以直接在文件系统上执行。

创建翻译文件

要创建翻译文件:

lupdate会生成一组翻译源(TS )文件,其中包含所有用户都可以查看的文本,但不会翻译。

2将生成的TS文件传递给译者(谁使用Qt Linguist添加翻译)。 Qt Linguist关注更改或删除任何源文本。

lupdate允许您在不破坏数据的情况下同步APP应用程序中用户可以看到的文本。

4发行APP应用程序并运行lrelease时,可以读取TS文件并生成要在执行APP应用程序时使用的QM文件。

使用lupdate

使用方法:

Creator菜单栏,选择:工具-外部Qt语言家-更新翻译(lupdate )

命令行: lupdate myproject.pro

使用释放

使用方法:

Creator菜单栏,选择:工具-外部Qt语言家-发布翻译(lrelease )

命令行: lrelease myproject.pro

第一部分:

在上,源文件中的相关字符串已经用tr函数包装。 现在应该做的是将要翻译的字符串更新为ts文件。 lupdate用于扫描在pro文件中指定的代码或UI文件中由tr包装的文本。

lupdate的使用可以在lupdate --help中看到lupdate的使用。

粗略地说,这个工具的使用方法是:

使用方法:lupdate [选项] [项目文件].lupdate [选项] [源文件|路径| @ lst文件].-ts ts文件| @ lst文件lupdate [

生成ts文件

此时在pro文件里加入

TRANSLATIONS=zh_yjdkn.ts生成对应的ts文件的第二步骤:

译者

Qt Linguist是向Qt APP应用程序添加翻译的工具。

Qt语言主窗口包含菜单栏和以下视图:

上下文(F6 ) :要翻译的字符串所在的上下文的列表。

字符串(F7 ) :用于显示上下文中已翻译的字符串。

短语和表单(F9 ) :用于在上下文源可访问时显示当前字符串所在的上下文。

翻译区:显示原文,进行译文和译文注释。

短语和猜测(F10 ) :用于在当前字符串中显示可能的翻译。

警告(F8 ) :显示验证测试失败的翻译字符串。

翻译区(1)总是可见的。 要显示或隐藏其他视图,请选择视图视图视图或使用上述快捷键。 每个窗口都是浮动接口,因此可以从标题栏中自由拖动。

翻译字符串

在Qt Linguist中打开源(TS )文件进行翻译。 TS文件是可读的XML文件。 它包含源短语及其翻译,通常由lupdate创建和更新。

Qt Linguist在翻译领域显示目标语言,对应的输入字段适应复数形式。 如果打开多个TS文件并同时翻译,则会针对每种语言显示翻译文本和译文注释字段。

要翻译字符串:

1 (文件-打开以加载ts文件(Ctrl O )。

2在上下文视图中选择上下文,并将翻译后的字符串加载到字符串视图中。

3在“字符串”视图中选择要翻译的字符串。

4在翻译区域输入与当前字符串对应的译文。

5您也可以双击,从“短语和推测”视图中选择现有翻译。 推测该短语将从短语本中读取,并从TS文件的类似短语中寻找现有的翻译。

6这是可选的,可以输入译文注释以方便其他翻译者理解。

7如果要接受此翻译,请按Ctrl Enter键进行选择,或者单击字符串列表中选定源字符串左侧的图标。

选择:文件-保存以完成工作。

重复此过程,直到字符串列表中的所有合并标记都显示“接受/正确”或“接受/警告”标记。 然后选择下一个上下文继续。

选择:显示-可以看到统计、原文和译文的单词和字数。

第三部分:

什么是发布

翻译,就是使用lrelease工具将ts文件转换输出不包含多余信息的qm文件(qm文件是二进制文件,非文本文件)。

lrelease使用简要说明

使用方法:

lrelease [选项] 项目文件

lrelease [选项] ts 文件 [-qm qm 文件]

-------------------------------------

下面举一个简单的例子,将要翻译成法语和荷兰语两种语言

在.pro中

QT += coreQT -= guiCONFIG += c++11QT += widgetsTARGET = arrowPadTEMPLATE = appSOURCES += main.cpp arrowpad.cpp mainwindow.cpp# The following define makes your compiler emit warnings if you use# any feature of Qt which as been marked deprecated (the exact warnings# depend on your compiler). Please consult the documentation of the# deprecated API in order to know how to port your code away from it.DEFINES += QT_DEPRECATED_WARNINGS# You can also make your code fail to compile if you use deprecated APIs.# In order to do so, uncomment the following line.# You can also select to disable deprecated APIs only up to a certain version of Qt.#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0HEADERS += arrowpad.h mainwindow.h#翻译成法语和英语TRANSLATIONS = arrowpad_fr.ts arrowpad_el.tstarget.path = $$[QT_INSTALL_EXAMPLES]/linguist/arrowPadINSTALLS += target#并不是所有的平台都有效simulator: warning(This example might not fully work on Simulator platform)DISTFILES += arrowpad_el.qm arrowpad_fr.qm

 在响应的源文件中我们加入四个按钮

upButton = new QPushButton(tr("&Up")); downButton = new QPushButton(tr("&Down")); leftButton = new QPushButton(tr("&Left")); rightButton = new QPushButton(tr("&Right")); QGridLayout *mainLayout = new QGridLayout; mainLayout->addWidget(upButton, 0, 1); mainLayout->addWidget(leftButton, 1, 0); mainLayout->addWidget(rightButton, 1, 2); mainLayout->addWidget(downButton, 2, 1); setLayout(mainLayout);

 在加入一个菜单

arrowpad = new arrowPad; setCentralWidget(arrowpad); exitAct = new QAction(tr("E&xit"), this); exitAct->setShortcuts(QKeySequence::Quit); connect(exitAct, SIGNAL(triggered()), this, SLOT(close())); fileMenu = menuBar()->addMenu(tr("&File")); fileMenu->addAction(exitAct);

我们看一下运行结果

 

 

加下来我们打开Qt自带的命令行,通过命令进入到执行目录下(这里的简单的进入命令不会的话可以百度)这里我们进入arrowPad我的执行目录

这里我们生成了arrowpad_fr.ts 和 arrowpad_el.ts 两个流,分别是法语和荷兰语,然后通过Qt语言家进行翻译,翻译中对应的语言

 

 

 

 

这里翻译成响应的语言,翻译后保存,这里我们也可以看一下翻译结果对不对,加下来我们通过运行lrelease 生成arrowpad_fr.qm和 arrowpad_el.qm (qm文件是二进制文件,非文本文件),我们可以查看,是xml格式

 

通过上面可以判断有没有转换成功,并且也可以查看xml

 加下来我们在Qt工程文件加入相应的qm文件,运行分别是法语和荷兰语

源码路径,请点击这里 arrowPid.zip

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。