Qt Linguist 介绍和简单应用
简介
Qt提供了一款优秀的支持Qt C++和Qt Quick应用程序的翻译工具。发布者、翻译者和开发者可以使用这款工具来完成他们的任务。
发布者:承担了全面发布应用程序的责任。通常,他们协调开发者和翻译者的工作,可以使用lupdate工具同步源代码,进行翻译,使用lrelease同步工具为发布应用程序创建运行时使用的翻译文件。
翻译者:可以使用Qt Linguist工具翻译应用程序的文本。当然,这必须要有专业的翻译知识。
开发者:必须创建Qt应用程序能够使用的翻译文本。也应该帮助翻译者识别短语出现的场景。
发布者
Qt Linguist为发布者提供了两款工具-lupdate和lrelease。它们可以处理qmake项目文件,或直接在文件系统上运行。
创建翻译文件
要创建翻译文件:
1 运行lupdate产生一组翻译源(TS)文件,里面含有所有用户可见的文本,但未经过翻译。
2 把生成的TS文件交给翻译者(谁使用Qt Linguist添加翻译)。Qt Linguist关注任何源文本的改变或删除。
3 运行lupdate,可以从应用程序中同步用户可见的文本,它不会破坏任何数据。
4 发布应用程序,运行lrelease,即可读取TS文件,并生成用于应用程序运行时的QM文件。
使用lupdate
用法:
Creator菜单栏,选择:工具->外部->Qt语言家->更新翻译(lupdate)
命令行:lupdate myproject.pro
使用lrelease
用法:
Creator菜单栏,选择:工具->外部->Qt语言家->发布翻译(lrelease )
命令行:lrelease myproject.pro
第一部分:
在上面,源文件中的相关字符串已经使用tr函数包装起来了。现在要做的就是更新这些要翻译的字符串到ts文件。lupdate就是用于扫描pro文件中指定的代码或UI文件中被tr包装起来的文本。
lupdate的使用
lupdate的使用可以使用lupdate --help来查看。
粗略的说一下这个工具的用法:
使用方法:
lupdate [选项] [项目文件]…
lupdate [选项] [源文件 | 路径 | @ lst 文件]…-ts ts 文件 | @ lst 文件
lupdate [选项] 源文件 -ts 目标文件
生成ts文件
此时在pro文件里加入
TRANSLATIONS = zh_hans.ts 生成相应的ts文件
第二步:
翻译者
Qt Linguist是为Qt应用程序添加翻译的工具。
在Qt语言主窗口包含一个菜单栏和以下视图:
上下文(F6):将要被翻译的字符串所在的上下文列表。
字符串(F7):用于查看上下文中翻译的字符串。
短语和表单(F9):用于查看当前字符串所在的上下文,如果上下文源代码可访问。
翻译区:显示源文、进行译文及译文注释。
短语和猜测(F10):用于查看为当前字符串可能的翻译。
警告(F8):查看未通过验证测试的翻译字符串。
翻译区(1)是始终可见。要显示/隐藏其它视图,选择:查看->视图,也可以使用上面列出的快捷键。由于各个窗口为悬浮界面,所以可以通过标题栏任意拖动。
翻译字符串
在Qt Linguist中打开翻译源(TS)文件进行翻译。TS文件是可读的XML文件-包含源短语及其翻译,TS文件通常由lupdate创建与更新。
Qt Linguist在翻译领域显示目标语言,相应的输入字段适应复数形式。当打开多个TS文件同时翻译时,译文和译文注释字段显示为每种语言的。
要翻译字符串:
1选择:文件->打开(Ctrl+O)来加载TS文件。
2在上下文视图中选择一个上下文,来加载翻译的字符串到字符串视图中。
3选择字符串视图中的某个需要翻译的字符串。
4在翻译区域输入当前字符串对应的译文。
5也可以通过双击它从短语和猜测视图中选择现有的翻译。短语是从短语书籍中读取,猜测是在TS文件类似的短语中查找现有的翻译。
6 这项是可选的,可以输入译文注释,方便其他翻译者理解。
7 如果接受这个翻译,按Ctrl+Enter,选择,或点击字符串列表中所选源字符串的左侧图标。
选择:文件->保存,来完成工作。
重复这个过程,直到字符串列表中的所有串标有(接受/正确的)或(接受/警告)标记。然后选择下一个上下文并继续。
选择:查看->统计,可以看原文和译文单词和字符数。
第三部:
所谓发布翻译,就是使用lrelease工具将ts文件转换输出不包含多余信息的qm文件(qm文件是二进制文件,非文本文件)。
lrelease使用简要说明
使用方法:
lrelease [选项] 项目文件
lrelease [选项] ts 文件 [-qm qm 文件]
————————————————
原文链接:https://blog.csdn.net/lvdepeng123/article/details/90719769
Qt Linguist 介绍和简单应用相关推荐
- 1.4 Qt工具之Qt Linguist介绍
转自:http://www.hellotongtong.com/Qt5base1/qtlinguist-intro.html 1.4 Qt工具之Qt Linguist介绍 ***[免费下载源码和PPT ...
- Qt Linguist 介绍
原文: https://blog.csdn.net/liang19890820/article/details/50274409 简介 Qt提供了一款优秀的支持Qt C++和Qt Quick应用程序的 ...
- Qt Linguist介绍
简介 Qt提供了一款优秀的支持Qt C++和Qt Quick应用程序的翻译工具.发布者.翻译者和开发者可以使用这款工具来完成他们的任务. 发布者:承担了全面发布应用程序的责任.通常,他们协调开发者和翻 ...
- Qt文档阅读笔记-Qt Concurrent介绍及简单使用
目录 Getting Started 博主栗子 Getting Started QtConcurrent名称空间提供了高等级的API,这些高级API可以写多线程的程序,并且可以不使用低等级线程所要的东 ...
- Qt Linguist翻译 介绍
转自:https://blog.csdn.net/liang19890820/article/details/50274409 简介 Qt提供了一款优秀的支持Qt C++和Qt Quick应用程序的翻 ...
- Qt之语言家的简单使用(一)(Qt翻译UI,Qt Linguist的使用,含源码+注释)
文章目录 一.翻译程序示例图 二.流程须知(个人理解) 三.关于对话框中QDialogButtonBox翻译的操作 四.源码 CLinguistTest.h CLinguistTest.cpp CLi ...
- Qt Linguist 开发人员 programmers
Qt Linguist 开发人员 programmers Qt Linguist 开发人员 programmers 在Qt项目文件中指定翻译源 国际化应用 部署翻译 讲解 Qt Linguist 开发 ...
- Qt Linguist翻译过程概述
Qt Linguist翻译过程概述 翻译过程概述 翻译过程概述 必须在应用程序中翻译的大多数文本由单个单词或简短短语组成.这些通常显示为窗口标题,菜单项,工具提示以及按钮,复选框和单选按钮的标签. 开 ...
- Qt TCP协议 传输简单字符串实例
TCP协议的程序使用的是客户端/服务器模式,在Qt中提供了QTcpSocket类来编写客户端程序,使用QTcpServer类编写服务器端程序. A 转载:http://mobile.51cto.com ...
最新文章
- shell介绍,命令历史,命令补全和别名 ,通配符, 输入输出重定向
- Easy Problem 7 求反数字字符串
- 中国鱼胶原蛋白行业应用前景与十四五投资建议报告2022年
- Spring Boot连接MySQL报错“Internal Server Error”的解决办法
- Spring事务传播
- BZOJ4237 JOISC2014 稻草人 CDQ分治、单调栈
- 悲观锁代码java_悲观锁的代码实现如何编写?
- python之__name__
- c# 弹性和瞬态故障处理库Polly
- 最近对项目代码做的一些更改和感想
- Hibernate 注解 没有加@Column一样会在数据库创建这些字段
- 【无人驾驶系列】基于ROS的无人驾驶系统
- dumpsys命令用法
- js的函数抖动和函数节流原理
- R-FCN算法的Caffe实现
- 人生苦短我用python(02)动态加载模块
- 【Android】五种常用布局方式详解(图文+示例)持续更新中...
- 学习Java还是学习大数据,哪个好?
- 高通MSM8953处理器(CPU)/骁龙625资料介绍
- matlab如何编newton-raphson,Matlab中的Newton-Raphson方法
热门文章
- 从酒桌游戏看二分查找算法
- 【掘金使用技巧8】用掘金编写常用技术指标
- fcpx怎么合成延时摄影_延时摄影:如何制作你的第一部延时视频,这里有几个小技巧...
- openpyxl:AttributeError: ‘MergedCell’ object attribute ‘value’ is read-only
- 统计N 个学生的成绩并输出低于平均水平的人数
- 大数据「偏见」会让我们变蠢吗
- 呼吸机缺关键零件,意大利小哥用3D打印救命!面临起诉风险,网友:意版“药神”?
- php仅显示月份的日历,JSP_用JSP实现的一个日历程序,!-- 显示任意年、月的日历 - phpStudy...
- oracle 日历每个月的第一天显示为中文的月份
- 从 0 到 1 实现 React 系列 —— 4.优化setState和ref的实现