当前位置:  开发笔记 > Android > 正文

如何开始使用QtLinguist翻译我的QtCreator项目?

如何解决《如何开始使用QtLinguist翻译我的QtCreator项目?》经验,为你挑选了1个好方法。

我有一个简单的.proQt Creator项目.我在Qt .uiXML表单文件中有大部分(如果不是全部)应用程序文本.我想使用Qt Linguist翻译该项目中的文本,但我不知道如何开始.互联网上没有有用的"Qt Linguist入门"文章.页面自豪地称自己Qt Linguist手册也不是很有用,因为它只包含通用信息,而不是实用的提示.

我在Qt Creator中找到了这些项目:

图片描述

我不太清楚如何使它们工作以及它们与Qt Linguist的关系是什么,它是完全独立的应用程序.我打开了Qt Linguist,它甚至没有包含任何File- > New...项目菜单,这是我要开始的地方.



1> adlag..:

一开始它需要相当多的工作,但那都是自动的.

源代码

在源文件中,您必须将可翻译的字符串放在tr()函数中.所有QObject派生类都有自己的tr()函数.对于该类中的字符串,使用该类的tr函数:代替

QString str ="string to be translated";

使用

QString str = MyClass::tr("string to be translated");

如果该类没有tr()使用功能

QString str = QOject::tr("string to be translated");

Qt Creator

在Qt Creator中,您可以转到Tools/External/Configure ...并填写lupdate和lrelease的位置.您可以对其位置进行硬编码或使用宏.这些实用程序位于Qt安装位置的bin子目录中.

ts文件

假设您要从英语翻译成荷兰语.您将需要两个文件.我们会打电话给他们:myapp_en.tsmyapp_nl.ts.原则上,您不需要包含英语ts文件,但它有助于将英语与另一种语言放在同一个基础上.

项目文件

添加到专业文件

TRANSLATIONS+=  /path_to_/myapp_en.ts

TRANSLATIONS+=  /path_to_/myapp_nl.ts

第一次ts文件

第一次运行lupdate时,将创建ts文件.

实际翻译

用Qt Linguist打开ts文件.您可以设置此文件的某些属性.现在,所有需要翻译的字符串都应该在ts文件的Qt Linguist视图中可见.您可以插入翻译.并保存修改后的ts文件.

更新ts文件

每次更改源代码都应该运行lupdate.使用Qt Linguist添加任何新字符串的翻译并运行lupdate然后lrelease.程序lrelease将文本文件转换为压缩二进制文件(扩展名"qm").

加载翻译

现在唯一要做的就是告诉应用程序加载特定的转换(即加载特定的qm文件).您可以使用具有出色文档的Qt类QTranslator执行此操作.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有