本发明涉及多语言配置领域,尤其涉及一种客户端多语言动态配置方法及系统。
背景技术:
一些应用程序往往需要提供给多个国家的人群使用,或者一个国家有多种语言,这就要求应用程序所展示的文字、图片等信息,能够让讲不同语言的用户读懂、看懂。进而提出为同一个应用程序适配多种语言,也即是国际化。语言国际化之所以又叫做语言本地化,这是站在每个用户的角度而言的,是指能够让用户本地、本土人群能够看懂的语言信息,顾名思义,语言本地化。
2、客户端的多语言是存储在以不同国家或者地区代号的文件中的,应用根据当前系统的语言环境或者用户在应用中选择的语言来选择对应的语言文件来个app提供文案。
3、一个移动端应用的文案往往是很庞大的,如果碰上业务上需要支持更多国家或者地区的预约,这个文案的数量还要庞大。多语言通过开发为每种语言手动查找并替换是非常耗时的。所以需要一个平台能够统一得管理多语言,能对多语言进行增删改查,在打包应用的时候替换为后台配置的多语言文件。
技术实现要素:
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的目的在于提供一种客户端多语言动态配置方法及系统,其能够统一得管理多语言,能对多语言进行增删改查,在打包应用的时候替换为后台配置的多语言文件。
为实现上述目的,本发明第一方面的技术方案提供了一种客户端多语言动态配置方法,包括以下步骤:
获取多语言平台上生成的多语言文本;所述多语言文本包括默认语言文本以及对应每个所述默认语言文本的其他语言文本;
根据所述多语言文本替换对应所述客户端的多语言文件;
根据所述默认语言文本与所述其他语言文本的key值进行比较,得到对应所述其他语言文本中的异常值;
根据所述默认语言文本校正所述异常值,得到其他语言校正文本。
在上述技术方案中,优选地,根据所述默认语言文本与所述其他语言文本进行比较,得到对应所述其他语言文本中的异常值,包括以下步骤:
根据所述默认语言文本与所述其他语言文本的key值集合的差集,得到其他语言文本中的缺失语言;
根据所述默认语言文本与所述其他语言文本中相同key值的转义符号信息,校验转义符号是否错误。
在上述任一技术方案中,优选地,校正所述异常值包括:所述缺失语言替换为所述默认语言文本中的默认语言;所述转义符号信息错误时,将所述其他语言文本中的转义符号替换为所述默认语言文本中相同的转义符号。
在上述任一技术方案中,优选地,根据所述多语言文本替换对应所述客户端的多语言文件,包括以下步骤:
获取对应述客户端的多个目标key值以及对应每个所述目标key值的所述多语言文件;
将每个所述目标key值的所述多语言文件替换为所述多语言文本。
在上述任一技术方案中,优选地,所述客户端为ios端,还包括以下步骤:
根据所述ios端的权限提示文本获取权限key值;
根据所述权限key值将所述多语言文本写入权限提示文本中,得到权限提示多语言文本。
本发明第二方面的技术方案提供了一种客户端多语言动态配置系统,包括:
获取模块,被设置为用于获取多语言平台上生成的多语言文本;所述多语言文本包括默认语言文本以及对应每个所述默认语言文本的其他语言文本;
第一写入模块,被设置为用于根据所述多语言文本替换对应所述客户端的多语言文件;
比较模块,被设置为用于根据所述默认语言文本与所述其他语言文本的key值进行比较,得到对应所述其他语言文本中的异常值;
校正模块,被设置为用于根据所述默认语言文本校正所述异常值,得到其他语言校正文本。
在上述技术方案中,优选地,比较模块包括:
缺失语言查找单元,被设置为用于根据所述默认语言文本与所述其他语言文本的key值集合的差集,得到所述其他语言文本中的缺失语言,并将所述缺失语言替换为所述默认语言文本中的默认语言;
转义错误查找单元,被设置为用于根据所述默认语言文本与所述其他语言文本中相同key值的转义符号信息,校验转义符号是否错误,并在所述转义符号信息错误时,将所述其他语言文本中的转义符号替换为所述默认语言文本中相同的转义符号。
在上述任一技术方案中,优选地,第一写入模块包括:
获取单元,被设置为用于获取对应述客户端的多个目标key值以及对应每个所述目标key值的所述多语言文件;
写入单元,被设置为用于将每个所述目标key值的所述多语言文件替换为所述多语言文本。
在上述任一技术方案中,优选地,所述客户端为ios端,还包括:
权限获取模块,被设置为用于根据所述ios端的权限提示文本获取权限key值;
第二写入模块,被设置为用于根据所述权限key值将所述多语言文本写入权限提示文本中,得到权限提示多语言文本。
本发明提供的客户端多语言动态配置方法及系统与现有技术相比的优点在于:能够统一得管理多语言,能对多语言进行增删改查,在打包应用的时候替换为后台配置的多语言文件;将多语言文件压缩包存储到云端服务器上,能够根据客户端的脚本从云端服务器上下载;能够在其他语言文本中如果有缺失的翻译文案,可以使用默认语言进行补全,并且可通过校验多语言中转义符是否存在错误而保证多语言文本的合法性。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了本发明一个实施例所涉及客户端多语言动态配置方法的流程框图;
图2示出了本发明另一个实施例所涉及步骤s3的流程框图;
图3示出了本发明第三个实施例所涉及步骤s2的流程框图;
图4示出了本发明第四个实施例所涉及客户端多语言动态配置方法的流程框图;
图5示出了本发明第五个实施例所涉及客户端多语言动态配置系统的结构框图;
图6示出了本发明第六个实施例所涉及比较模块的结构框图;
图7示出了本发明第七个实施例所涉及第一写入模块的结构框图;
图8示出了本发明第八个实施例所涉及客户端多语言动态配置系统的结构框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不限于下面公开的具体实施例的限制。
下面参照图1至图8描述根据本发明一些实施例的客户端多语言动态配置方法及系统。
如图1所示,按照本发明一个实施例的客户端多语言动态配置方法,包括以下步骤:
s1,获取多语言平台上生成的多语言文本;所述多语言文本包括默认语言文本以及对应每个所述默认语言文本的其他语言文本;
在该步骤中,多语言平台以多个多语言字段为维度,并且在每个多语言字段下对应有不同翻译文本,生成多语言文本,并可在多语言平台上对多语言文本进行增删改查;该多语言文本的内容有5-10mb的大小,多语言平台将多语言文本压缩包存储到oos上。
s2,根据所述多语言文本替换对应所述客户端的多语言文件;
在该步骤中,在进行客户端的多语言文件进行替换时,首先将多语言文本从oos上下载多语言文本的压缩包,并进行解压,最后将客户端上的语言文件替换成从oos下载的多语言文本。
s3,根据所述默认语言文本与所述其他语言文本的key值进行比较,得到对应所述其他语言文本中的异常值;
s4,根据所述默认语言文本校正所述异常值,得到其他语言校正文本。
在该实施例中,建立一个多语言平台,能够统一得管理多语言,能对多语言进行增删改查,在打包应用的时候替换为后台配置的多语言文件。
如图2所示,按照本发明另一个实施例的客户端多语言动态配置方法,s3,根据所述默认语言文本与所述其他语言文本进行比较,得到对应所述其他语言文本中的异常值,包括以下步骤:
s31,根据所述默认语言文本与所述其他语言文本的key值集合的差集,得到其他语言文本中的缺失语言;
s32,根据所述默认语言文本与所述其他语言文本中相同key值的转义符号信息,校验转义符号是否错误。
具体地,校正所述异常值包括:
所述缺失语言替换为所述默认语言文本中的默认语言;
所述转义符号信息错误时,将所述其他语言文本中的转义符号替换为所述默认语言文本中相同的转义符号。
在该实施例中,通过对其他语言文本中异常值进行校正,能够在其他语言文本中如果有缺失的翻译文案,可以使用默认语言进行补全,并且可通过校验多语言中转义符是否存在错误而保证多语言文本的合法性。
如图3所示,按照本发明第三个实施例的客户端多语言动态配置方法,s2,根据所述多语言文本替换对应所述客户端的多语言文件,包括以下步骤:
s21,获取对应述客户端的多个目标key值以及对应每个所述目标key值的所述多语言文件;
s22,将每个所述目标key值的所述多语言文件替换为所述多语言文本。
在该实施例中,当客户端中存在多个目标key值的时候,会根据不同多语言文本的key值前缀写入到对应目标key值的语言文件中。
如图4所示,按照本发明第四个实施例的客户端多语言动态配置方法,包括以下步骤:
s1,获取多语言平台上生成的多语言文本;所述多语言文本包括默认语言文本以及对应每个所述默认语言文本的其他语言文本;
s2,根据所述多语言文本替换对应ios端的多语言文件;
s3,根据所述默认语言文本与所述其他语言文本的key值进行比较,得到对应所述其他语言文本中的异常值;
s4,根据所述默认语言文本校正所述异常值,得到其他语言校正文本;
s5,根据所述ios端的权限提示文本获取权限key值;
s6,根据所述权限key值将所述多语言文本写入权限提示文本中,得到权限提示多语言文本。
在该实施例中,通过扫描ios端的info.plsit文件,获取当前工程中使用到的权限key值,用key值拿到各个语言的多语言文本后写入对应的infoplist.strings文件中,来多语言化应用启动时的权限提示文本。
如图5所示,按照本发明第五个实施例的客户端多语言动态配置系统100,包括:
获取模块10,被设置为用于获取多语言平台上生成的多语言文本;所述多语言文本包括默认语言文本以及对应每个所述默认语言文本的其他语言文本;
第一写入模块20,被设置为用于根据所述多语言文本替换对应所述客户端的多语言文件;
比较模块30,被设置为用于根据所述默认语言文本与所述其他语言文本的key值进行比较,得到对应所述其他语言文本中的异常值;
校正模块40,被设置为用于根据所述默认语言文本校正所述异常值,得到其他语言校正文本。
如图6所示,按照本发明第六个实施例的客户端多语言动态配置系统100,比较模块30包括:
缺失语言查找单元31,被设置为用于根据所述默认语言文本与所述其他语言文本的key值集合的差集,得到所述其他语言文本中的缺失语言,并将所述缺失语言替换为所述默认语言文本中的默认语言;
转义错误查找单元32,被设置为用于根据所述默认语言文本与所述其他语言文本中相同key值的转义符号信息,校验转义符号是否错误,并在所述转义符号信息错误时,将所述其他语言文本中的转义符号替换为所述默认语言文本中相同的转义符号。
如图7所示,按照本发明第七个实施例的客户端多语言动态配置系统100,第一写入模块20包括:
获取单元21,被设置为用于获取对应述客户端的多个目标key值以及对应每个所述目标key值的所述多语言文件;
写入单元22,被设置为用于将每个所述目标key值的所述多语言文件替换为所述多语言文本。
如图8所示,按照本发明第五个实施例的客户端多语言动态配置系统100,包括:
获取模块10,被设置为用于获取多语言平台上生成的多语言文本;所述多语言文本包括默认语言文本以及对应每个所述默认语言文本的其他语言文本;
第一写入模块20,被设置为用于根据所述多语言文本替换对应ios端的多语言文件;
比较模块30,被设置为用于根据所述默认语言文本与所述其他语言文本的key值进行比较,得到对应所述其他语言文本中的异常值;
校正模块40,被设置为用于根据所述默认语言文本校正所述异常值,得到其他语言校正文本;
权限获取模块50,被设置为用于根据所述ios端的权限提示文本获取权限key值;
第二写入模块60,被设置为用于根据所述权限key值将所述多语言文本写入所述权限提示文本中,得到权限提示多语言文本。
本发明提供的客户端多语言动态配置方法及系统与现有技术相比的优点在于:能够统一得管理多语言,能对多语言进行增删改查,在打包应用的时候替换为后台配置的多语言文件;将多语言文件压缩包存储到云端服务器上,能够根据客户端的脚本从云端服务器上下载;能够在其他语言文本中如果有缺失的翻译文案,可以使用默认语言进行补全,并且可通过校验多语言中转义符是否存在错误而保证多语言文本的合法性。
在本发明中,术语“第一”、“第二”、“第三”仅用于描述的目的,而不能理解为指示或暗示相对重要性;术语“多个”则指两个或两个以上,除非另有明确的限定。术语“安装”、“相连”、“连接”、“固定”等术语均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;“相连”可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
本发明的描述中,需要理解的是,术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或单元必须具有特定的方向、以特定的方位构造和操作,因此,不能理解为对本发明的限制。
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
1.一种客户端多语言动态配置方法,其特征在于,包括以下步骤:
获取多语言平台上生成的多语言文本;所述多语言文本包括默认语言文本以及对应每个所述默认语言文本的其他语言文本;
根据所述多语言文本替换对应所述客户端的多语言文件;
根据所述默认语言文本与所述其他语言文本的key值进行比较,得到对应所述其他语言文本中的异常值;
根据所述默认语言文本校正所述异常值,得到其他语言校正文本。
2.根据权利要求1所述的客户端多语言动态配置方法,其特征在于,根据所述默认语言文本与所述其他语言文本进行比较,得到对应所述其他语言文本中的异常值,包括以下步骤:
根据所述默认语言文本与所述其他语言文本的key值集合的差集,得到其他语言文本中的缺失语言;
根据所述默认语言文本与所述其他语言文本中相同key值的转义符号信息,校验转义符号是否错误。
3.根据权利要求1所述的客户端多语言动态配置方法,其特征在于,校正所述异常值包括:
所述缺失语言替换为所述默认语言文本中的默认语言;
所述转义符号信息错误时,将所述其他语言文本中的转义符号替换为所述默认语言文本中相同的转义符号。
4.根据权利要求1至3中任一项所述的客户端多语言动态配置方法,其特征在于,根据所述多语言文本替换对应所述客户端的多语言文件,包括以下步骤:
获取对应述客户端的多个目标key值以及对应每个所述目标key值的所述多语言文件;
将每个所述目标key值的所述多语言文件替换为所述多语言文本。
5.根据权利要求1至3中任一项所述的客户端多语言动态配置方法,其特征在于,所述客户端为ios端,还包括以下步骤:
根据所述ios端的权限提示文本获取权限key值;
根据所述权限key值将所述多语言文本写入所述权限提示文本中,得到权限提示多语言文本。
6.一种客户端多语言动态配置系统,其特征在于,包括:
获取模块,被设置为用于获取多语言平台上生成的多语言文本;所述多语言文本包括默认语言文本以及对应每个所述默认语言文本的其他语言文本;
第一写入模块,被设置为用于根据所述多语言文本替换对应所述客户端的多语言文件;
比较模块,被设置为用于根据所述默认语言文本与所述其他语言文本的key值进行比较,得到对应所述其他语言文本中的异常值;
校正模块,被设置为用于根据所述默认语言文本校正所述异常值,得到其他语言校正文本。
7.根据权利要求6所述的客户端多语言动态配置系统,其特征在于,比较模块包括:
缺失语言查找单元,被设置为用于根据所述默认语言文本与所述其他语言文本的key值集合的差集,得到所述其他语言文本中的缺失语言,并将所述缺失语言替换为所述默认语言文本中的默认语言;
转义错误查找单元,被设置为用于根据所述默认语言文本与所述其他语言文本中相同key值的转义符号信息,校验转义符号是否错误,并在所述转义符号信息错误时,将所述其他语言文本中的转义符号替换为所述默认语言文本中相同的转义符号。
8.根据权利要求6或7所述的客户端多语言动态配置系统,其特征在于,第一写入模块包括:
获取单元,被设置为用于获取对应述客户端的多个目标key值以及对应每个所述目标key值的所述多语言文件;
写入单元,被设置为用于将每个所述目标key值的所述多语言文件替换为所述多语言文本。
9.根据权利要求6或7所述的客户端多语言动态配置系统,其特征在于,所述客户端为ios端,还包括:
权限获取模块,被设置为用于根据所述ios端的权限提示文本获取权限key值;
第二写入模块,被设置为用于根据所述权限key值将所述多语言文本写入所述权限提示文本中,得到权限提示多语言文本。
技术总结