用户界面内文字翻译方法、装置、系统及存储介质
技术领域
本说明书实施例涉及翻译领域,尤其涉及一种用户界面内文字翻译方法、装置、系统及存储介质。
背景技术
为了给不同地区的用户提供更好的体验,需要能够针对不同的区域提供本地化文字翻译的能力,因此,需要通过对移动终端的应用页面文字进行多语言翻译,来满足APP的多国投放需求。
发明内容
本说明书实施例通过提供一种用户界面内文字翻译方法、装置、系统以及存储介质,避免了提高了用户体验,且节省了移动终端的存储空间。
第一方面,本说明书实施例提供一种用户界面内文字翻译方法,包括:
从目标应用页面的文本类用户界面组件内提取原文案,得到原文案队列;
将所述原文案队列发送至服务端,使得所述服务端对所述原文案队列中每个原文案进行翻译;
针对所述原文案队列中每个原文案,从所述服务端获取与所述原文案对应的翻译文案,并将所述翻译文案填充至所述目标应用页面上对应的文本类用户界面组件内,形成并展示翻译后应用页面。
第二方面,本说明书实施例提供一种用户界面内文字翻译装置,包括:
文案提取单元,用于从目标应用页面的文本类用户界面组件内提取原文案,得到原文案队列;
队列发送单元,用于将所述原文案队列发送至服务端,使得所述服务端对所述原文案队列中每个原文案进行翻译;
文案填充单元,用于针对所述原文案队列中每个原文案,从所述服务端获取与所述原文案对应的翻译文案,并将所述翻译文案填充至所述目标应用页面上对应的文本类用户界面组件内,形成并展示翻译后应用页面。
第三方面,本说明书实施例提供一种用户界面内文字翻译系统,包括:移动终端和服务端,其中:所述移动终端,用于从目标应用页面的文本类用户界面组件内提取原文案,得到原文案队列;将所述原文案队列发送至服务端;所述服务端,用于对所述原文案队列中每个原文案进行翻译,得到与所述原文案对应的翻译文案;所述移动终端,还用于针对所述原文案队列中每个原文案,从所述服务端获取与所述原文案对应的翻译文案,并将所述翻译文案填充至所述目标应用页面上对应的文本类用户界面组件内,形成并展示翻译后应用页面。
第四方面,本说明书实施例提供一种移动终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述方法的步骤。
第五方面,本说明书实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述方法的步骤。
本说明书实施例提供的一个或者多个技术方案至少实现了如下技术效果:
移动终端通过提取应用页面的文本类用户界面组件中原文案后发送给服务端,由服务端对原文案进行翻译,得到翻译文案,移动终端接收服务端回传的翻译文案并填充回应用页面上对应的文本类用户界面组件内,以此替换了文本类用户界面组件内的原文案,因此,既不需要在移动终端配置多语言文件,也不需要对应用页面进行截图和进行对截图的OCR识别。因此,能够避免因为图片文字互转多流程导致的体验降级,也避免了在移动终端配置多语言文件对移动终端存储空间的占用,进而提高了用户体验以及节省存储空间。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本说明书的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本说明书实施例中应用用户界面内文字翻译系统的系统架构图;
图2为本说明书实施例中应用用户界面内文字翻译方法的流程图;
图3为本说明书实施例中应用页面翻译前的效果图;
图4为本说明书实施例中应用页面翻译后的效果图;
图5为本说明书实施例中应用页面翻译装置的结构示意图;
图6为本说明书实施例中移动终端的结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。
第一方面,本说明书实施例提供一种用户界面内文字翻译系统,参考图1所示,本说明书实施例提供的用户界面内文字翻译系统,包括:移动终端10和服务端20。
其中,移动终端10可以为智能手机、平板电脑、个人数字助理、智能佩戴设备等终端设备,本说明书实施例不对移动终端10的具体类型作限定。
移动终端10对目标应用页面上的文本类UI((User Interface,用户界面)组件提取原文案,得到原文案队列;移动终端10将原文案队列发送至服务端20。服务端20接收原文案队列,并对原文案队列中每个原文案进行翻译,使得对文案的翻译过程在服务端20进行,既不需要在移动终端配置多语言文件,也不需要对应用页面进行截图和进行对截图的OCR识别。针对原文案队列中每个原文案,移动终端10从服务端20获取与原文案对应的翻译文案,并将翻译文案填充至目标应用页面上对应的文本类用户界面组件内,形成并展示翻译后应用页面。
第二方面,本说明书实施例提供一种用户界面内文字翻译方法,应用于如图1所示的移动终端10。结合图1和图2所示,本说明书实施例提供的用户界面内文字翻译方法,包括如下步骤S200-S204:
S200、从目标应用页面的文本类用户界面组件提取原文案,得到原文案队列。
需要说明的是,目标应用页面是移动终端上所安装APP当前展示的UI界面。该APP可以为购物应用、社交应用等有多国投放需求的APP,也可以为移动终端上预装的系统应用。
在具体实施过程中,如果检测到用户的翻译操作,则触发从目标应用页面的文本类用户界面组件提取原文案。其中,可以在移动终端的当前屏幕内展示预设的悬浮按钮作为翻译操作入口,如果检测到用户对悬浮按钮的点击操作,则触发从目标应用页面的每个文本类用户界面组件提取原文案,以此能够快速对移动终端当前展示的应用页面内文字进行提取,进而利于快速对应用内文字快速翻译,减少了用户操作复杂度,提高了用户体验度。
具体的,由于目标应用页面内除了文本类用户界面组件,还可能包含一种以上其他类型的用户界面组件,比如,还包括:按钮类用户界面组件、图像类用户界面组件、列表类用户界面组件中的一种或者多种。因此,需要通过遍历目标应用页面上的每个用户界面组件,来准确筛选出其中的文本类用户界面组件,具体实施过程是:通过遍历目标应用页面上每个用户界面组件,从目标应用页面上遍历到每个文本类用户界面组件;针对从目标应用页面上遍历到的每个文本类用户界面组件进行提取原文案,得到原文案队列。目标应用页面上包含M个文本类用户界面组件,则对应的,原文案队列中包含对应从M个文本类用户界面组件一一对应提取的M个待翻译的原文案,M为正整数。
下面,对从目标应用页面上遍历到的每个文本类用户界面组件进行提取原文案,得到原文案队列的实施过程进行详细描述:
针对当前从目标应用页面上遍历到的第i文本类用户界面组件,引用第i文本类用户界面组件,i依次取1至M;从引用的第i文本类用户界面组件内提取原文案,并将从该第i文本类用户界面组件内提取的原文案加入至缓存队列,形成缓存队列中第i个待翻译的原文案,直至遍历结束,根据缓存队列中各原文案得到待发送给服务端的原文案队列。
通过上述引用当前遍历到的第i文本类用户界面组件,能够实现对第i文本类用户界面组件的记录,便于后续从记录的第i文本类用户界面组件内提取原文案以及替换组件内文案。
在一可选的实施方式下,需预先建立每个文本类用户界面组件与该文本类用户界面组件内文案之间的映射数据,从而根据映射数据快速将每个翻译文案填充至对应的文本类用户界面组件内。其中,建立映射数据的具体过程是:针对从目标应用页面遍历到的每个文本类用户界面组件,以及从该文本类用户界面组件内提取的原文案,建立映射数据。具体的,映射数据中包含M条映射记录,与目标应用页面上包含的M个文本类用户界面组件一一对应,其中,每条映射记录的形式为{用户界面组件的标识;用户界面组件内文案}。
在具体实施过程中,在引用第i文本类用户界面组件之后,将引用的第i文本类用户界面组件的标识,与从第i文本类用户界面组件内提取的原文案之间建立映射关系,形成映射数据中第i条映射记录,i依次取1至M。
在具体实施过程中,映射数据以映射表的形式缓存在移动终端,通过映射表将每个文本类用户界面组件的标识与该文本类用户界面组件内文案构成键值对并进行缓存,使得能够通过文本类用户界面组件的标识找到对应文本类用户界面组件内文案,便于对文本类用户界面组件内文案进行删除、更新等操作。需要说明的是,形成原文案队列与映射数据的过程是交互进行的,下面进行详细描述:
步骤1、遍历目标应用页面上的每个用户界面组件,如果当前从目标应用页面上遍历到的用户界面组件为文本类用户界面组件,则引用为第i文本类用户界面组件并执行步骤2,否则,继续遍历下一个用户界面组件。
步骤2、从引用的第i文本类用户界面组件内提取原文案,将从第i文本类用户界面组件内提取的原文案加入至缓存队列,形成缓存队列中第i个待翻译的原文案。从而针对一个应用页面仅向服务端发起一次翻译请求,减少数据交互次数。
在该步骤2中,针对当前遍历到的第i文本类用户界面组件,从该第i文本类用户界面组件上找到每个包含文字的UI元素,并从该UI元素中提取原文字,从而得到该第i文本类用户界面组件内的原文案。从第i文本类用户界面组件内提取的原文案包含一个以上待翻译的文字对象。
在步骤2之后继续执行步骤3:将引用的第i文本类用户界面组件的标识,与从第i文本类用户界面组件内提取的原文案之间建立映射关系,形成映射数据中第i条映射记录。
循环执行上述步骤1-3,直至对目标应用页面上的用户界面组件遍历结束,得到针对目标应用页面的映射数据,以及待发送给服务端的原文案队列。需要说明的是,原文案队列中包含的M个待翻译的原文案与映射数据中包含的包含M条映射记录顺次对应。
在得到原文案队列之后,执行步骤S202、将原文案队列发送至服务端,使得服务端对原文案队列中每个原文案进行翻译。
具体的,在单语言翻译场景下,移动终端向服务端发起针对目标应用页面的翻译请求,翻译请求中包含原文案队列。而在多语言翻译场景下,翻译请求中包含用户指示的目标语言以及原文案队列,使得服务端根据用户指示的目标语言,将原文案队列中每个原文案翻译为以目标语言表达的翻译文案。
在具体实施过程中,为了快速将翻译文案填充至对应的文本类用户界面组件:服务端对原文案队列中每个原文案进行翻译,得到与原文案队列对应的翻译文案队列,翻译文案队列中包含M个翻译文案,并且,M个翻译文案与原文案队列中M个待翻译的原文案顺次对应。
S204、针对原文案队列中每个原文案,从服务端获取与该原文案对应的翻译文案,并将该翻译文案填充至目标应用页面上对应的文本类用户界面组件内,形成并展示翻译后应用页面。
其中,服务端从服务端获得与原文案队列对应的翻译文案队列之后,针对翻译文案队列中第i个翻译文案,根据顺次对应关系确定出映射数据中第i条映射记录,并以第i个翻译文案,替换第i条映射记录中标识所映射的第i文本类用户界面组件内原文案,i取1至M;刷新文案替换之后的第i文本类用户界面组件。
由于以映射表的形式缓存映射数据在移动终端,映射表提供了以组件标识为键进行查找,快速查找到该组件标识对应的组件内原文案,将查找到的用户界面组件内原文案更新为翻译文案,实现了替换第i条映射记录中标识所映射的第i文本类用户界面组件内文案的目的。
在具体实施过程中,第i个翻译文案包含一个以上文字对象,针对第i个翻译文案填充至第i文本类用户界面组件的具体实施过程是:针对第i翻译文案中第j个文字对象,将该第j个文字对象填充至第i文本类用户界面组件中对应的第j个UI元素内,j依次取1至N,N为第i翻译文案中的文字对象数量。
通过上述技术方案,翻译文案队列与原文案队列之间顺次对应,原文案队列与映射数据之间也满足顺次对应,因此,能够根据两个顺次对应关系,快速确定每个翻译文案对应的映射记录,进而根据映射记录中的组件标识,快速找到每个翻译文案要填充至哪个文本类用户界面组件,进而快速进行目标应用页面内的文案替换,提高了翻译文案填充的准确性和效率。
当然,为了将翻译文案快速填充至对应的文本类用户界面组件内,还可以有其他实施方式,比如:将映射数据直接作为原文案队列发送至服务端,使得服务端针对映射数据中每条映射记录{用户界面组件的标识:原文案}中的原文案进行翻译,得到翻译文案,以该翻译文案替换该映射记录中的原文案。从而得到更新后映射数据,更新后映射数据为{用户界面组件的标识:翻译文案},服务端将更新后映射数据返回至移动终端。移动终端根据更新后映射数据,将目标应用页面内每个文本类用户界面组件内的原文案替换为对应的翻译文案,并对文案替换之后的文本类用户界面组件进行刷新。
进一步的,在展示翻译后应用页面之后,如果检测到针对所述翻译后应用页面上任意用户界面组件的点击操作时,跳转至与用户界面组件关联的下一应用页面,下一应用页面上文本类用户界面组件内为原文案,其中,下一应用页面具体是下一级应用页面或者下一级应用页面。用户可以通过翻译操作,触发对该下一应用页面内文字的翻译,基于前文针对目标应用页面内文字翻译的实施方式,来对该下一应用页面内文字进行翻译。
下面,以图3所示的应用页面为例,对本说明书实施例提供的用户界面内文字翻译方法进行举例说明,以理解本说明书实施例提供的技术方案:
图3所示为某一应用页面,该应用页面内包含多个用户界面组件:文本类用户界面组件和多个图像用户界面组件。其中,文本类用户界面组件有:文本类用户界面组件1,组件内文案为“返回”;文本类用户界面组件2,组件内文案为“求助反馈”;文本类用户界面组件3,组件内文案为“选择你的反馈类型”;文本类用户界面组件4,组件内文案为“咨询求助”;文本类用户界面组件5,组件内文案为“前往我的客服”;文本类用户界面组件6,组件内文案为“意见反馈”;文本类用户界面组件7,组件内文案为“功能异常或建议”。
检测到用户的翻译操作,则从如3所示的当前应用页面内每个用户界面组件进行遍历,遍历到文本类用户界面组件1,引用文本类用户界面组件1,从引用的文本类用户界面组件1内提取原文案“返回”,并建立文件类组件1与组件内文案之间的映射关系,形成映射表中第1条映射记录:{1:返回},依次的,得到后续每个文本类用户界面组件内的原文案,以及每条映射记录。
基于此,得到的原文案队列为:返回;求助反馈;选择你的反馈类型;咨询求助;前往我的客服;意见反馈;功能异常或建议。映射表如下:
组件的标识 |
组件内文案 |
1 |
返回 |
2 |
求助反馈 |
3 |
选择你的反馈类型 |
4 |
咨询求助 |
5 |
前往我的客服 |
6 |
前往我的客服 |
7 |
功能异常或建议 |
将原文案队列发送至服务端,使得服务端对原文案队列中每个原文案进行翻译,得到翻译文案队列,如下:
runturn;Help feedback;Choose yourfeeback type;Consulting for help;Gotocustomer service;Feedback;Dysfunction or suggestion。
服务端将翻译文案队列反馈给移动终端,移动终端根据映射数据,依次将翻译文案队列中每1个翻译文案“Return”,替换文本类组件1内的原文案“返回”,刷新文案替换后的文本类组件1,将翻译文案队列中第2个翻译文案“Help feedback”,替换文本类组件2内的原文案“求助反馈”,刷新文案替换后的文本类组件2;依次进行,直至最后一个翻译文案“Dysfunction or suggestion”替换文本类组件7内的原文案“功能异常或建议”并刷新完成之后,形成并展示翻译后应用页面,展示的翻译后应用页面如图4所示。
通过上述举例可以看出,通过上述用户界面内文字翻译方法,能够既不需要在移动终端配置多语言文件,也不需要对应用页面进行截图和进行对截图的OCR识别。因此,能够避免因为图片文字互转多流程导致的体验降级,也避免了在移动终端配置多语言文件对移动终端存储空间的占用,进而提高了用户体验以及节省存储空间。
第三方面,本说明书实施例提供一种用户界面内文字翻译装置,参考图5所示,该用户界面内文字翻译装置包括:
文案提取单元501,用于从目标应用页面的文本类用户界面组件内提取原文案,得到原文案队列;
队列发送单元502,用于将所述原文案队列发送至服务端,使得所述服务端对所述原文案队列中每个原文案进行翻译;
文案填充单元503,用于针对所述原文案队列中每个原文案,从所述服务端获取与所述原文案对应的翻译文案,并将所述翻译文案填充至所述目标应用页面上对应的文本类用户界面组件内,形成并展示翻译后应用页面。
在一可选的实施方式下,所述文案提取单元501,包括:
页面遍历子单元,用于通过遍历所述目标应用页面,从所述目标应用页面上遍历到文本类用户界面组件;
文案提取子单元,用于针对从所述目标应用页面上遍历到的每个文本类用户界面组件进行提取原文案,得到所述原文案队列,其中,所述原文案队列中包含M个待翻译的原文案,M为正整数。
在一可选的实施方式下,所述文案提取子单元,具体用于:
针对当前从所述目标应用页面上遍历到的第i文本类用户界面组件,引用所述第i文本类用户界面组件,i依次取1至M;
从所述引用的第i文本类用户界面组件内提取原文案,并将提取的原文案加入至缓存队列,形成所述缓存队列中第i个待翻译的原文案;
直至遍历结束时,根据所述缓存队列得到所述原文案队列。
在一可选的实施方式下,所述装置还包括:
映射单元504,用于根据从所述目标应用页面上遍历到的每个文本类用户界面组件以及从所述文本类用户界面组件内提取的原文案,建立映射数据,其中,所述映射数据中包含M条映射记录。
在一可选的实施方式下,所述映射单元504,具体用于:
将所述引用的第i文本类用户界面组件的标识,与从所述第i文本类用户界面组件内提取的原文案之间建立映射关系,形成所述映射数据中第i条映射记录,i依次取1至M。
在一可选的实施方式下,所述文案填充单元503,包括:
文案接收子单元,用于从所述服务端获得与所述原文案队列对应的翻译文案队列,所述翻译文案队列中包含M个翻译文案,所述M个翻译文案与所述原文案队列中M个待翻译的原文案顺次对应;
映射确定子单元,用于针对所述翻译文案队列中第i个翻译文案,根据所述顺次对应关系确定出所述映射数据中第i条映射记录;
文案替换子单元,用于以所述第i个翻译文案替换所述第i条映射记录中标识所映射的第i文本类用户界面组件内原文案,i取1至M;
组件刷新子单元,用于刷新文案替换之后的所述第i文本类用户界面组件。
在一可选的实施方式下,所述文案提取单元501,具体用于:
在检测到针对所述目标应用页面的翻译操作时,执行所述从目标应用页面的文本类用户界面组件内提取原文案的步骤,以得到所述原文案队列。
在一可选的实施方式下,所述装置还包括:
页面跳转单元505,用于在所述展示翻译后应用页面之后,如果检测到针对所述翻译后应用页面上任意用户界面组件的点击操作时,跳转至与所述用户界面组件关联的下一应用页面,所述下一应用页面上文本类用户界面组件内为原文案。
第四方面,基于与前述实施例中用户界面内文字翻译方法同样的发明构思,本说明书实施例还提供一种移动终端,用以实现前述用户界面内文字翻译方法。如图6所示,该移动终端包括存储器604、处理器602及存储在存储器604上并可在处理器602上运行的计算机程序,所述处理器602执行所述程序时实现前文所述用户界面内文字翻译方法的步骤。
其中,在图6中,总线架构(用总线600来代表),总线600可以包括任意数量的互联的总线和桥,总线600将包括由处理器602代表的一个或多个处理器和存储器604代表的存储器的各种电路链接在一起。总线600还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口606在总线600和接收器601和发送器603之间提供接口。接收器601和发送器603可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器602负责管理总线600和通常的处理,而存储器604可以被用于存储处理器602在执行操作时所使用的数据。
第五方面,基于同一发明构思,本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述用户界面内文字翻译方法的步骤。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。
显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。