基于Qt开发的多语言词条生成方法与流程

文档序号:15163772发布日期:2018-08-14 17:10阅读:1161来源:国知局

本发明涉及基于qt开发的多语言词条生成方法。



背景技术:

qt是一个1991年由奇趣科技开发的跨平台c++图形用户界面应用程序开发框架。它既可以开发gui程序,也可用于开发非gui程序。在跨平台开发中,qt界面库已经得到应用。基于qt编写的c++工程,对于多语言的词条,通常是按照下述步骤处理的:

第一步、在cpp文件中,对于需要翻译的词条,用tr宏标识,被tr函数处理的字符串可以使用工具提取出来翻译成其他语言,也就是国际化使用,例如qaction(tr("exit"),this);

第二步、手工调用qt的lupdate.exe,形成ts文件;

第三步、手工调用qt的linguist.exe软件,打开ts文件,在对应的界面上逐个输入每个词条对应的翻译;

第四步、输出qm文件。

上述过程涉及多个环节和步骤,尤其翻译环节,界面复杂,需要手工逐条录入,且无法复用已有词条,工作量大且效率慢。



技术实现要素:

针对上述问题,本发明提供基于qt开发的多语言词条生成方法,提高多语言词条处理的自动化程度,以直观可视的方式组织管理词条,便于翻译人员录入和修订;进一步的,可自动复用已有词条,减少需要手工重复录入的工作。

为实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:

基于qt开发的多语言词条生成方法,包括如下步骤:

步骤1、获取并分析qt工程的pro文件和子模块的pro文件,形成完整的pro文件列表,每个pro文件列表项对应一个待翻译处理的模块;

步骤2、针对每个待翻译处理的模块调用qt的lupdate.exe,提取源文件中用tr宏函数所标识的词条,形成各个待翻译处理的模块的ts文件;

步骤3、读取ts文件列表,输出待翻译的excel词条文件;

步骤4、获取工具自动翻译或人工翻译修订后的excel词条文件,将指定的某种语言词条回填并生成该语言对应的ts文件,调用qt的lrelease.exe,生成qm文件。

优选,步骤3中,在提取词条前判断是否指定了基准excel文件:若没有指定或指定的基准excel格式不正确,则读取并解析ts文件列表,输出新的待翻译的excel词条文件;若指定了固定格式的基准excel词条文件,则读取ts文件列表和excel词条文件,以增量更新的方式在原基准excel词条文件中输出新的词条内容行。

优选,输出excel词条文件时,对于新增的词条,先从词条数据库中匹配第三方语言翻译,若匹配成功,则填写到对应的表项;若匹配不成功,则用不同颜色标识。

优选,步骤1中,先分析主进程的pro文件,读取pro文件中依赖的模块名称;然后遍历工程目录,获取相关子模块的pro文件路径,提取完整的pro文件列表。

本发明的有益效果是:

词条翻译人员不需要掌握qt相关软件的操作,而是基于excel文件直观可视地查看出需要翻译的内容。软件开发人员不需要逐个手动的调用相关软件,形成ts或qm文件,而是以增量更新的一键形成方式输出excel词条文件,在输出词条文件的过程中,支持连接词条数据库,匹配已有翻译项,减少人工翻译工作量。本发明极大提高了大型人机软件词条翻译和管理的效率,提高了多语言人机软件开发效率。

附图说明

图1是本发明基于qt开发的多语言词条生成方法的流程图;

图2是本发明实施例中增量更新输出excel词条文件内容示意图;

图3是本发明实施例中回填ts文件生成指定语言翻译文件界面示意图。

具体实施方式

下面结合附图和具体的实施例对本发明技术方案作进一步的详细描述,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。

如图1所示,基于qt开发的多语言词条生成方法,可自动提取qt工程待翻译词条,并用excel文件管理词条,便于翻译人员处理翻译和对比,并能自动回填和形成qm文件,提高了多语言人机软件开发效率。具体包括如下步骤:

步骤1、获取并分析qt工程的pro文件和子模块的pro文件,形成完整的pro文件列表,每个pro文件列表项对应一个待翻译处理的模块。

优选地,先分析主进程的pro文件(包括main函数的模块),读取pro文件中依赖的模块名称(libs字段中依赖的库名称);然后遍历工程目录,获取相关子模块的pro文件路径,可以采用深度优先的遍历方法遍历工程目录,提取完整的pro文件列表。

步骤2、针对每个待翻译处理的模块自动调用qt的lupdate.exe,提取源文件中用tr宏函数所标识的词条,在该模块pro文件同级目录下形成各个待翻译处理的模块的ts文件,并添加至提取列表中。

步骤2中,在二次提取过程中存在新增模块或旧模块内容更新的情况,还可以通过增量更新的方式自动调用qt的lupdate.exe,提取源文件中用tr宏函数所标识的词条,形成各个待翻译处理的模块的ts文件。

步骤3、读取ts文件列表,输出待翻译的excel词条文件。

分析列表中的ts文件内容,将有效的source和translation字段的内容进行提取,输出至待翻译的excel词条文件的指定列中。此步骤中,优选,先判断在提取词条前是否指定了基准excel文件:若没有指定或指定的基准excel格式不正确,则读取并解析ts文件列表,输出新的待翻译的excel词条文件;若指定了固定格式的基准excel词条文件,则读取ts文件列表和excel词条文件,以增量更新的方式在原基准excel词条文件中输出新的词条内容行。

如图2所示,在其中一个实施例中,当提取前指定了基准excel词条文件时,采用增量更新方式输出,保留已经翻译过的词条对应的其它语言翻译内容,对新增词条分颜色突出显示。优选,excel词条文件分为若干sheet页,每个待翻译处理的模块占用1个sheet,sheet名称为模块名,在单个sheet页内,根据ts文件中记录的源代码文件顺序,按照源代码文件的词条划分为若干子单元。

在输出excel词条文件时,对于新增的词条,支持连接词条数据库,即先从词条数据库中根据中、英文匹配第三方语言翻译,若匹配成功,则填写到对应的第三方语言列单元格中;若匹配不成功,则用不同颜色标识,比如,无对应项时,用红色底色标识,供词条翻译人员翻译成多语言excel文件。词条数据库可以通过人工录入的方式进行更新。

步骤4、获取工具自动翻译或人工翻译修订后的excel词条文件,将指定的某种语言词条(excel中某一列)回填并生成该语言对应的ts文件,调用qt的lrelease.exe,生成qm文件。

如图3所示的实施例,基于原xxx_ch.ts中source字段的描述,匹配修订后的excel文件中已翻译好的俄文列内容,生成俄文翻译文件xxx_ru.ts,调用lrelease.exe转换成xxx_ru.qm文件。界面具体操作过程为:在ts文件列表中勾选所有需回填的ts文件,并在“导入选项”中勾选“俄文”,点击“从excel中回填”后选择修订后的excel词条文件,则开始处理生成俄文ts文件,完成后点击“生成qm文件”则调用lrelease.exe将所有俄文ts文件转换成俄文qm文件,将生成的俄文qm文件放在指定目录下,编译时切换程序输出语言类型为俄文,即可输出俄文版可执行程序exe文件。

词条翻译人员不需要掌握qt相关软件的操作,而是基于excel文件直观可视地查看出需要翻译的内容。软件开发人员不需要逐个手动的调用相关软件,形成ts或qm文件,而是以增量更新的一键形成方式输出excel词条文件,在输出词条文件的过程中,支持连接词条数据库,匹配已有翻译项,减少人工翻译工作量。本发明极大提高了大型人机软件词条翻译和管理的效率,提高了多语言人机软件开发效率。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或者等效流程变换,或者直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1