数据转换方法、装置及计算机可读存储介质与流程

文档序号:28709396发布日期:2022-01-29 13:55阅读:74来源:国知局
数据转换方法、装置及计算机可读存储介质与流程

1.本技术涉及数据处理技术领域,具体涉及一种数据转换方法、装置及计算机可读存储介质。


背景技术:

2.随着互联网技术的不断发展,全球已经进入了互联网时代。优秀的互联网产品,也会受到全球各个国家用户的欢迎。
3.由于不同国家之间的文化差异,互联网产品在进入不同国家时,为了适应该国用户的使用,需要对互联网产品进行本地化。其中,本地化最重要的环节就是产品语言的本地化。例如,互联网产品在中国使用时,其产品语言就应当为简体中文;当该互联网产品投入日本市场时,其产品语言就应当转换为日文。
4.然而,本技术的发明人在研究中发现,部分互联网产品,尤其是基于unity的手机游戏应用程序,在项目运行时转换语言的效率较低。


技术实现要素:

5.本技术实施例提供一种数据转换方法、装置及计算机可读存储介质,该方法可以提高目标应用的数据转换效率,从而可以提升应用在运行时语言转换的效率。
6.本技术第一方面提供一种数据转换方法,方法包括:
7.获取目标应用中需要转换的源文本以及所述源文本需要转换到的目标语种;
8.从所述目标应用的资源文件中查找所述源文本对应的目标键数据;
9.在键值对集合中确定所述目标键数据对应的目标键值对,并基于所述目标键值对确定所述目标键数据对应的目标值数据,所述目标值数据包括所述源文本对应的多个语种的候选文本;
10.从所述多个语种的候选文本中确定所述目标语种对应的目标文本;
11.将所述源文本转换为所述目标文本。
12.相应的,本技术第二方面提供一种数据转换装置,装置包括:
13.获取单元,用于获取目标应用中需要转换的源文本以及所述源文本需要转换到的目标语种;
14.查找单元,用于从所述目标应用的资源文件中查找所述源文本对应的目标键数据;
15.第一确定单元,用于在键值对集合中确定所述目标键数据对应的目标键值对,并基于所述目标键值对确定所述目标键数据对应的目标值数据,所述目标值数据包括所述源文本对应的多个语种的候选文本;
16.第二确定单元,用于从所述多个语种的候选文本中确定所述目标语种对应的目标文本;
17.转换单元,用于将所述源文本转换为所述目标文本。
18.在一些实施例中,所述获取单元,包括:
19.接收子单元,用于接收语种转换指令,所述语种转换指令携带目标语种信息;
20.第一确定子单元,用于根据所述语种转换指令确定需要进行文本转换的源文本以及所述源文本需要转换到的目标语种。
21.在一些实施例中,所述查找单元,包括:
22.第二确定子单元,用于从所述目标应用的资源文件中确定与所述源文本对应的文本组件;
23.第一查找子单元,用于在所述文本组件中查找所述源文本对应的目标键数据。
24.在一些实施例中,所述查找单元,包括:
25.第三确定子单元,用于从所述目标应用的资源文件中确定与所述源文本对应的功能函数;
26.第二查找子单元,用于在所述功能函数的参数中查找与所述源文本对应的目标键数据。
27.在一些实施例中,所述获取单元,包括:
28.获取子单元,用于获取与所述目标应用关联的关联应用对应的关联语种信息;
29.第四确定子单元,用于基于所述关联语种信息确定所述源文本需要转换到的目标语种。
30.本技术第三方面提供一种数据转换方法,所述方法包括:
31.确定目标应用中需要进行数据转换的源文本;
32.获取所述源文本对应的多个语种的候选文本;
33.根据所述多个语种的候选文本生成键值对,所述键值对包括键数据以及与所述键数据对应的值数据,所述值数据包括所述多个语种的候选文本;
34.在所述目标应用的资源文件中查找所述源文本对应的目标文本数据;
35.将所述目标文本数据转换为所述键数据。
36.相应地,本技术第四方面提供一种数据转换装置,装置包括:
37.确定单元,用于确定目标应用中需要进行数据转换的源文本;
38.获取单元,用于获取所述源文本对应的多个语种的候选文本;
39.生成单元,用于根据所述多个语种的候选文本生成键值对,所述键值对包括键数据以及与所述键数据对应的值数据,所述值数据包括所述多个语种的候选文本;
40.查找单元,用于在所述目标应用的资源文件中查找所述源文本对应的目标文本数据;
41.转换单元,用于将所述目标文本数据转换为所述键数据。
42.在一些实施例中,所述生成单元,包括:
43.获取子单元,用于获取所述源文本对应的目标文本数据在所述目标应用的资源文件中的存储地址;
44.生成子单元,用于以所述存储地址为键数据并以所述多个语种的候选文本为值数据生成键值对。
45.在一些实施例中,所述查找单元,包括:
46.第一确定子单元,用于确定所述源文本对应的目标用户界面;
47.第一查找子单元,用于在所述目标应用的资源文件中查找所述用户界面对应的预制体数据;
48.第二确定子单元,用于在所述预制体数据对应的多个文本组件中确定所述源文本对应的目标组件,并确定所述目标组件中包含的数据为所述源文本对应的目标文本数据。
49.在一些实施例中,所述第二确定子单元,包括:
50.处理模块,用于对所述预制体数据进行实例化处理,得到所述预制体数据对应的应用对象;
51.查找模块,用于调用预设函数对所述应用对象包含的多个组件进行文本组件查找,得到所述应用对象的多个文本组件;
52.第一确定模块,用于在所述多个文本组件中确定与所述源文本对应的目标组件。
53.在一些实施例中,所述查找单元,包括:
54.第二查找子单元,用于在所述目标应用的资源文件中查找与所述源文本对应的目标函数;
55.第一获取子单元,用于获取所述目标函数的参数中与所述源文本对应的目标参数,得到所述源文本对应的目标文本数据。
56.在一些实施例中,所述确定单元,包括:
57.第二获取子单元,用于获取所述目标应用的资源文件;
58.第三确定子单元,用于基于预设语种在所述资源文件中确定所述目标应用中需要进行数据转换的源文本。
59.在一些实施例中,所述第三确定子单元,包括:
60.提取模块,用于提取所述资源文件中的文本数据;
61.编码模块,用于按照预设编码规则对所述文本数据进行编码;
62.第二确定模块,用于确定编码结果处于预设范围的文本为所述目标应用中需要进行数据转换的源文本。
63.本技术第五方面还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本技术第一方面或本技术第三方面所提供的数据转换方法中的步骤。
64.本技术第六方面提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可以在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本技术第一方面或本技术第三方面所提供的数据转换方法中的步骤。
65.本技术第七方面提供一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在存储介质中。计算机设备的处理器从存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行第一方面或本技术第三方面所提供的数据转换方法中的步骤。
66.本技术实施例提供的数据转换方法,通过获取目标应用中需要转换的源文本以及源文本需要转换到的目标语种;从目标应用的资源文件中查找源文本对应的目标键数据;在键值对集合中确定目标键数据对应的目标键值对,并基于目标键值对确定目标键数据对应的目标值数据,目标值数据包括源文本对应的多个语种的候选文本;从多个语种的候选文本中确定目标语种对应的目标文本;将源文本转换为目标文本。
67.以此,通过构建以源文本的多语种文本为值数据的键值对,并将键值对中的键数据存储在目标应用的资源文件中,使得目标应用在运行中可以根据数据转换需求转换源文本对应的键数据的输出值,从而快速实现对目标应用中源文本的转换,提高了目标应用中文本的转换效率,从而提升了应用在运行时的语言转换效率。
附图说明
68.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
69.图1是本技术中数据转换方法的一个场景示意图;
70.图2是本技术提供的数据转换方法的流程示意图;
71.图3是本技术提供的数据转换方法的另一流程示意图;
72.图4a是本技术提供的数据转换方法在游戏场景下的使用界面示意图;
73.图4b是本技术的数据转换方法在游戏场景下的另一使用界面示意图;
74.图4c是本技术的数据转换方法在游戏场景下的又一使用界面示意图;
75.图4d是本技术的数据转换方法在游戏场景下的又一使用界面示意图;
76.图4e是本技术的数据转换方法在游戏场景下的又一使用界面示意图;
77.图5是本技术提供的数据转换方法的又一流程示意图;
78.图6是本技术提供的数据转换方法的又一流程示意图;
79.图7是本技术提供的语种转换处理工具的处理界面示意图;
80.图8是本技术提供的语种转换处理工具的另一处理界面示意图;
81.图9是本技术提供的数据转换装置的结构示意图;
82.图10是本技术提供的数据转换装置的另一结构示意图;
83.图11是本技术提供的计算机设备的结构示意图。
具体实施方式
84.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
85.本发明实施例提供一种数据转换方法、装置以及计算机可读存储介质。其中,该数据转换方法可以使用于数据转换装置中。该数据转换装置可以集成在计算机设备中,该计算机设备可以是终端也可以是服务器。其中,终端可以为手机、平板电脑、笔记本电脑、智能电视、穿戴式智能设备、个人计算机(pc,personal computer)等设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。其中,服务器可以为区块链中的节点。
86.请参阅图1,为本技术提供的数据转换方法的一场景示意图。如图所示,计算机设备a获取目标应用中需要转换的源文本以及源文本需要转换到的目标语种;从目标应用的资源文件中查找源文本对应的目标键数据;在键值对集合中确定目标键数据对应的目标键值对,并基于目标键值对确定目标键数据对应的目标值数据;从多个语种的候选文本中确定目标语种对应的目标文本;将源文本转换为目标文本。
87.需要说明的是,图1所示的数据转换方法的场景示意图仅仅是一个示例,本技术实施例描述的训练数据生成场景是为了更加清楚地说明本技术的技术方案,并不构成对于本技术提供的技术方案的限定。本领域普通技术人员可知,随着训练数据生成场景演变和新业务场景的出现,本技术提供的技术方案对于类似的技术问题,同样适用。
88.基于上述实施场景以下分别进行详细说明。
89.在相关技术中,当将应用程序推向国际市场时,应用程序的语言就需要满足不同国家的语言需要进行适应性转换。目前部分应用程序在对应用程序的文件进行打包时已经确定了需要使用的使用的语言,在应用程序运行过程中难以对应用程序的语言进行动态转换。为了解决上述部分应用在运行过程中语言转换效率低的问题,本技术提供了一种数据转换方法,以提高应用中数据转换的效率。
90.为方便对本技术技术方案的理解,下面对本技术提供的方案进行详细介绍。
91.实施例一
92.本技术实施例将从数据转换装置的角度进行描述,该数据转换装置可以集成在计算机设备中。其中,计算机设备可以是终端也可以是服务器。其中,终端可以为手机、平板电脑、笔记本电脑、智能电视、穿戴式智能设备、个人计算机(pc,personal computer)以及车载终端等设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。如图2所示,为本技术提供的数据转换方法的流程示意图,该方法包括:
93.步骤101,获取目标应用中需要转换的源文本以及源文本需要转换到的目标语种。
94.其中,目标应用可以为任一互联网应用程序,例如游戏应用程序、线上购物应用程序、视频播放应用程序以及即时通信应用程序等。
95.目标应用中需要转换的源文本可以是一个或多个指定的文本数据,以目标应用为游戏应用程序为例,则源文本可以是游戏登录界面中的文本、游戏运行过程中关卡选项中的文本或者游戏角色之间的对话文本等。在一些情况下,源文本也可以是游戏整个运行过程中涉及到的所有文本数据,例如,当游戏中的文本数据都为中文文本,而游戏用户为以法语为母语的用户时,此时用户为得到更好的游戏体验,则希望将游戏运行过程中涉及到的所有中文文本转换为法文文本。此时法文即为源文本需要转换到的目标语种。
96.数据转换装置对目标应用中需要转换的源文本和源文本需要转换到的目标语种进行获取,可以是基于数据转换装置中预设的运行规则进行获取,也可以是响应于一定的操作指令进行获取。例如,若数据转换装置中预设了一个到达预设时间自动进行数据转换的逻辑,则在时间达到上述预设时间时,数据转换装置便自动获取目标应用中需要转换的源文本以及源文本需要转换到的目标语种。
97.在一些实施例中,获取目标应用中需要转换的源文本以及源文本需要转换到的目标语种,包括:
98.1、接收语种转换指令,语种转换指令携带目标语种信息;
99.2、根据语种转换指令确定需要进行文本转换的源文本以及源文本需要转换到的目标语种。
100.其中,语种转换指令可以由其他终端发送至数据转换装置中,也可以是由用户在目标应用的运行界面或者设置界面上进行设置操作而人为输入至数据转换装置中。例如,仍然以目标应用以游戏应用程序为例,在游戏应用程序的运行过程中,用户通过在游戏应用程序的设置界面进行语言设置,将当前游戏应用程序的文本语种由中文简体转换为日文。那么此时数据转换装置便接收到用户输入的文本语种转换操作,并将其转换为语种转换指令,该语种转换指令携带的目标语种信息便为日文。
101.其中,语种转换指令可以为对目标应用中所有文本进行语种转换的指令,也可以为针对选中的目标文本进行语种转换的指令。例如,在游戏运行时,用户可以长按显示界面中的某一文本信息进行选中,然后弹出对该文本的处理界面,在处理界面中选中语种转换便可以将该选中文本转换为其他语种的文本,或者也可以选择将游戏应用中所有与选中的文本相同的文本全部进行语种转换。
102.在一些实施例中,获取源文本需要转换到的目标语种的步骤,包括:
103.a、获取与目标应用关联的关联应用对应的关联语种信息;
104.b、基于关联语种信息确定源文本需要转换到的目标语种。
105.其中,在本技术实施例中,数据转换装置还可以根据其他与目标应用关联的关联应用程序确定源文本需要转换到的目标语种。例如,部分应用的登录并非通过账号密码进行登录,也可能是通过其他应用的账号进行第三方账号登录的。具体地,当目标应用为游戏应用程序时,可以通过即时通讯应用程序账号进行第三方账号登录,那么此时该即时通讯应用程序便为与目标应用关联的关联应用。此时可以进一步获取即时通讯应用程序当前所使用的文本的语种信息,并以此作为关联应用对应的关联语种信息。然后进一步基于关联语种信息确定源文本需要转换到的目标语种。
106.当然,在一些实施例中,目标应用与关联应用之间的关联关系也可以由其他方式确定,比如预先设定目标应用于关联应用之间的关联关系。
107.步骤102,从目标应用的资源文件中查找源文本对应的目标键数据。
108.其中,目标应用的资源文件包括目标应用的应用程序中的所有文件,可以理解为下载得到的一个应用程序的文件资源包。仍然以目标应用为游戏应用程序为例,其资源文件可以包括游戏运行的脚本代码文件、游戏剧情相关的代码文件以及游戏中对象(人物、场景及道具)相关的资源文件。在本实施例中,需要进行数据转换的源文本在目标应用的资源文件中并非以具体的文本形式进行存储,而是以一个键数据的形式进行存储。该键数据与其对应的源文本可以组成一个键值对,源文本为该键值对中的值数据。
109.具体地,在本技术实施例中,应用程序的文件中存在多语言表,该多语言表包括多个键值对,即构成了一个键值对集合。其中,键值对即key-value,又可以称为名值对或属性值对,是在计算系统和应用程序中的一种基本的数据表示。这是一种开放的数据结构,可以使得在无需修改应用程序的现有代码或数据的情况下实现多种输出的扩展。其中,key也可
以称为键数据,value可以称为值数据。键数据为值数据的指代,或者可以称为值数据的标签数据。在一个键值对中,键数据与值数据相对应,有确定的映射关系,一个键值对中有一个全局唯一的键数据,该键数据对应的值数据可以为一个也可以为多个。
110.例如,本技术实施例中多语言表中的一个键值对示例如下:键数据为abc,值数据为“你好、hello、
こんにちは
、”(分别为中文、英文、日文和韩文对应的你好)。即在本技术实施例中,当对应用程序进行开发时,无需将“你好、hello、
こんにちは
、”这些确定语种对应的文本(值数据)编写进代码文件中,而是将这些确定语种文本对应的键数据,即前述abc编写进应用程序的代码文件中。然后,在应用程序运行时,可以根据需要确定该键数据对应的具体值数据,即在“你好、hello、
こんにちは
、”中确定一个语种的文本,例如“你好”,然后便可以在应用程序的显示界面中显示“你好”。
111.在目标应用运行过程中,当运行到/读取到资源文件中的键数据时,会确定该键数据对应的值数据,并输出/展示该值数据对应的输出结果。当运行到源文本对应的键数据时,便会输出源文本。
112.因此,在本技术实施例中,在确定了需要进行数据转换的源文本后,可以进一步确定源文本在资源文件中对应的键数据。当源文本为多个时,则可以确定每一源文本在资源文件中对应的键数据。确定源文本在资源文件中对应的键数据,可以根据源文本与键数据之间的映射关系进行确定。在确定了源文本对应的键数据后,需要进一步确定键数据在资源文件中的存储位置。
113.在一些实施例中,从目标应用的资源文件中查找源文本对应的目标键数据,包括:
114.1、从目标应用的资源文件中确定与源文本对应的文本组件;
115.2、在文本组件中查找源文本对应的目标键数据。
116.其中,当源文本为目标应用中对象相关的文本时,可以确定源文本对应的应用对象,然后在应用对象的多个文本组件中确定与原文本对应的文本组件,最后进一步在该文本组件中查找源文本对应的目标键数据。
117.其中,确定源文本对应的应用对象的过程,可以先确定源文本对应的用户界面,并查找该用户界面对应的预制体,将该预制体实例化,便得到了源文本对应的应用对象。其中,预制体(prefab)为unity(一种实时内容开发平台)中的一种常用的资源类型,可以被重复使用。预制体可以被实例化为应用对象,例如游戏对象。
118.在一些实施例中,从目标应用的资源文件中查找源文本对应的目标键数据,包括:
119.a、从目标应用的资源文件中确定与源文本对应的功能函数;
120.b、在功能函数的参数中查找与源文本对应的目标键数据。
121.其中,当源文本为目标应用的脚本代码中的文本时,可以先从目标应用的资源文件中确定与源文本对应的功能函数。然后在该功能函数中查找与源文件对应的参数,并在该参数中查找源文件对应的目标键数据。
122.步骤103,在键值对集合中确定目标键数据对应的目标键值对,并基于目标键值对确定目标键数据对应的目标值数据。
123.其中,键值对集合中包含至少一个键值对,每个键值对可以包括一个键数据和一
个与之对应的值数据。其中每个键数据可以为一个全局唯一的数据以与其他键数据进行区分,该键数据可以为一个编码也可以为根据该键数据在目标应用的资源文件中的存储地址生成的数据。每个值数据可以包含该键数据对应的文本的多个语种的候选文本。
124.那么在确定了需要进行数据转换的源文本对应的目标键数据后,便可以在键值对集合中确定该目标键数据对应的目标键值对。该目标键值对包含了目标键数据以及与目标键数据对应的目标值数据,目标值数据包括了源文本的多个语种的候选文本。
125.步骤104,从多个语种的候选文本中确定目标语种对应的目标文本。
126.其中,确定了源文本对应的多个语种的候选文本,便可以进一步确定这多个语种的候选文本中与目标语种对应的目标文本,该目标文本便为源文本需要转换到的文本。
127.例如,当源文本为“你好”,那么该源文本对应的键值对中的值数据便可以为“你好、hello、
こんにちは
、”(分别为中文、英文、日文和韩文对应的你好)。若获取到的源文本需要转换到的目标语种为英文时,便可以确定源文本需要转换到的文本为“hello”。
128.步骤105,将源文本转换为目标文本。
129.其中,此处将源文本转换为目标文本,可以为将源文本对应的键值对应的输出值调整为目标文本。即目标应用的资源文件并未发生改变,但目标应用的显示界面中显示的文本信息已经发生了改变。
130.如此,无需对目标应用的资源文件进行变更,仅需将源文本对应的键数据的输出值进行调整,便可以对目标应用中源文本的进行数据转换,从而可以大大提升目标应用的数据转换效率。
131.根据上述描述可知,本技术实施例提供的数据转换方法,通过获取目标应用中需要转换的源文本以及源文本需要转换到的目标语种;从目标应用的资源文件中查找源文本对应的目标键数据;在键值对集合中确定目标键数据对应的目标键值对,并基于目标键值对确定目标键数据对应的目标值数据,目标值数据包括源文本对应的多个语种的候选文本;从多个语种的候选文本中确定目标语种对应的目标文本;将源文本转换为目标文本。
132.以此,通过构建以源文本的多语种文本为值数据的键值对,并将键值对中的键数据存储在目标应用的资源文件中,使得目标应用在运行中可以根据数据转换需求转换源文本对应的键数据的输出值,从而快速实现对目标应用中源文本的转换,提高了目标应用中源文本的转换效率。
133.实施例二
134.本技术还提供了一种数据转换方法,该方法可以使用于计算机设备中,该计算机设备可以为终端也可以为服务器。而且,在本实施例中,以目标应用为基于unity(一种实时内容开发平台)的手机游戏应用程序为例对本技术提供的数据转换方法进行详细介绍。如图3所示,为本技术提供的数据转换方法的另一流程示意图,方法具体包括:
135.步骤201,计算机设备接收对目标游戏应用程序进行语种转换的指令。
136.其中,在本实施例中,目标游戏应用程序可以为基于unity的手机游戏应用程序,计算机设备可以为移动终端。当目标游戏应用程序在运行的过程中,计算机设备可以接收用户输入的对目标游戏进行语种转换的指令。
137.具体地,用户可以通过在目标游戏应用程序的设置界面对目标游戏应用程序的语
种信息进行设置,从而对目标游戏应用程序中的所有文本进行语种转换。用户也可以在目标用户界面中对特定的文本进行选中,并输入对该选中文本的语种转换指令。用户还可以对多个用户界面中的多个选中文本或者一个用户界面中的多个选中文本进行文本转换。
138.其中,用户可以通过对计算机设备的显示界面的触控操作来输入文本转换指令,也可以通过语音输入文本转换指令,计算机设备可以通过语音识别的方法接收用户输入的文本转换指令。
139.步骤202,计算机设备根据语种转换指令确定需要转换的源文本以及源文本需要转换到的目标语种。
140.其中,计算机设备接收到用户输入的语种转换指令,并据此确定需要转换的源文本。当语种转换指令确定需要转换的文本是目标游戏应用程序的所有文本时,则确定源文本为目标游戏应用的所有文本;当语种转换指令确定需要转换的文本是一个或多个文本时,则确定需要转换的源文本为一个或多个源文本。即源文本的数量可以为一个,也可以为多个,甚至可以是目标游戏应用中的所有文本。
141.进一步地,计算机设备还可以从接收到的语种转换指令中确定源文本需要转换到的目标语种。
142.步骤203,当源文本为游戏对象对应的文本时,计算机设备确定源文本对应的目标游戏对象。
143.其中,对于目标游戏应用程序中待进行数据转换的任一源文本,其可能是游戏对象对应的文本,也可能是游戏代码对应的文本。其中,游戏对象具体可以为由预制体进行实例化得到的游戏对象,该游戏对象可以包括多个组件,其中,多个组件中包括文本组件和其他组件。游戏代码包括游戏运行脚本代码以及游戏玩法或游戏剧情代码,游戏代码包括多个功能函数,每个功能函数包括多个参数。
144.对于任一源文本,可以先判断其是游戏对象对应的文本还是游戏代码对应的文本。当该源文本为游戏对象对应的文本时,计算机设备可以先确定源文本对应的目标游戏对象。具体地,可以先确定源文本对应的目标用户界面,并进一步根据目标用户界面确定该用户界面对应的目标预制体,然后根据该目标预制体确定源文本对应的目标游戏对象。
145.在本技术中,任一源文本都具有一个与之对应的键数据,该键数据存储于游戏对象数据或者游戏代码数据中。每一个键数据都存在一个与之对应的值数据,该值数据包括源文本的多个语种的候选数据。计算机设备可以对键数据对应的输出值进行调整以转换源文本的语种。
146.步骤204,计算机设备在目标游戏对象的多个组件中查找与源文本对应的目标文本组件,并在目标文本组件中确定源文本对应的第一键数据。
147.其中,目标游戏对象中包含了多个组件,可以采用文本组件查找函数对目标游戏对象包含的多个组件进行处理,得到目标游戏对象的多个文本组件。然后,进一步在多个文本组件中确定与源文本对应的目标文本组件,并进一步在目标文本组件中确定源文本对应的键数据,并将该键数据确定为第一键数据。
148.步骤205,当源文本为游戏代码对应的文本时,计算机设备确定源文本对应的目标功能函数。
149.其中,当判定源文本为游戏代码对应的文本时,计算机设备在游戏代码中的功能
函数中查找与源文本对应的目标功能函数。
150.具体地,计算机设备可以根据源文本的文本数据确定与源文本对应的目标功能函数的函数名,然后根据该函数名确定与源文本对应的目标功能函数。
151.步骤206,计算机设备在目标功能函数的参数中确定源文本对应的第二键数据。
152.其中,计算机设备在游戏应用程序的游戏代码中确定了源文本对应的目标功能函数后,进一步确定功能函数的参数中与源文本对应的目标参数,并根据该目标参数确定源文本对应的键数据,并将该键数据确定为第二键数据。
153.步骤207,计算机设备在键值对集合中确定键数据对应的值数据。
154.其中,计算机设备在确定了需要进行语种转换的源文本的键数据后,可以进一步在键值对集合中确定键数据对应的值数据。此处键数据可以为前述第一键数据,也可以为前述第二键数据。其中,键值对集合中包括至少一个键值对,每个键值对均有一个键数据以及与该键数据对应的值数据,每个值数据均包含了该键数据对应的文本的多个语种的候选文本。键值对集合也可以称为多语言文本,该键值对集合(多语言文本)可以为预先设置并以一个单独的文件存储于游戏应用程序的资源文件中。
155.因此,根据每一待进行语种更换的源文本对应的键数据,可以确定该源文本对应的值数据,也就是得到了每一源文本对应的多个语种的候选文本。
156.步骤208,计算机设备在值数据中包含的多个语种的候选文本中确定目标语种对应的目标文本,并将源文本转换为目标文本。
157.进一步地,计算机设备可以在源文本对应的多语种的候选文本中确定与目标语种对应的目标文本,并将源文本转换为目标文本。其中,将源文本转换为目标文本,可以为将源文本对应的键数据对应的输出值由源文本转换为目标文本,即只根据目标语种调整键数据的标签即可实现对源文本的转换,实现游戏应用程序显示界面中文本语种的转换。
158.下面,以一具体示例来对本技术提供的数据转换方法的使用过程进行详细描述。如图4a~4e所示,为本技术提供的数据转换方法在游戏场景下的使用界面示意图。
159.图4a为一手机游戏应用程序的角色选择界面示意图,该界面示意图中包括设置控件100和多个文本显示控件200。在游戏过程中,用户可以在计算机设备的显示界面上点击设置控件100进入当前游戏应用的设置界面。如图4b所示,设置控件100下包括4个一级子控件:音量设置子控件110、语言设置子控件120、章节设置子控件130以及高级子控件140。其中,音量设置子控件110可以用于设置游戏背景音乐音量和游戏中角色对话音量的相对强弱;语言设置子控件120可以用于设置游戏应用中显示文本的语言;章节设置子控件130可以用于调整游戏章节;高级子控件可以提供更多其他个性化的设置功能。
160.如图4a和4b所示,当前游戏界面中的文本显示控件200中显示的文本为中文文本,若此时用户希望把文本显示控件中的中文文本切换为日文文本,则可以在图4b中显示的一级子控件列表中点击语言设置子控件120,以显示备选语种。如图4c所示,当用户点击语言设置子控件120后,便可以显示3个二级子控件:中文子控件121、日文子控件122以及英文子控件123。用户可以点击任意一个二级子控件,以将文本显示控件200中的文本进行语种转换。
161.例如,当用户点击日文子控件122时。终端接收到用户的设置指令,该指令包含将当前游戏应用中的所有显示的中文文本由中文转换为日文。此时计算机设备便可以根据该
指令获取到所有需要进行语种转换的中文源文本,这些源文本包括了图4a中的文本显示控件200中的中文文本,例如包括:斯卡、战斗力、批量升级以及角色详情。然后,计算机设备逐一确定每一需要进行语言转换的源文本为游戏对象对应的文本还是游戏代码对应的文本。当源文本为游戏对象对应的文本时,则查找该文本对应的游戏对象,并在游戏对象的文本组件中找到该源文本对应的目标文本组件,以及在目标文本组件中确定该源文本对应的键数据;当源文本为代码对应的文本时,则可以查找源文本对应的目标功能函数,然后在目标功能函数的参数中确定源文本对应的键数据。
162.计算机设备获取到每一源文本对应的键数据后,便可以在当前游戏应用程序中存储的多语言表中查询每一键数据对应的值数据,并在每一值数据包含的多语种的文本中确定日文对应的文本,并将日文文本赋值给键数据,从而将源文本转换为其对应的日文文本。如图4d所示,为图4a经过语种转换后得到的显示界面示意图。如图4d所示,文本显示控件200中的文本已经全部由中文转换为日文。当然,用户也可以设置转换为其他语种的文本,此处仅为一个示例。
163.在另外一些实施例中,用户也可以单独对每个文本显示控件中的文本进行语种转换。例如,如图4e所示,为本技术提供的数据转换方法在游戏场景下的又一使用界面示意图。在游戏运行过程中,用户可以对任一文本显示控件200进行选择,例如长按任一文本显示控件以对该文本显示控件中显示的文本进行语种转换。例如,当用户长按包含“角色详情”文本的文本显示控件200,便会展示该文本显示控件200的2个一级子控件:语言转换子控件210和颜色转换子控件220。用户可以通过选中语言转换子控件210对该文本显示控件中显示的文本进行语种转换,也可以通过选中切换颜色子控件220对该文本显示控件中显示的文本的字体颜色进行转换。
164.当用户选中语言转换子控件210后,也会展示二级子控件,二级子控件包括多个语种对应的子控件,用户可以选择任一语种对应的二级子控件以完成对“角色详情”这个文本的语种转换。
165.具体地,当计算机设备接收到将“角色详情”这个文本转换为日文的指令时。计算机设备可以先辨别该源文本对应的是游戏对象还是代码文件,然后在游戏对象的文本组件中或者在代码文件的函数参数中找到“角色详情”这个源文本对应的目标键数据。进一步地,在多语言表中找到该目标键数据对应的值数据,并在值数据包含的多个语种的文本中确定日文对应的目标文本。最后将目标文本赋值给该目标键数据,从而将游戏界面中显示的“角色详情”转换为日文。
166.根据上述描述可知,本技术实施例提供的数据转换方法,计算机设备通过接收对目标游戏应用程序进行语种转换的指令,根据语种转换指令确定需要转换的源文本以及源文本需要转换到的目标语种,当源文本为游戏对象对应的文本时,计算机设备确定源文本对应的目标游戏对象,在目标游戏对象的多个组件中查找与源文本对应的目标文本组件,并在目标文本组件中确定源文本对应的第一键数据,当源文本为游戏代码对应的文本时,计算机设备确定源文本对应的目标功能函数,在目标功能函数的参数中确定源文本对应的第二键数据,在键值对集合中确定键数据对应的值数据,在值数据中包含的多个语种的候选文本中确定目标语种对应的目标文本,并将源文本转换为目标文本。
167.以此,计算机设备可以在游戏应用程序运行过程中根据需要进行语种转换的源文
本确定其在游戏应用程序的资源文件中存储的键数据,并根据源文本需要转换到的目标语种在值数据包含的多个语种的候选文本中确定目标文本,从而可以快速将源文本转换为目标文本。本方法可以提升游戏应用程序中文本语种转换的效率。
168.实施例三
169.本技术另外还提供了一种数据转换方法,该方法可以应用于数据转换装置中,该数据转换装置可以集成在计算机设备中,计算机设备可以为终端也可以为服务器。其中,终端可以为手机、平板电脑、笔记本电脑、智能电视、穿戴式智能设备、个人计算机(pc,personal computer)以及车载终端等设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。如图5所示,为本技术提供的数据转换方法的流程示意图,该方法包括:
170.步骤301,确定目标应用中需要进行数据转换的源文本。
171.其中,目标应用可以为任意互联网应用,例如游戏应用程序、线上购物应用程序、视频播放应用程序以及即时通信应用程序等。
172.为了适应多地区不同语种的使用需求,或者为适应不同用户的个性化需求,需要对目标应用中的部分或全部文本数据进行语种转换。在相关技术中,一般会在应用程序的项目初期确定项目需要投向的市场,并据此确定文本的语种,例如项目需要投向中国市场,则确定文本的语种为中文,然后将中文文本打包进应用的资源文件中。其中,此处资源文件为包含目标应用所有数据的文件,可以理解为下载目标应用得到的下载资源包。如此,当需要对部分或全部的文本进行转换时,就需要在资源文件中提取出这些文本,并进行更换。而且,更换后若再发生需求变更,就又需要再次进行文本提取和更换,在部分应用中文本提取难度较大,导致文本语种转换效率低下。
173.为解决上述应用中文本语种转换效率低的问题,本技术提供一种数据转换方法,该方法可以提高应用中数据转换效率,从而可以提高应用中文本语种转换效率。下面对本技术提供的数据转换方法作进一步详细介绍。
174.首先,对目标应用中需要进行数据转换的源文本进行确定,该源文本可以为目标应用中的部分文本,也可以为目标应用中的所有文本。
175.在一些实施例中,确定目标应用中需要进行数据转换的源文本,包括:
176.1、获取目标应用的资源文件;
177.2、基于预设语种在资源文件中确定目标应用中需要进行数据转换的源文本。
178.在本技术实施例中,可以根据预设语种快速确定需要进行数据转换的源文本。具体地,可以先获取目标应用的资源文件,然后在资源文件中查找符合预设语种的文本,并根据该预设语种的文本确定源文本。如此,可以快速确定目标应用中需要进行语种转换的源文本。
179.在一些实施例中,基于预设语种在资源文件中确定目标应用中需要进行数据转换的源文本,包括:
180.2.1、提取资源文件中的文本数据;
181.2.2、按照预设编码规则对文本数据进行编码;
182.2.3、确定编码结果处于预设范围的文本为目标应用中需要进行数据转换的源文本。
183.在本实施例中,可以通过对目标应用的资源文件中的文本数据进行编码,然后根据编码结果的范围来自动判断资源文件的文本数据中是否包含预设语种的文本。
184.具体地,可以通过unicode(统一码,也叫单一码或万国码,是计算机领域里的一项业界标准,包括字符集、编码方案等)或者ascii(american standard code for information interchange,美国信息交换标准代码)等方法来对资源文件中的文本数据进行编码,再根据编码结果确定处于预设范围的文本为预设语种的文本,或确定其为需要进行数据转换的源文本。
185.步骤302,获取源文本对应的多个语种的候选文本。
186.其中,确定了需要进行数据转换的源文本,进一步可以获取源文本对应的多个语种的候选文本。其中,该多个语种可以为预先设置的语种,例如源文本为中文,预先设置了其候选文本的语种为英文、日文和韩文。该多个语种也可以为根据目标应用的常用应用场景确定的语种,例如可以根据目标应用的服务器部署和分区确定其面向的客户为中国、英国、日本和韩国的用户,那么便可以自动确定源文本对应的候选文本的语种包括英文、日文和韩文。
187.其中,候选文本为在不同语种下对源文本的翻译文本。例如,当源文本为中文“你好”时,那么候选文本可以为“hello、
こんにちは
、”。然后,遍历每一源文本,生成每一源文本对应的多语种的候选文本。
188.步骤303,根据多个语种的候选文本生成键值对。
189.其中,对于每一需要进行数据转换的源文本,可以生成该源文本对应的键值对。该键值对包括一个键数据和一个值数据,该值数据为源文本对应的多语种的候选文本,该键数据可以为一个能够与其他源文本的键数据进行区分的数据,即每一源文本对应的键数据都是全局唯一的。
190.具体地,该键数据可以为一个全局唯一的阿拉伯数字标签,也可以为一个全局唯一的随机字符串,或者该键数据也可以为其他方法生成的全局唯一的数据。
191.在一些实施例中,根据多个语种的候选文本生成键值对,包括:
192.1、获取源文本对应的目标文本数据在目标应用的资源文件中的存储地址;
193.2、以存储地址为键数据并以多个语种的候选文本为值数据生成键值对。
194.在本技术实施例中,可以根据源文本对应的目标文本数据在目标应用的资源文件中存储地址生成键数据。具体地,在目标应用的资源文件中,源文本可以是以源文本本身格式进行存储,也可以以其他格式例如代码进行存储,无论以何种格式存储,在目标应用的资源文件中都存储有源文本对应的一个目标文本数据,该目标文本数据与源文本对应,而且该目标文本数据的存储地址(或存储路径)是全局唯一的。
195.因此,在本技术中,可以根据源文本对应的目标文本数据在目标应用的资源文件中的存储地址生成键数据,并以源文本对应的多语种候选文本为值数据生成键值对。然后,遍历每一源文本,生成每一源文本对应的键值对,得到键值对集合。该键值对集合也可以称为多语言表,该多语言表可以单独存储于目标应用的资源文件中。
196.本实施例根据源文本对应的目标文本数据在目标应用的资源文件中的存储位置
生成键数据,可以方便后续根据源文本的键数据快速找到其在目标应用的资源文件中的存储位置。
197.步骤304,在目标应用的资源文件中查找源文本对应的目标文本数据。
198.其中,源文本对应的目标文本数据为在目标应用的资源文件中存储的与源文本对应的数据,该目标文本数据可以是直接以源文本的形式存储在目标应用的资源文件中的,也可以为按照一定的编码规则对源文本进行编码得到相应的代码,再将该代码存储在目标应用的资源文件中。
199.具体地,当源文本对应的键值对中的键数据为按照源文本对应的目标文本数据的存储地址生成时,则可以直接根据源文本对应的键数据在资源文件中查找到源文本对应的目标文本数据。
200.在一些实施例中,在目标应用的资源文件中查找源文本对应的目标文本数据,包括:
201.1、确定源文本对应的目标用户界面;
202.2、在目标应用的资源文件中查找用户界面对应的预制体数据;
203.3、在预制体数据对应的多个文本组件中确定源文本对应的目标组件,并确定目标组件中包含的数据为源文本对应的目标文本数据。
204.其中,在一些实施例中,当目标应用为基于unity的手机游戏应用程序时,目标应用的资源文件一般会包括预制体数据和代码数据,代码数据又包括了游戏脚本代码以及游戏玩法/游戏剧情代码。预制体数据和代码数据中存储的源文本对应的目标文本数据可以对应不同的查找方法。
205.具体地,当源文本对应的目标文本数据存储于预制体数据中时,则需要先确定源文本对应的用户界面(user interface,ui),然后再确定该ui对应的预制体数据。其中一个预制体数据可能对应多个ui,但每个ui只对应一个预制体数据。进一步地,可以根据用户界面对应的预制体数据确定源文本对应的目标文本组件,并确定目标文本组件中的文本数据为源文本对应的目标文本数据。
206.在一些实施例中,在预制体数据对应的多个文本组件中确定源文本对应的目标组件,包括:
207.3.1、对预制体数据进行实例化处理,得到预制体数据对应的应用对象;
208.3.2、调用预设函数对应用对象包含的多个组件进行文本组件查找,得到应用对象的多个文本组件;
209.3.3、在多个文本组件中确定与源文本对应的目标组件。
210.其中,在本技术实施例中,在确定了源文本对应的预制体数据后,可以进一步对源文本对应的预制体数据进行实例化处理,得到预制体数据对应的应用对象。其中,应用对象包括多个组件,该多个组件中包含了多个文本组件。可以调用文本组件查询函数对应用对象中的多个组件进行查找,得到应用对象的多个文本组件,然后进一步在这多个文本组件中查找源文本对应的目标组件。
211.在基于unity的手机游戏应用程序中,由于使用较多的预制体数据,而在预制体数据中进行数据查找和提取的方式和常规对文本进行数据查找和提取的方式完全不同,采用传统文本查找和提取方式难以从预制体数据中查找到对应的文本数据。因此本技术通过将
预制体数据实例化,并在实例化后的应用对象的文本组件中查找源文本对应的目标文本数据,可以有效实现在预制体中的数据查找。
212.在一些实施例中,在目标应用的资源文件中查找源文本对应的目标文本数据,包括:
213.a、在目标应用的资源文件中查找与源文本对应的目标函数;
214.b、获取目标函数的参数中与源文本对应的目标参数,得到源文本对应的目标文本数据。
215.在本技术实施例中,当源文本对应的目标文本数据存储于代码文件中时,则可以先在目标应用的资源文件中查找与源文本对应的目标函数,然后从目标函数的参数中确定与源文本对应的目标参数,该目标参数即为源文本对应的目标文本数据。
216.步骤305,将目标文本数据转换为键数据。
217.其中,目标文本数据为存储在目标应用的资源文件中与源文本对应的数据,键数据为源文本对应的键值对中的键数据。将存储在目标应用的资源文件中的目标文本数据转换为源文本对应的键数据,可以将固定的目标文本数据转换为赋值可变的键数据。该键数据可以根据接收到的语种转换指令更改其对应的输出值。从而使得源文本可以根据用户输入的语种转换指令进行实时转换。例如源文本“你好”对应的键数据为abc,而该键数据对应的值数据为“hello、
こんにちは
、”,且abc当前的赋值为“你好”。当在目标应用的运行过程中,响应于用户输入的将源文本“你好”转换为英文的指令时,可以更改值数据abc的赋值为“hello”,那么此时源文本就被转换为“hello”,目标应用的显示界面上显示的数据也由“你好”转换为“hello”。
218.根据上述描述可知,本技术实施例提供的数据转换方法,通过确定目标应用中需要进行数据转换的源文本;获取源文本对应的多个语种的候选文本;根据多个语种的候选文本生成键值对,键值对包括键数据以及与键数据对应的值数据,值数据包括多个语种的候选文本;在目标应用的资源文件中查找源文本对应的目标文本数据;将目标文本数据转换为键数据。
219.以此,通过根据待转换的源文本数据对应的多个语种候选文本生成键值对,并将目标应用的资源文件中与源文本对应目标文本数据转换为键值对中的键数据,使得源文本能够与其对应的多个语种的候选文本之间进行自由转换,从而提升了目标应用中数据转换的效率。
220.实施例四
221.本技术还提供了一种数据转换方法,该方法可以应用于数据转换装置中,该数据转换装置可以集成在计算机设备中,计算机设备可以为终端也可以为服务器。在本实施例中,以目标应用为基于unity的手机游戏应用程序为例进行介绍。如图6所示,为本技术提供的数据转换方法的流程示意图,该方法包括:
222.步骤401,计算机设备获取游戏应用程序中所有用户界面对应的预制体数据。
223.在本实施例中,可以先确定游戏应用程序中所有需要进行语种转换的文本数据。具体包括预制体数据中的文本数据和代码数据中的文本数据,代码数据可以包括脚本代码和剧情代码。
224.对于预制体中需要进行转换的文本数据的查找,可以先查找游戏应用程序的所有
ui对应的预制体数据,其中,多个ui可以对应同一个预制体数据。例如,当游戏应用程序中包含100个ui,其对应的预制体数据可能为50个。
225.具体地,可以使用资产查找函数(assetdatabase.findassets)查找ui目录下所有预制体类型资源的全局唯一标识符(globally unique identifier,guid),得到游戏应用程序的所有ui对应的预制体的guid。进一步地,可以采用路径查找函数(assetdatabase.guidtoassetpath)循环遍历每一guid,获取到每个预制体的具体存储路径。然后,可以采用资产加载函数(assetdatabase.loadassetatpath)加载到每一存储路径上的预制体数据。
226.步骤402,计算机设备对每个预制体数据进行实例化,得到每个预制体数据对应的游戏对象。
227.对于加载到的每一个预制体数据,可以进一步通过实例化函数(prefabutility.instantiateprefab)将每一预制体数据实例化为一个游戏对象。
228.其中,实例化得到的游戏对象为根游戏对象,其可以为由多个子游戏对象组成的树状结构,而每个子游戏对象都包含了数个组件,这些组件中也包括多个文本组件,每一文本组件都包含了ui上的一个文本信息。
229.步骤403,计算机设备查找每个游戏对象中包含的文本组件。
230.对每一预制体对应的树状结构的游戏对象中的每一子游戏对象,都需要对其包含的组件进行文本组件查找。具体,可以采用文本组件查找函数(getcomponentsinchildren《xuicontrolmonolabel》)查找到每一预制体对应的所有文本组件(xuicontrolmonolabel)。
231.步骤404,计算机设备在文本组件中确定需要进行语种转换的第一文本信息。
232.进一步地,可以对每一文本组件进行分析,从文本组件的文本属性上获取到该文本组件的文本信息。
233.然后,在每一文本组件的文本信息中,进一步查找需要进行语种转换的第一文本信息。
234.具体地,若确定文本组件中的中文文本信息为需要进行语种转换的第一文本信息,则可以采用unicode编码方法对文本组件中的所有文本进行编码,然后判断编码得到的编码信息中是否存在处于0x4e00~0x9fbb范围内的编码,若存在则确定其为第一文本信息。
235.若确定文本组件中的英文文本信息为需要进行语种转换的第一文本信息,则可以采用文本匹配的方法确定文本组件中的第一文本信息。具体可以通过正则表达式来进行判断,正则表达式如下:
236.regex.matches(inputstr,"[a-za-z]")
[0237]
其中,inputstr为文本组件中的文本信息,regex.matches为匹配函数,用于将文本信息与26个英文字母的大小写进行匹配。当存在与26个字母的大小写匹配的文本信息时,确定其为第一文本信息。
[0238]
步骤405,计算机设备在代码文件中搜索目标函数以及目标函数的目标参数。
[0239]
其中,基于unity的手机游戏应用程序中除了预制体数据外还存在大量的代码文件,代码文件中包括脚本代码和剧情代码(玩法代码),代码文件中也会存在需要进行语种转换的文本信息。
[0240]
对于代码文件中的文本信息,可以通过搜索关键函数以及关键参数的方法提取相关文本。例如在剧情代码文件中,需要进行语种转换的文本信息包含在三个关键函数的关键参数中,分别是角色设置函数(setrole)的第二个参数、对话设置函数(setdialogue)的第一个参数以及章节设置函数(setchapter)的第一个参数中。
[0241]
步骤406,计算机设备在目标参数中确定需要进行语种转换的第二文本信息。
[0242]
具体地,可以依次读取剧情代码所在目录下的所有文件,使用文件读取函数(file.readalllines)读取文件的一行文本。对于该行的每一个字符,首先判断其ascii码是否大于0x20,以此来过滤一些无关的控制符。同时,将单引号替换为双引号,以此来统一文本参数(函数的文本参数前后一般以单引号和双引号包围)。接着判断是否包含前述三个函数调用,匹配字符分别为函数名加左括号,例如:setrole(。加左括号的目的在于限定setrole的函数调用,而非包含setrole文本的函数调用,例如setrolerotation中包含了setrole字符,但这个函数中不包含我们需要进行语种转换的文本。在定位到函数调用后,我们通过引号来定位函数的参数。例如,在setrole函数中,我们需要找到函数的第二个参数,则我们从setrole之后的左括号开始查找第三个和第四个双引号(前两个双引号用于包围第一个参数)。提取第三和第四个双引号之间的字符,作为需要进行文本转换的第二文本信息。
[0243]
步骤407,计算机设备根据第一文本信息和第二文本信息生成多语言表。
[0244]
确定了预制体数据中需要进行语种转换的第一文本信息和代码数据中需要进行语种转换的第二文本信息后。可以对每一需要进行语种转换的文本信息生成一个键值对(key-value),这些键值对组成了键值对集合,键值对集合也可以称为多语言表。其中,可以以每个需要进行语种转换的文本信息的存储路径作为该文本信息的key,以该文本信息的多个语种的翻译文本作为该文本信息的value。
[0245]
具体地,当需要进行语种转换的文本信息为预制体中的文本信息时,其key可以由两部分组成,一部分为根游戏对象在unity资源目录中的相对位置路径,另一部分为从跟游戏对象到文本信息所在的文本控件所在的子游戏对象的路径。这两部分相加,便得到了一个全局唯一的key,作为文本信息对应的key。
[0246]
当需要进行语种转换的文本信息为代码文件中的文本信息时,其key可以由脚本文件名+函数名+行号确定。
[0247]
步骤408,计算机设备采用多语言表中的键数据更换游戏应用程序的资源文件中对应的文本数据。
[0248]
最后,采用每一需要进行语种转换的文本信息对应的key替换该文本信息保存在目标应用的资源文件中。
[0249]
具体地,当文本信息为预制体中的文本信息时,则采用该文本信息对应的key替换预制体中的该文本信息,从而将该文本信息对应的key保存到预制体中。
[0250]
当文本信息为代码文件中的文本信息时,则采用该文本信息对应的key替换代码文件中的该文本信息,从而将文本信息对应的key保存到代码文件中。
[0251]
本技术实施例还提供了一种语种转换处理工具,如图7所示,为本技术提供的语种转换处理工具的处理界面示意图。
[0252]
该语种转换处理工具包括语言控件10,当用户点击语言控件10时,可以展开中文
控件11以及英文控件12,用户可以选择需要进行语种转换的文本对应的语种。例如当用户选择了中文,即点击了中文控件11,则确定游戏应用程序的资源文件中需要进行语种转换的文本为中文文本。那么此时若用户再点击导出预制体中文本控件20,则将预制体中的中文文本进行导出;当用户再继续点击将键数据导入预制体控件30,则会将预制体中导出的中文文本对应生成的键数据保存至预制体中。当用户点击导出脚本中文本控件40时,则自动将脚本代码中的中文文本导出;当用户点击导出剧情中文本控件50时,则可以自动将剧情中的中文文本导出。以此,可以通过该语种转换处理工具分布实现上述语种转换的各个步骤,从而可以更个性化地进行语种转换。
[0253]
本技术实施例提供的语种转换处理工具还可以具有对多语言表进行增删改查的功能。例如,如图8所示,为本技术提供的语种转换处理工具的另一处理界面示意图。其中,在游戏应用程序运行时,可以点击ui中的任一文本控件,便可以在显示页面中显示上述图8所示的处理界面,处理界面上可以显示该文本控件对应的键数据,并在文本栏90中显示该键数据当前对应的值数据。当需要删除当前键值对时,可以将文本栏90中的文本删除并留空,然后点击生成键数据控件60,便可以删除当前键值对。用户可以在文本栏90中输入文本作为值数据,然后点击生成键数据控件60,便可以在多语言表中以当前键数据添加新的键值对。当在外部直接修改多语言表时,点击下载文本控件70,就会直接更新表中对应键值的文本到文本栏90中。当需要修改ui文本内容时,在文本栏90填写修改后的内容,点击保存文本控件80,就会更新多语言表中该键数据对应的值数据。
[0254]
根据上述描述可知,本技术提供的数据转换方法,计算机设备通过获取游戏应用程序中所有用户界面对应的预制体数据,对每个预制体数据进行实例化,得到每个预制体数据对应的游戏对象,查找每个游戏对象中包含的文本组件,在文本组件中确定需要进行语种转换的第一文本信息,在代码文件中搜索目标函数以及目标函数的目标参数,在目标参数中确定需要进行语种转换的第二文本信息,根据第一文本信息和第二文本信息生成多语言表,采用多语言表中的键数据更换游戏应用程序的资源文件中对应的文本数据。
[0255]
以此,通过对游戏应用程序预制体和代码中需要转换的文本进行适应性提取,并根据提取出的文本的多语种文本生成键值对,并进一步将预制体和代码中需要转换的文本更换为其对应的键值对中的键数据。如此,在游戏运行过程中只需要调整键数据的输出值便可以实现对游戏中文本的语种更换,极大地提升了游戏应用程序中文本的语种转换效率。
[0256]
实施例五
[0257]
为了更好地实施以上方法,本技术实施例还提供一种数据转换装置,该数据转换装置可以集成在终端或服务器中。
[0258]
例如,如图9所示,为本技术实施例提供的数据转换装置的结构示意图,该数据转换装置可以包括第一获取单元501、第一查找单元502、第一确定单元503、第二确定单元504以及第一转换单元505,如下:
[0259]
第一获取单元501,用于获取目标应用中需要转换的源文本以及源文本需要转换到的目标语种;
[0260]
第一查找单元502,用于从目标应用的资源文件中查找源文本对应的目标键数据;
[0261]
第一确定单元503,用于在键值对集合中确定目标键数据对应的目标键值对,并基
于目标键值对确定目标键数据对应的目标值数据,目标值数据包括源文本对应的多个语种的候选文本;
[0262]
第二确定单元504,用于从多个语种的候选文本中确定目标语种对应的目标文本;
[0263]
第一转换单元505,用于将源文本转换为目标文本。
[0264]
在一些实施例中,第一获取单元,包括:
[0265]
接收子单元,用于接收语种转换指令,语种转换指令携带目标语种信息;
[0266]
第一确定子单元,用于根据语种转换指令确定需要进行文本转换的源文本以及源文本需要转换到的目标语种。
[0267]
在一些实施例中,第一查找单元,包括:
[0268]
第二确定子单元,用于从目标应用的资源文件中确定与源文本对应的文本组件;
[0269]
第一查找子单元,用于在文本组件中查找源文本对应的目标键数据。
[0270]
在一些实施例中,第一查找单元,包括:
[0271]
第三确定子单元,用于从目标应用的资源文件中确定与源文本对应的功能函数;
[0272]
第二查找子单元,用于在功能函数的参数中查找与源文本对应的目标键数据。
[0273]
在一些实施例中,第一获取单元,包括:
[0274]
获取子单元,用于获取与目标应用关联的关联应用对应的关联语种信息;
[0275]
第四确定子单元,用于基于关联语种信息确定源文本需要转换到的目标语种。
[0276]
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
[0277]
根据上述描述可知,本技术实施例提供的数据转换装置,通过第一获取单元501获取目标应用中需要转换的源文本以及源文本需要转换到的目标语种;第一查找单元502从目标应用的资源文件中查找源文本对应的目标键数据;第一确定单元503在键值对集合中确定目标键数据对应的目标键值对,并基于目标键值对确定目标键数据对应的目标值数据,目标值数据包括源文本对应的多个语种的候选文本;第二确定单元504从多个语种的候选文本中确定目标语种对应的目标文本;第一转换单元505将源文本转换为目标文本。
[0278]
以此,通过构建以多语种文本为值数据的键值对,并将键值对中的键数据存储在目标应用的资源文件中,使得目标应用在运行中可以根据数据转换需求转换源文本对应的键数据的输出值,从而快速实现对目标应用中源文本的转换,提高了目标应用中源文本的转换效率。
[0279]
实施例六
[0280]
本技术实施例还提供一种数据转换装置,该数据转换装置可以集成在终端或服务器中。
[0281]
例如,如图10所示,为本技术实施例提供的数据转换装置的结构示意图,该数据转换装置可以包括第三确定单元601、第二获取单元602、生成单元603、第二查找单元604以及第二转换单元605,如下:
[0282]
第三确定单元601,用于确定目标应用中需要进行数据转换的源文本;
[0283]
第二获取单元602,用于获取所述源文本对应的多个语种的候选文本;
[0284]
生成单元603,用于根据所述多个语种的候选文本生成键值对,所述键值对包括键
数据以及与所述键数据对应的值数据,所述值数据包括所述多个语种的候选文本;
[0285]
第二查找单元604,用于在所述目标应用的资源文件中查找所述源文本对应的目标文本数据;
[0286]
第二转换单元605,用于将所述目标文本数据转换为所述键数据。
[0287]
在一些实施例中,所述生成单元,包括:
[0288]
获取子单元,用于获取所述源文本对应的目标文本数据在所述目标应用的资源文件中的存储地址;
[0289]
生成子单元,用于以所述存储地址为键数据并以所述多个语种的候选文本为值数据生成键值对。
[0290]
在一些实施例中,所述第二查找单元,包括:
[0291]
第一确定子单元,用于确定所述源文本对应的目标用户界面;
[0292]
第一查找子单元,用于在所述目标应用的资源文件中查找所述用户界面对应的预制体数据;
[0293]
第二确定子单元,用于在所述预制体数据对应的多个文本组件中确定所述源文本对应的目标组件,并确定所述目标组件中包含的数据为所述源文本对应的目标文本数据。
[0294]
在一些实施例中,所述第二确定子单元,包括:
[0295]
处理模块,用于对所述预制体数据进行实例化处理,得到所述预制体数据对应的应用对象;
[0296]
查找模块,用于调用预设函数对所述应用对象包含的多个组件进行文本组件查找,得到所述应用对象的多个文本组件;
[0297]
第一确定模块,用于在所述多个文本组件中确定与所述源文本对应的目标组件。
[0298]
在一些实施例中,所述第二查找单元,包括:
[0299]
第二查找子单元,用于在所述目标应用的资源文件中查找与所述源文本对应的目标函数;
[0300]
第一获取子单元,用于获取所述目标函数的参数中与所述源文本对应的目标参数,得到所述源文本对应的目标文本数据。
[0301]
在一些实施例中,所述第三确定单元,包括:
[0302]
第二获取子单元,用于获取所述目标应用的资源文件;
[0303]
第三确定子单元,用于基于预设语种在所述资源文件中确定所述目标应用中需要进行数据转换的源文本。
[0304]
在一些实施例中,所述第三确定子单元,包括:
[0305]
提取模块,用于提取所述资源文件中的文本数据;
[0306]
编码模块,用于按照预设编码规则对所述文本数据进行编码;
[0307]
第二确定模块,用于确定编码结果处于预设范围的文本为所述目标应用中需要进行数据转换的源文本。
[0308]
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
[0309]
根据上述描述可知,本技术提供的数据转换装置,通过第三确定单元601确定目标
应用中需要进行数据转换的源文本;第二获取单元602获取源文本对应的多个语种的候选文本;生成单元603根据多个语种的候选文本生成键值对,键值对包括键数据以及与键数据对应的值数据,值数据包括多个语种的候选文本;第二查找单元604在目标应用的资源文件中查找源文本对应的目标文本数据;第二转换单元605将目标文本数据转换为键数据。
[0310]
以此,通过根据待转换的源文本数据对应的多个语种候选文本生成键值对,并将目标应用的资源文件中与源文本对应目标文本数据转换为键值对中的键数据,使得源文本能够与其对应的多个语种的候选文本之间进行自由转换,从而提升了目标应用中数据转换的效率。
[0311]
实施例七
[0312]
本技术实施例还提供一种计算机设备,该计算机设备可以为终端或服务器,如图11所示,为本技术提供的计算机设备的结构示意图。具体来讲:
[0313]
该计算机设备可以包括一个或者一个以上处理核心的处理单元701、一个或一个以上存储介质的存储单元702、电源模块703和输入模块704等部件。本领域技术人员可以理解,图11中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0314]
处理单元701是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储单元702内的软件程序和/或模块,以及调用存储在存储单元702内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理单元701可包括一个或多个处理核心;优选的,处理单元701可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理单元701中。
[0315]
存储单元702可用于存储软件程序以及模块,处理单元701通过运行存储在存储单元702的软件程序以及模块,从而执行各种功能应用以及数据处理。存储单元702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能以及网页访问等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储单元702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储单元702还可以包括存储器控制器,以提供处理单元701对存储单元702的访问。
[0316]
计算机设备还包括给各个部件供电的电源模块703,优选的,电源模块703可以通过电源管理系统与处理单元701逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源模块703还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0317]
该计算机设备还可包括输入模块704,该输入模块704可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
[0318]
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理单元701会按照如下的指令,将一个或一个以上的应用程序的进程
对应的可执行文件加载到存储单元702中,并由处理单元701来运行存储在存储单元702中的应用程序,从而实现各种功能,如下:
[0319]
获取目标应用中需要转换的源文本以及源文本需要转换到的目标语种;从目标应用的资源文件中查找源文本对应的目标键数据;在键值对集合中确定目标键数据对应的目标键值对,并基于目标键值对确定目标键数据对应的目标值数据,目标值数据包括源文本对应的多个语种的候选文本;从多个语种的候选文本中确定目标语种对应的目标文本;将源文本转换为目标文本。
[0320]
或者,确定目标应用中需要进行数据转换的源文本;获取源文本对应的多个语种的候选文本;根据多个语种的候选文本生成键值对,键值对包括键数据以及与键数据对应的值数据,值数据包括多个语种的候选文本;在目标应用的资源文件中查找源文本对应的目标文本数据;将目标文本数据转换为键数据。
[0321]
应当说明的是,本技术实施例提供的计算机设备与上文实施例中的方法属于同一构思,以上各个操作的具体实施可参见前面的实施例,在此不作赘述。
[0322]
实施例八
[0323]
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
[0324]
为此,本发明实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种方法中的步骤。例如,该指令可以执行如下步骤:
[0325]
获取目标应用中需要转换的源文本以及源文本需要转换到的目标语种;从目标应用的资源文件中查找源文本对应的目标键数据;在键值对集合中确定目标键数据对应的目标键值对,并基于目标键值对确定目标键数据对应的目标值数据,目标值数据包括源文本对应的多个语种的候选文本;从多个语种的候选文本中确定目标语种对应的目标文本;将源文本转换为目标文本。
[0326]
或者,确定目标应用中需要进行数据转换的源文本;获取源文本对应的多个语种的候选文本;根据多个语种的候选文本生成键值对,键值对包括键数据以及与键数据对应的值数据,值数据包括多个语种的候选文本;在目标应用的资源文件中查找源文本对应的目标文本数据;将目标文本数据转换为键数据。
[0327]
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0328]
其中,该计算机可读存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
[0329]
由于该计算机可读存储介质中所存储的指令,可以执行本发明实施例所提供的任一种方法中的步骤,因此,可以实现本发明实施例所提供的任一种方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
[0330]
实施例九
[0331]
其中,根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在存储介质中。计算机设备的处理器从存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执
行上述实施例一至实施例四各种可选实现方式中提供的方法。
[0332]
以上对本发明实施例所提供的数据转换方法、装置及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1