应用程序语言本地化方法、装置、电子设备及存储介质制造方法及图纸

技术编号:23399656 阅读:25 留言:0更新日期:2020-02-22 11:58
本申请公开了应用程序语言本地化方法、装置、电子设备及存储介质,所述方法中,当应用程序开始运行时,获取目标API传给目标类的源语言数据,从而在源语言数据到达目标类之前将其拦截;然后,从预先生成的资源库中查找所述源语言数据对应的本地语言数据;再根据所述本地语言数据调用所述目标API,以使所述目标类根据所述本地语言数据执行语言文本设置。由于本申请方法无需修改应用程序中的文本内容,因此效率较高,不会发生遗漏。另外,本申请方法还可适用于被编译过的代码和可视化代码。

Application language localization methods, devices, electronic devices and storage media

【技术实现步骤摘要】
应用程序语言本地化方法、装置、电子设备及存储介质
本申请涉及应用程序语言本地化
,尤其涉及一种应用程序语言本地化方法、装置、电子设备及存储介质。
技术介绍
应用程序运行于用户设备所搭载的操作系统,可为用户提供一种或多中特定的功能,具有可视的用户界面,可以和用户进行交互。一般而言,一个应用程序往往会被提供给使用不同语言的不同人群使用,这就要求应用程序所展示的文字信息,需要适用于使用不同语言的用户。为使应用程序所展示的文字信息能够适用于使用不同语言的用户,就需要对应用程序进行语言本地化。语言本地化,用于自动将应用程序的语言设置为与用户操作系统语言一致的语言。在一种实现语言本地化的方法中,需预先生成保存有与源语言数据相对应的本地语言数据的资源文件,并将应用程序中的每一处需要本地化的文本内容均修改为对应的宏命令。在程序运行时,该宏命令根据源语言数据在资源文件中查找与该源语言数据对应的本地语言数据,再使用查找到的本地语言数据替换该源语言数据,进而完成对源语言数据的本地化。然而,由于上述语言本地化方法需要将应用程序中的每一处文本内容均修改为对应的宏命令,而一个应用程序中往往存在大量需要进行语言本地化的文本,并且,在应用程序新增代码的场景中,还需要特别针对新增代码中涉及的文本内容进行修改,因此该方法效率较低且容易遗漏。
技术实现思路
本申请提供一种应用程序语言本地化方法、装置、电子设备及存储介质,以解决已有的语言本地化方法效率较低且容易遗漏的问题。第一方面,本申请提供一种一种应用程序语言本地化方法,所述方法包括:当应用程序开始运行时,获取目标API传给目标类的源语言数据,所述目标API用于调用所述目标类,所述目标类用于执行语言文本设置;从预先生成的资源库中查找所述源语言数据对应的本地语言数据;根据所述本地语言数据调用所述目标API,以使所述目标类根据所述本地语言数据执行语言文本设置。进一步,所述获取目标API传给目标类的源语言数据,包括:从所述应用程序提供的API中识别目标API;在所述目标API处设置HOOK点;当应用程序开始运行时,通过设置的HOOK点获取目标API传给目标类的源语言数据。进一步,所述根据本地语言数据调用所述目标API,以使所述目标类根据所述本地语言数据执行语言文本设置,包括:调用所述目标API,并将所述本地语言数据传给所述目标API;所述目标API将所述本地语言数据传入所述目标类;所述目标类根据所述本地语言数据执行语言文本设置。进一步,按照下述步骤,生成资源库:获取所述应用程序的源语言数据;根据每个所述源语言数据获取与所述源语言数据对应的至少一种本地语言数据;建立所述源语言数据与所述至少一种本地语言数据的对应关系;生成包含所述源语言数据、所述本地语言数据以及所述对应关系的资源库。进一步,所述目标API至少包括:应用程序用户界面中标签的文本设置API;应用程序用户界面中按钮的标题设置API;应用程序用户界面中视图控制器的标题设置API;应用程序用户界面中图像文件的文件名设置API;应用程序用户界面中输入框的文本设置API。第二方面,本申请还提供一种一种应用程序语言本地化装置,所述装置包括:获取单元,用于当应用程序开始运行时,获取目标API传给目标类的源语言数据,所述目标API用于调用所述目标类,所述目标类用于执行语言文本设置;查找单元,用于从预先生成的资源库中查找所述源语言数据对应的本地语言数据;调用单元,用于根据所述本地语言数据调用所述目标API,以使所述目标类根据所述本地语言数据执行语言文本设置。进一步,所述获取单元,包括:识别子单元,用于从所述应用程序提供的API中识别目标API;设置子单元,用于在所述目标API处设置HOOK点;获取子单元,用于当应用程序开始运行时,通过设置的HOOK点获取目标API传给目标类的源语言数据。进一步,所述调用单元具体用于:调用所述目标API,并将所述本地语言数据传给所述目标API;所述目标API将所述本地语言数据传入所述目标类;所述目标类根据所述本地语言数据执行语言文本设置。进一步,所述装置还包括生成单元,用于按照下述步骤,生成资源库:获取所述应用程序的源语言数据;根据每个所述源语言数据获取与所述源语言数据对应的至少一种本地语言数据;建立所述源语言数据与所述至少一种本地语言数据的对应关系;生成包含所述源语言数据、所述本地语言数据以及所述对应关系的资源库。第三方面,本申请还提供一种一种电子设备,包括:存储器,用于存储程序指令;处理器,用于调用并执行所述存储器中的程序指令,以实现第一方面任一项所述的应用程序语言本地化方法。第四方面,本申请还提供一种一种存储介质,其特征在于,所述存储介质中存储有计算机程序,当应用程序语言本地化装置的至少一个处理器执行所述计算机程序时,应用程序语言本地化装置执行第一方面任一项所述的应用程序语言本地化方法。由以上技术方案可知,本申请实施例提供一种应用程序语言本地化方法、装置、电子设备及存储介质,所述方法中,当应用程序开始运行时,获取目标API传给目标类的源语言数据,从而在源语言数据到达目标类之前将其拦截;然后,从预先生成的资源库中查找所述源语言数据对应的本地语言数据;再根据所述本地语言数据调用所述目标API,以使所述目标类根据所述本地语言数据执行语言文本设置。由于本申请方法无需修改应用程序中的文本内容,因此效率较高,不会发生遗漏。另外,本申请方法还可适用于被编译过的代码和可视化代码。附图说明为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请根据一示例性实施例示出的应用程序语言本地化方法流程图;图2为本申请根据一示例性实施例示出的语言本地化过程示意图;图3为本申请根据一示例性实施例示出的应用程序语言本地化装置框图;图4为本申请实施例提供的电子设备的硬件结构示意图。具体实施方式为了使本
的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。在已有技术提供的一种语言本地化的方法中,需预先生成保存有与源语言数据相对应的本地语言数据的资源文件,并将应用程序中的每一处需要本地化的文本内容均修改为对应的宏命令。在程序运行时,本文档来自技高网
...

【技术保护点】
1.一种应用程序语言本地化方法,其特征在于,所述方法包括:/n当应用程序开始运行时,获取目标API传给目标类的源语言数据,所述目标API用于调用所述目标类,所述目标类用于执行语言文本设置;/n从预先生成的资源库中查找所述源语言数据对应的本地语言数据;/n根据所述本地语言数据调用所述目标API,以使所述目标类根据所述本地语言数据执行语言文本设置。/n

【技术特征摘要】
1.一种应用程序语言本地化方法,其特征在于,所述方法包括:
当应用程序开始运行时,获取目标API传给目标类的源语言数据,所述目标API用于调用所述目标类,所述目标类用于执行语言文本设置;
从预先生成的资源库中查找所述源语言数据对应的本地语言数据;
根据所述本地语言数据调用所述目标API,以使所述目标类根据所述本地语言数据执行语言文本设置。


2.根据权利要求1所述的方法,其特征在于,所述获取目标API传给目标类的源语言数据,包括:
从所述应用程序提供的API中识别目标API;
在所述目标API处设置HOOK点;
当应用程序开始运行时,通过设置的HOOK点获取目标API传给目标类的源语言数据。


3.根据权利要求1所述的方法,其特征在于,所述根据本地语言数据调用所述目标API,以使所述目标类根据所述本地语言数据执行语言文本设置,包括:
调用所述目标API,并将所述本地语言数据传给所述目标API;
所述目标API将所述本地语言数据传入所述目标类;
所述目标类根据所述本地语言数据执行语言文本设置。


4.根据权利要求1所述的方法,其特征在于,按照下述步骤,生成资源库:
获取所述应用程序的源语言数据;
根据每个所述源语言数据获取与所述源语言数据对应的至少一种本地语言数据;
建立所述源语言数据与所述至少一种本地语言数据的对应关系;
生成包含所述源语言数据、所述本地语言数据以及所述对应关系的资源库。


5.根据权利要求1所述的方法,其特征在于,所述目标API至少包括:
应用程序用户界面中标签的文本设置API;
应用程序用户界面中按钮的标题设置API;
应用程序用户界面中视图控制器的标题设置API;
应用程序用户界面中图像文件的文件名设置API;
应用程序用户界面中输入框的文本设置API。


6.一种应用程序语言本地化装置,其特征...

【专利技术属性】
技术研发人员:张达理吕庆春彭飞
申请(专利权)人:五八有限公司
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1