语言配置数据表的配置方法、多语言配置方法及相关装置与流程

文档序号:24872340发布日期:2021-04-30 12:44阅读:46来源:国知局
语言配置数据表的配置方法、多语言配置方法及相关装置与流程
本申请涉及计算机
技术领域
,尤其涉及一种语言配置数据表的配置方法、多语言配置方法及相关装置。
背景技术
:随着技术的发展和人们需求的提高,许多程序需要提供国际版供不同用户使用。大部分已有的程序没有提供多语言支持,在进行多语言配置时需要大幅度修改原有的程序代码,耗时较长;并且现有技术通过人工对程序代码中的中文进行翻译,在配置的语言种类较多时,例如上百种,通过人工进行翻译耗时较长,难度较大。技术实现要素:本申请提供了一种语言配置数据表的配置方法、多语言配置方法及相关装置,用于解决现有技术在进行多语言配置时,存在需要大幅度修改原有的程序代码,以及通过人工对程序代码中的中文进行翻译,耗时较长,难度较大的技术问题。有鉴于此,本申请第一方面提供了一种语言配置数据表的配置方法,包括:将待翻译的中文文本写入到配置文件,并给所述配置文件中的所述中文文本配置一个枚举值;编译时,通过访问翻译接口将所述配置文件中的中文文本翻译成多种语言文本,并给各所述语言文本生成对应的一个枚举值;基于各所述语言文本、所述中文文本和对应的所述枚举值生成语言配置数据表。可选的,所述配置文件为proto3协议文件。本申请第二方面提供了一种多语言配置方法,应用于客户端,包括:获取用户的当前语言环境,并根据所述当前语言环境确定当前语言枚举值;将所述当前语言枚举值发送给服务器,使得所述服务器从语言配置数据表中获取所述当前语言枚举值对应的语言文本,并将该语言文本发送给所述客户端,其中,所述语言配置数据表通过第一方面任一种所述的语言配置数据表的配置方法得到;加载所述语言文本。可选的,获取用户的当前语言环境,并根据所述当前语言环境确定当前语言枚举值,之后还包括:根据所述当前语言枚举值加载所述当前语言枚举值对应的ui背景。可选的,获取用户的当前语言环境,包括:根据用户的当前ip所在地获取所述用户的当前语言环境。本申请第三方面提供了一种语言配置数据表的配置装置,包括:配置单元,用于将待翻译的的中文文本写入到配置文件,并给所述配置文件中的所述中文文本配置一个枚举值;翻译单元,用于编译时,通过访问翻译接口将所述配置文件中的中文文本翻译成多种语言文本,并给各所述语言文本生成对应的一个枚举值;生成单元,用于基于各所述语言文本、所述中文文本和对应的所述枚举值生成语言配置数据表。本申请第四方面提供了一种客户端,包括:获取单元,用于获取用户的当前语言环境,并根据所述当前语言环境确定当前语言枚举值;发送单元,用于将所述当前语言枚举值发送给服务器,使得所述服务器从语言配置数据表中获取所述当前语言枚举值对应的语言文本,并将该语言文本发送给所述客户端,其中,所述语言配置数据表通过第一方面任一种所述的语言配置数据表的配置方法得到;加载单元,用于加载所述语言文本。可选的,所述加载单元还用于:根据所述当前语言枚举值加载所述当前语言枚举值对应的ui背景。可选的,所述获取单元具体用于:根据用户的当前ip所在地获取所述用户的当前语言环境;根据所述当前语言环境确定当前语言枚举值。本申请第五方面提供了一种多语言配置系统,包括第四方面任一种所述的客户端和服务器;所述客户端和所述服务器通信连接。从以上技术方案可以看出,本申请具有以下优点:本申请提供了一种语言配置数据表的配置方法,包括:将待翻译的的中文文本写入到配置文件,并给配置文件中的中文文本配置一个枚举值;编译时,通过访问翻译接口将配置文件中的中文文本翻译成多种语言文本;给各语言文本生成对应的一个枚举值,基于各语言文本、中文文本和对应的枚举值生成语言配置数据表。本申请中,将待翻译的中文文本写入到配置文件中,编译时,通过访问翻译接口来自动将配置文件中的中文文本翻译成多种语言文本,避免人工翻译,提高了翻译效率;并且为中文文本和其他语言文本分别配置一个枚举值,不同的枚举值代表不同的语言,使得在进行多语言配置时,可以根据枚举值来加载对应的语言文本,不需要大幅度修改原有的代码,提高了多语言配置效率,解决了现有技术在进行多语言配置时,存在需要大幅度修改原有的程序代码,以及通过人工对程序代码中的中文进行翻译,耗时较长,难度较大的技术问题。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。图1为本申请实施例提供的一种语言配置数据表的配置方法的一个流程示意图;图2为本申请实施例提供的一种多语言配置方法的一个流程示意图;图3为本申请实施例提供的一种语言配置数据表的配置装置的一个结构示意图;图4为本申请实施例提供的一种客户端的一个结构示意图;图5为本申请实施例提供的一种多语言配置系统的一个结构示意图。具体实施方式本申请提供了一种语言配置数据表的配置方法、多语言配置方法及相关装置,用于解决现有技术在进行多语言配置时,存在需要大幅度修改原有的程序代码,以及通过人工对程序代码中的中文进行翻译,耗时较长,难度较大的技术问题。为了使本
技术领域
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。为了便于理解,请参阅图1,本申请提供的一种语言配置数据表的配置方法的一个实施例,包括:步骤101、将待翻译的中文文本写入到配置文件,并给配置文件中的中文文本配置一个枚举值。现有技术配置多语言程序时,将代码或页面中的中文找出来,再手工一条一条去翻译成英文、德文等多种语言,并且前后端需要分开配置多语言数据库,即需要配置两份多语言数据库,工作量加倍,并且随着语言种类的增加,配置时间成本和难度也逐渐增加,还需要考虑兼容旧代码、旧系统等,难度大,速度慢。为了解决上述问题,本申请实施例优选采用node的proto3协议文件作为配置文件,当然也可以采用其他的文件,在此不再一一举例。将前后端需要翻译的中文文本写入到该配置文件中,并给配置文件中的中文文本配置一个枚举值,前后端共用一套语言枚举值。其中,配置文件中的中文文本包含多条中文提示,将每个中文提示映射得到唯一的文本id,即每个文本id对应一条中文提示。步骤102、编译时,通过访问翻译接口将配置文件中的中文文本翻译成多种语言文本,并给各语言文本生成对应的一个枚举值。在编译时,可以嵌入预设的脚本,通过该脚本读取该配置文件,并访问谷歌翻译或百度翻译或有道翻译等翻译接口,将该配置文件中的中文文本翻译成多种语言文本,相应的,每个文本id对应多种语言映射,这样在不同的语言文本中,同一文本id对应的文本内容是一致的,只是用不同的语言进行表示。给各语言文本生成对应的一个枚举值,即一个枚举值对应一种语言文本,这样可以通过语言枚举值确定对应的语言文本,前后端数据交互只需增加一个枚举值参数,用于确定当前用户的语言环境。可以将用于表示语言的枚举值参数放到用户属性上,这样全局代码就可以知道当前语言环境,根据当前的枚举值参数就可以切换语言文本,不需要修改中间代码,可以快速实现多语言配置。步骤103、基于各语言文本、中文文本和对应的枚举值生成语言配置数据表。将各语言文本及各语言文本对应的枚举值,中文文本及中文文本对应的枚举值以及文本id通过宽表进行存储,生成语言配置数据表。请参考表1提供的一种语言配置数据表,以中文文本和英文文本为例进行举例说明,假设中文文本对应的枚举值为zw,英文文本对应的枚举值为yw,文本id为001所对应的中文提示为“欢迎进入游戏”,文本id为002所对应的中文提示为“是否切换账号?”。表1语言配置数据表zwyw001欢迎进入游戏welcometojointhegame002是否切换账号?whethertoswitchaccount?通过上述语言配置数据表,可以根据枚举值确定当前语言文本,根据枚举值和文本id对具体的提示进行语言切换。后续增加新的中文提示时,只需增加新的文本id,然后可以通过编译一键完成,以更新语言配置数据表,不需要进行大幅度调整,大大减少了维护成本,节省时间。本申请实施例中,将待翻译的中文文本写入到配置文件中,编译时,通过访问翻译接口来自动将配置文件中的中文文本翻译成多种语言文本,避免人工翻译,提高了翻译效率;并且为中文文本和其他语言文本分别配置一个枚举值,不同的枚举值代表不同的语言,使得在进行多语言配置时,可以根据枚举值来加载对应的语言文本,不需要大幅度修改原有的代码,提高了多语言配置效率,解决了现有技术在进行多语言配置时,存在需要大幅度修改原有的程序代码,以及通过人工对程序代码中的中文进行翻译,耗时较长,难度较大的技术问题。以上问本申请提供的一种语言配置数据表的配置方法的一个实施例,以下为本申请提供的一种多语言配置方法的一个实施例。请参考图2,本申请实施例提供的一种多语言配置方法,应用于客户端,包括:步骤201、获取用户的当前语言环境,并根据当前语言环境确定当前语言枚举值。现有技术,需要用户手动选择当前语言,例如某款游戏,用户进入该游戏后,在菜单栏选择要切换的语言,或者在下载该游戏时选择语言环境,需要用户去手动选择,用户体验性不高。基于此,本申请实施例在用户加载游戏前,客户端根据用户的当前ip所在地获取该用户的当前语言环境,进而根据用户的当前语言环境确定当前语言枚举值,客户端将当前语言枚举值关联上用户。步骤202、将当前语言枚举值发送给服务器,使得服务器从语言配置数据表中获取当前语言枚举值对应的语言文本,并将该语言文本发送给客户端。客户端将用户的当前语言枚举值发送给服务器,服务器中有配置好的语言配置数据表,服务器从该语言配置数据表根据用户的当前语言枚举值获取该当前语言枚举值对应的语言文本,将该语言文本发送给客户端。其中,语言配置数据表通过前述方法实施例中的语言配置数据表的配置方法得到,在此不再对言配置数据表的配置过程进行赘述。本申请实施例中的多语言配置方法兼容旧代码旧系统,在服务器通过接口返回语言文本时转换成指定语言,每个客户端可以共用同一个接口实现语言切换。步骤203、加载语言文本。客户端接收到服务器发送的语言文本后加载该语言文本。进一步,可以在客户端增加一个i18n的国际化支持库,可以在图片组件中添加多语言的配置信息,实现一个图片只需配置不同语言下的背景就能动态加载当前语言环境对应的背景图,不需要修改代码去更改图片组的背景。客户端在确定用户的当前语言枚举值后,可以根据当前语言枚举值匹配不同语言环境下的配置数据,进而加载不同语言环境下的ui背景。本申请实施例中,客户端通过根据用户的ip所在确定用户的当前语言环境,可以避免用户手动选择当前语言,提高了用户体验性;客户端只需上传用户的当前语言枚举值,通过服务器从语言配置数据表中查询当前语言枚举值对应的语言文本并返回,客户端加载返回的语言文本就可实现语言转换,该方法可以高效、快捷地实现语言切换。以上为本申请提供的一种多语言配置方法的一个实施例,以下为本申请提供的一种语言配置数据表的配置装置的一个实施例。请参考图3,本申请实施例提供的一种语言配置数据表的配置装置,包括:配置单元301,用于将待翻译的的中文文本写入到配置文件,并给配置文件中的中文文本配置一个枚举值;翻译单元302,用于编译时,通过访问翻译接口将配置文件中的中文文本翻译成多种语言文本,并给各语言文本生成对应的一个枚举值;生成单元303,用于基于各语言文本、中文文本和对应的枚举值生成语言配置数据表。本申请实施例中,将待翻译的中文文本写入到配置文件中,编译时,通过访问翻译接口来自动将配置文件中的中文文本翻译成多种语言文本,避免人工翻译,提高了翻译效率;并且为中文文本和其他语言文本分别配置一个枚举值,不同的枚举值代表不同的语言,使得在进行多语言配置时,可以根据枚举值来加载对应的语言文本,不需要大幅度修改原有的代码,提高了多语言配置效率,解决了现有技术在进行多语言配置时,存在需要大幅度修改原有的程序代码,以及通过人工对程序代码中的中文进行翻译,耗时较长,难度较大的技术问题。以上为本申请提供的一种语言配置数据表的配置装置的一个实施例,以下为本申请提供的一种客户端的一个实施例。请参考图4,本申请实施例提供的一种客户端,包括:获取单元401,用于获取用户的当前语言环境,并根据当前语言环境确定当前语言枚举值;发送单元402,用于将当前语言枚举值发送给服务器,使得服务器从语言配置数据表中获取当前语言枚举值对应的语言文本,并将该语言文本发送给客户端,其中,语言配置数据表通过前述方法实施例中的语言配置数据表的配置方法得到;加载单元403,用于加载语言文本。作为进一步地改进,加载单元403还用于:根据当前语言枚举值加载当前语言枚举值对应的ui背景。作为进一步地改进,获取单元401具体用于:根据用户的当前ip所在地获取用户的当前语言环境;根据当前语言环境确定当前语言枚举值。本申请实施例中,客户端通过根据用户的ip所在地确定用户的当前语言环境,可以避免用户手动选择当前语言,提高了用户体验性;客户端只需上传用户的当前语言枚举值,通过服务器从语言配置数据表中查询当前语言枚举值对应的语言文本并返回,客户端加载返回的语言文本就可高效、快捷地实现语言转换。请参考图5,本申请实施例还提供一种多语言配置系统,包括前述实施例中的客户端和服务器;客户端和服务器通信连接。本申请实施例中,客户端根据用户的当前ip所在地获取用户的当前语言环境,进而确定当前语言枚举值,可以避免用户手动选择转换语言,提高用户体验;服务器在接收到客户端发送的当前语言枚举值后,从语言配置数据表中获取当前语言枚举值对应的语言文本,并将该语言文本发送给客户端,其中,服务器可以根据前述方法实施例中的语言配置数据表的配置方法来生成语言配置数据表,可以避免人工翻译,提高翻译效率;客户端加载返回的语言文本,实现语言转换,在进行多语言配置时,可以根据枚举值来加载对应的语言文本,不需要大幅度修改原有的代码,提高了多语言配置效率,解决了现有技术在进行多语言配置时,存在需要大幅度修改原有的程序代码,以及通过人工对程序代码中的中文进行翻译,耗时较长,难度较大的技术问题。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以通过一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文全称:read-onlymemory,英文缩写:rom)、随机存取存储器(英文全称:randomaccessmemory,英文缩写:ram)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1