CN111068336B - 游戏译文版本的生成方法、装置、电子设备及存储介质 - Google Patents
游戏译文版本的生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111068336B CN111068336B CN201911328735.6A CN201911328735A CN111068336B CN 111068336 B CN111068336 B CN 111068336B CN 201911328735 A CN201911328735 A CN 201911328735A CN 111068336 B CN111068336 B CN 111068336B
- Authority
- CN
- China
- Prior art keywords
- target
- file
- sentence
- translation
- temporary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/77—Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/454—Multi-language systems; Localisation; Internationalisation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Library & Information Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了游戏译文版本的生成方法、装置、电子设备及存储介质,所述方法包括:获取目标游戏的开发资源包;复制该开发资源包,生成临时资源包;遍历临时资源包中的临时源文件,在遍历时中执行以下步骤:提取临时源文件中属于目标语言的第一目标语句,生成第一目标语句对应的第一语句标识;确定翻译文件集中与临时源文件的文件类型相匹配的目标翻译文件;获取目标翻译文件中与第一语句标识相匹配的目标译文语句;将临时源文件中的第一目标语句替换为所述目标译文语句,得到临时译文文件;在遍历结束时,根据临时资源包中的临时译文文件生成目标游戏的译文版本。本发明有利于提高游戏出海本地化的效率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种游戏译文版本的生成方法、装置、电子设备及存储介质。
背景技术
随着移动互联网技术的快速发展,越来越多的用户使用移动终端进行游戏娱乐活动,一般这些移动终端的用户分布在不同的地区,这些地区的语言环境也可能完全不同,例如,有些地区的语言环境为简体中文,有些地区的语言环境为英文或者繁体中文等等。为了确保不同语言环境中的移动终端用户的游戏体验,游戏软件开发者需要根据语言环境做出与之相匹配版本的游戏。
相关技术中,在做出与某个语言环境相匹配的游戏版本时,一般需要策划或者运营记录本次提取时的版本号,提取完整游戏版本B,并通过记录提取上一个完整游戏版本A,然后对游戏版本B和游戏版本A进行差异增量提取,并对增量进行翻译,将翻译导入到当前最新游戏版本中,从而做出新版本的游戏。由于译文直接导入到游戏开发版本目录文件中,使得各语言版本内容交叉移植时十分不便,修正比较困难,降低了各语言版本游戏的本地化效率。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种游戏译文版本的生成方法、装置、电子设备及存储介质。所述技术方案如下:
一方面,提供了一种游戏译文版本的生成方法,所述方法包括:
获取目标游戏的开发资源包;所述开发资源包中包括至少一种文件类型的源文件;
复制所述开发资源包,生成临时资源包;
遍历所述临时资源包中的临时源文件,在遍历时中执行以下步骤:
提取所述临时源文件中属于目标语言的第一目标语句,生成所述第一目标语句对应的第一语句标识;
确定翻译文件集中与所述临时源文件的文件类型相匹配的目标翻译文件;所述翻译文件集中包括至少一个翻译文件,所述至少一个翻译文件与文件类型一一对应;
获取所述目标翻译文件中与所述第一语句标识相匹配的目标译文语句;
将所述临时源文件中的所述第一目标语句替换为所述目标译文语句,得到临时译文文件;
在遍历结束时,根据所述临时资源包中的临时译文文件生成所述目标游戏的译文版本。
另一方面,提供了一种游戏译文版本的生成装置,所述装置包括:
第一获取模块,用于获取目标游戏的开发资源包;所述开发资源包中包括至少一种文件类型的源文件;
第一生成模块,用于复制所述开发资源包,生成临时资源包;
遍历模块,用于遍历所述临时资源包中的临时源文件,在遍历时中执行以下步骤:提取所述临时源文件中属于目标语言的第一目标语句,生成所述第一目标语句对应的第一语句标识;确定翻译文件集中与所述临时源文件的文件类型相匹配的目标翻译文件;所述翻译文件集中包括至少一个翻译文件,所述至少一个翻译文件与文件类型一一对应;获取所述目标翻译文件中与所述第一语句标识相匹配的目标译文语句;将所述临时源文件中的所述第一目标语句替换为所述目标译文语句,得到临时译文文件;
第二生成模块,用于在遍历结束时,根据所述临时资源包中的临时译文文件生成所述目标游戏的译文版本。
可选的,所述装置还包括:
归类模块,用于根据所述源文件的文件类型对所述开发资源包中的源文件进行归类,得到至少一个源文件集;所述至少一个源文件集与所述文件类型一一对应;
提取模块,用于针对每个所述源文件集,扫描所述源文件集中的源文件,提取每个所述源文件中属于目标语言的第二目标语句,得到所述源文件集对应的第二目标语句集;
第三生成模块,用于生成所述第二目标语句集中每个第二目标语句的第二语句标识;
第四生成模块,用于根据所述第二目标语句集中的第二目标语句以及所述第二目标语句的第二语句标识,生成所述源文件集对应的待翻译文件;
第二获取模块,用于获取所述待翻译文件中第二目标语句对应的译文语句;
第五生成模块,用于根据所述待翻译文件和译文语句,生成与所述源文件集对应的文件类型相匹配的翻译文件。
可选的,所述装置还包括:
去重模块,用于对所述第二目标语句集中的第二目标语句进行去重处理。
可选的,所述提取模块在提取每个所述源文件中属于目标语言的第二目标语句时,提取每个所述源文件中属于目标语言的目标字符串,根据预置格式化规则对所述目标字符串进行组合,得到所述第二目标语句。
可选的,所述提取模块在提取每个所述源文件中属于目标语言的目标字符串时,确定每个所述源文件中字段的字段类型为预置字段类型的目标字段,判断所述目标字段中是否包括属于目标语言的字符,在判断的结果为是时,提取所述目标字段。
可选的,所述遍历模块在获取所述目标翻译文件中与所述第一语句标识相匹配的目标译文语句时,判断所述目标翻译文件中是否存在与所述第一语句标识相匹配的第二语句标识;若存在,则获取所述目标翻译文件中的所述第二语句标识对应的译文语句,所述第二语句标识对应的译文语句作为所述目标译文语句;若不存在,则将所述第一目标语句和所述第一目标语句对应的第一语句标识更新到所述目标翻译文件中。
另一方面,提供了一种电子设备,包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现上述游戏译文版本的生成方法。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如上述的游戏译文版本的生成方法。
本发明实施例通过复制目标游戏的开发资源包生成临时资源包,遍历该临时资源包中的临时源文件,在遍历时提取临时源文件中属于目标语言的第一目标语句,并生成第一目标语句对应的第一语句标识,然后确定翻译文件集中与临时源文件的文件类型相匹配的目标翻译文件,获取该目标翻译文件中与第一语句标识相匹配的目标译文语句,进而将临时源文件中的第一目标语句替换为该目标译文语句得到临时译文文件,在遍历结束时,根据临时资源包中的临时译文文件生成目标游戏的译文版本。上述方案不会对游戏开发资源包中的源文件内容产生任何的替换和污染,开发人员可以无损游戏开发效率而开发出各语言版本的游戏,且便于各语言版本内容交叉移植时的一致性,有利于提高游戏出海(即向海外发布)本地化的效率,由于对于译文的修正可以直接在翻译文件中进行,修正更加便捷。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种游戏译文版本的生成方法的流程示意图;
图2是本发明实施例提供的另一种游戏译文版本的生成方法的流程示意图;
图3a是本发明实施例提供的一个待翻译文件的可选示意图;图3b是本发明实施例提供的一个翻译文件的可选示意图;图3c是本发明实施例提供的翻译文件集所包含翻译文件的示意图;
图4a、图4b和图4c是采用本发明实施例的游戏译文版本的生成方法生成的目标游戏的三种译文版本的示意图;
图5是本发明实施例提供的一种游戏译文版本的生成装置的结构示意图;
图6是本发明实施例提供的另一种游戏译文版本的生成装置的结构示意图;
图7是本发明实施例提供的一种电子设备的硬件结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,其所示为本发明实施例提供的一种游戏译文版本的生成方法的流程示意图,该游戏译文版本的生成方法可以应用于本发明实施例的游戏译文版本的生成装置,该游戏译文版本的生成装置可配置于电子设备中,该电子设备可以是终端或者服务器。其中,终端可以但不限于包括智能手机、台式电脑、平板电脑、笔记本电脑等具有各种操作系统的硬件设备。服务器可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群。
需要说明的是,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图1所示,所述方法可以包括:
S101,获取目标游戏的开发资源包;所述开发资源包中包括至少一种文件类型的源文件。
其中,目标游戏即为需要提供译文的游戏,目标游戏的开发资源包是目标游戏原始开发版本目录文件的集合,包括至少一种文件类型的源文件。本说明书实施例中,源文件的文件类型可以但不限于包括:Lua、Excel、Xml(可扩展标记语言)、CS、Prefab等。
Lua由标准C语言编写而成,几乎在所有操作系统和平台上都可以编译、运行;很多应用程序、游戏使用Lua作为自己的嵌入式脚本语言,以此来实现可配置性、可扩展性,这其中包括魔兽世界、博德之门、愤怒的小鸟、QQ三国、VOCALOID3、Garry's Mod、太阳神三国杀、游戏王ygocore和饥荒等。
Xml即可扩展标记语言,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。Xml是标准通用标记语言(SGML)的子集,非常适合Web传输。Xml提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
CS是指C#语言源代码文件,是后台代码文件,也可以称为类,其为主要与primarily,Visual C#.NET,Source Code相关联的游戏文件。
Prefab是unity3d中的一种资源类型,用于存储可重复使用的游戏对象,来方便快捷的创建实例,Prefab文件的内容是通过YAML语言序列化的一个GameObject的对象,包含了这个GameObject的所有描述信息(GameObject信息、Compent实例和属性等)。
S103,复制所述开发资源包,生成临时资源包。
可以理解的,临时资源包包括开发资源包中的所有源文件,本说明书实施例中,将临时资源包中的源文件称之为临时源文件。
S105,遍历所述临时资源包中的临时源文件,在遍历时中执行以下步骤:
S1051,提取所述临时源文件中属于目标语言的第一目标语句,生成所述第一目标语句对应的第一语句标识;
本说明书实施例中,对临时资源包中的临时源文件进行遍历,在遍历时提取当前临时源文件中属于目标语言的第一目标语句,并生成第一目标语句对应的第一语句标识。其中,目标语言是源文件中待转换的语言,其可以但不限于包括简体中文。第一语句标识用于唯一标识一个目标语句,具体的实施中,可以采用密码散列函数计算第一目标语句的散列值,将该散列值作为第一语句标识,例如,密码散列函数可以是MD5消息摘要算法,散列值可以是MD5码。
实际应用中,在提取时可以先将临时源文件中属于目标语言的目标字符串挑选出来,然后基于预置格式化规则对目标字符串进行组合以得到第一目标语句,实现断句整合,其中,预置格式化规则可以但不限于包括String类的format()方法,该方法用于创建格式化的字符串以及连接多个字符串对象。例如,临时源文件中的内容为self.ErrorInfo.text="下次报名开始时间:"..nowDateTime.month.."月"..nowDateTime.day.."日"..nowDateTime.hour.."点";组合后为self.ErrorInfo.text=string.format("下次报名开始时间:%s月%s日%s点",nowDateTime.month,nowDateTime.day,nowDateTime.hour)。
在一些实施例中,当游戏版本有同服跨时区的需求时,还可以在提取前将临时源文件中的时间格式标准化,后续通过服务器所在时区与客户端所在时区的时差由客户端对时间表达进行修正。其中,对时间格式标准化可以采用系统格式化约定格式,例如标准化参数顺序为:年、月份、日期、小时、分钟、秒,具体的实施中,时间格式标准化可以通过格式化时间函数Time_format(约定格式)来实现,例如,格式化时间函数为Time_format(%s/%s%s:%s),则服务器时间(+8时区)为03/01 02:57,客户端时间(+5时区)为02/29 23:57。
可以理解的,由于不同地区对时间的表达习惯是不同的,因此,当游戏版本有同服跨时区的需求时,可以在提取前将临时源文件中的时间格式本地化,此时可以将格式时间函数Time_format(约定格式)中的约定格式设置为本地的时间格式,例如,中国地区可以设置为xx年xx月xx日时分秒,西方地区可以设置为时分秒日/月/年。
S1053,确定翻译文件集中与所述临时源文件的文件类型相匹配的目标翻译文件。
其中,所述翻译文件集中包括至少一个翻译文件,所述至少一个翻译文件与文件类型一一对应。
本说明书实施例中,翻译文件中记录有与待翻译语句相对应的译文语句,该待翻译语句为源文件中属于目标语言的语句,该译文语句为翻译后的属于其他语言(即不同于目标语言)的语句,例如,目标语言为简体中文,译文语句为泰文等。为了提高译文语句查找的准确性和效率,翻译文件中同时还记录有与待翻译语句相对应的语句标识,以用于唯一标识出待翻译语句。
需要说明的是,翻译文件中的同一待翻译语句可以对应有一种语言或者多种语言的译文语句,例如,待翻译语句为简体中文,翻译文件中其对应的译文语句可以包括繁体中文的译文语句和泰语的译文语句。
基于以上描述,本说明书实施例中,在步骤S101,获取目标游戏的开发资源包之后,所述方法还可以包括生成与开发资源包中各文件类型相对应的翻译文件的步骤,各文件类型对应的翻译文件即构成了翻译文件集。如图2所示,所述翻译文件的生成可以包括:
S201,根据所述源文件的文件类型对所述开发资源包中的源文件进行归类,得到至少一个源文件集;所述至少一个源文件集与所述文件类型一一对应。
本说明书实施例中,为了便于管理相同语句在不同界面组件的内容修改,在生成翻译文件时,根据源文件的文件类型对开发资源包中的源文件进行归类,从而相同文件类型的源文件形成了与该文件类型相对应的源文件集,例如源文件集可以表示为:{Lua|a1,a2……an}、{Excel|b1,b2……bm},{Xml|c1,c2……cq},{CS|d1,d2……di},{Prefab|f1,f2……fp}。其中,a1……an表示开发资源包中文件类型为Lua的源文件;b1……bm表示开发资源包中文件类型为Excel的源文件;c1……cq表示开发资源包中文件类型为Xml的源文件;d1……ds表示开发资源包中文件类型为CS的源文件;f1……fp表示开发资源包中文件类型为Prefab的源文件。
S203,针对每个所述源文件集,扫描所述源文件集中的源文件,提取每个所述源文件中属于目标语言的第二目标语句,得到所述源文件集对应的第二目标语句集。
其中,目标语言是源文件中待转换的语言,其可以但不限于包括简体中文。本说明书实施例中对各个源文件集进行单独处理,针对每个源文件集,提取该源文件集所包含源文件中属于目标语言的第二目标语句,从而得到与该源文件集对应的第二目标语句集,由于源文件集与文件类型一一对应,那么第二目标语句集也与文件类型一一对应。
实际应用中,在提取时可以先将每个源文件集的源文件中属于目标语言的目标字符串挑选出来,然后基于预置格式化规则对目标字符串进行组合以得到第二目标语句,实现断句整合,其中,预置格式化规则可以但不限于包括String类的format()方法,该方法用于创建格式化的字符串以及连接多个字符串对象。例如,临时源文件中的内容为self.ErrorInfo.text="下次报名开始时间:"..nowDateTime.month.."月"..nowDateTime.day.."日"..nowDateTime.hour.."点";组合后为self.ErrorInfo.text=string.format("下次报名开始时间:%s月%s日%s点",nowDateTime.month,nowDateTime.day,nowDateTime.hour)。
本说明书实施例,针对每个源文件集,在提取该源文件集的每个源文件中属于目标语言的目标字符串时,可以基于源文件中字段的字段类型以提高提取效率。具体的,可以确定该源文件集的每个源文件中字段的字段类型为预置字段类型的目标字段;判断该目标字段是否包括属于目标语言的字符,若目标字段包括属于目标语言的字符,则提取该目标字段,该目标字段所包含的字符串即为目标字符串。其中,预置字段类型可以根据实际需要进行设定,在一个具体的实施方式中,该预置字段类型可以为String类型。
S205,生成所述第二目标语句集中每个第二目标语句的第二语句标识。
第二语句标识用于唯一标识一个目标语句,具体的实施中,可以采用密码散列函数计算第二目标语句的散列值,将该散列值作为第二语句标识,例如,密码散列函数可以是MD5消息摘要算法,散列值可以是MD5码。
S207,根据所述第二目标语句集中的第二目标语句以及所述第二目标语句的第二语句标识,生成所述源文件集对应的待翻译文件。
可以理解的,待翻译文件与文件类型为一一对应的关系,也就是说,一种文件类型对应一个待翻译文件。如图3a是本发明实施例提供的一个待翻译文件的可选示意图,其中,key列表示第二语句标识,zh列表示属于目标语言的第二目标语句。
本说明书实施例中,为了提高翻译文件的生成效率,在步骤S205之前,即得到第二目标语句集之后,对该第二目标语句集中的第二目标语句进行去重处理,即对于多个相同的第二目标语句只保留一个该第二目标语句,从而可以避免重复翻译。
S209,获取所述待翻译文件中第二目标语句对应的译文语句。
实际应用中,在生成待翻译文件之后,可以将该待翻译文件分派给翻译人员,由翻译人员根据游戏进入地区的语言对待翻译文件中的第二目标语句进行翻译,从而可以获取到该第二目标语句对应的译文语句。可以理解的,当游戏进入地区为多个语言不同的地区时,同一第二目标语句可以包括对应于不同语言的译文语句,例如,第二目标语句为简体中文,对应的译文语句可以包括繁体中文的译文语句和泰语的译文语句。
S211,根据所述待翻译文件和译文语句,生成与所述源文件集对应的文件类型相匹配的翻译文件。
本说明书实施例中,源文件集与文件类型一一对应,那么基于源文件集生成的翻译文件也与文件类型一一对应。
如图3b是本发明实施例提供的一个翻译文件的可选示意图,其中,key列表示第二语句标识,zh列表示属于目标语言的第二目标语句,tw列为译文语句。各文件类型的源文件集对应的翻译文件构成了翻译文件集,如图3c所示为翻译文件集所包含翻译文件的示意图,其中包含了分别对应于6种文件类型的翻译文件,这6中文件类型分别为cenima、cs、lua、prefab、sccfg、xml。
基于以上描述可知,本发明实施例在生成翻译文件时,基于“相互独立,完全穷尽”的原则即MECE(Mutually Exclusive Collectively Exhaustive)原则,从而确保了各翻译文件之间不重复,也不会出现遗漏,便于管理相同语句在不同界面组件的内容修改,有利于提高各语言游戏版本的开发效率。
S1055,获取所述目标翻译文件中与所述第一语句标识相匹配的目标译文语句。
具体的,根据第一语句标识查找目标翻译文件中的第二语句标识,判断目标翻译文件中是否存在与第一语句标识相匹配的第二语句标识;若存在与第一语句标识相匹配的第二语句标识,则可以获取目标翻译文件中该第二语句标识所对应的译文语句,该第二语句标识所对应的译文语句即为目标译文语句;若不存在与第一语句标识相匹配的第二语句标识,则表明该第一语句标识对应的第一目标语句为新的未翻译内容,可以将该第一目标语句和对应的第一语句标识更新到目标翻译文件中,以使翻译人员及时进行翻译,从而可以及时获取翻译后的译文语句,提高了游戏译文版本的开发效率。
S1057,将所述临时源文件中的所述第一目标语句替换为所述目标译文语句,得到临时译文文件。
对于临时资源包中各个临时源文件均执行上报步骤S1051至步骤S1057之后,各临时源文件均转换成了临时译文文件。
S107,在遍历结束时,根据所述临时资源包中的临时译文文件生成所述目标游戏的译文版本。
本说明书实施例根据临时资源包中的临时译文文件生成目标游戏的译文版本,对游戏的开发资源包中的内容没有任何的替换和污染,开发人员可以无损开发出海的游戏版本。
需要说明的是,当目标翻译文件中存在多列译文语句,即同一第二目标语句包括了对应于不同语言的译文语句时,意味着目标游戏是多地区版本的游戏,可以生成与各地区对应的目标游戏的译文版本,具体的,针对每一列译文语句,可以分别执行步骤S103至步骤S107,从而可以生成目标游戏的多种译文版本,如图4a、图4b和图4c是采用本发明实施例的游戏译文版本的生成方法生成的目标游戏的三种译文版本的示意图,分别包括简体中文版本(图4a)、繁体中文版本(图4b)和泰语版本(图4c)。后续可以选择将该多种目标游戏的译文版本单独分发,也可以将该多种目标游戏的译文版本整合为一个多语言的版本包进行统一分发,实现了支持多地区版本的多种分发策略。
由本发明实施例的上述技术方案可见,本发明实施例通过复制目标游戏的开发资源包生成临时资源包,遍历该临时资源包中的临时源文件,在遍历时提取临时源文件中属于目标语言的第一目标语句,并生成第一目标语句对应的第一语句标识,然后确定翻译文件集中与临时源文件的文件类型相匹配的目标翻译文件,获取该目标翻译文件中与第一语句标识相匹配的目标译文语句,进而将临时源文件中的第一目标语句替换为该目标译文语句得到临时译文文件,在遍历结束时,根据临时资源包中的临时译文文件生成目标游戏的译文版本,从而不会对游戏开发资源包中的源文件内容产生任何的替换和污染,开发人员可以无损游戏开发效率而开发出各语言版本的游戏,且便于各语言版本内容交叉移植时的一致性,有利于提高游戏出海(即向海外发布)本地化的效率;由于对于译文的修正可以直接在翻译文件中进行,修正更加便捷。
与上述几种实施例提供的游戏译文版本的生成方法相对应,本发明实施例还提供一种游戏译文版本的生成装置,由于本发明实施例提供的游戏译文版本的生成装置与上述几种实施例提供的游戏译文版本的生成方法相对应,因此前述游戏译文版本的生成方法的实施方式也适用于本实施例提供的游戏译文版本的生成装置,在本实施例中不再详细描述。
请参阅图5,其所示为本发明实施例提供的一种游戏译文版本的生成装置的结构示意图,该装置具有实现上述方法实施例中游戏译文版本的生成方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。如图5所示,该装置可以包括:
第一获取模块510,用于获取目标游戏的开发资源包;所述开发资源包中包括至少一种文件类型的源文件;
第一生成模块520,用于复制所述开发资源包,生成临时资源包;
遍历模块530,用于遍历所述临时资源包中的临时源文件,在遍历时中执行以下步骤:提取所述临时源文件中属于目标语言的第一目标语句,生成所述第一目标语句对应的第一语句标识;确定翻译文件集中与所述临时源文件的文件类型相匹配的目标翻译文件;所述翻译文件集中包括至少一个翻译文件,所述至少一个翻译文件与文件类型一一对应;获取所述目标翻译文件中与所述第一语句标识相匹配的目标译文语句;将所述临时源文件中的所述第一目标语句替换为所述目标译文语句,得到临时译文文件;
第二生成模块540,用于在遍历结束时,根据所述临时资源包中的临时译文文件生成所述目标游戏的译文版本。
作为一个可选的实施方式,如图6提供的另一种游戏译文版本的生成装置的结构示意图,该装置还可以包括:
归类模块610,用于根据所述源文件的文件类型对所述开发资源包中的源文件进行归类,得到至少一个源文件集;所述至少一个源文件集与所述文件类型一一对应;
提取模块620,用于针对每个所述源文件集,扫描所述源文件集中的源文件,提取每个所述源文件中属于目标语言的第二目标语句,得到所述源文件集对应的第二目标语句集;
第三生成模块630,用于生成所述第二目标语句集中每个第二目标语句的第二语句标识;
第四生成模块640,用于根据所述第二目标语句集中的第二目标语句以及所述第二目标语句的第二语句标识,生成所述源文件集对应的待翻译文件;
第二获取模块650,用于获取所述待翻译文件中第二目标语句对应的译文语句;
第五生成模块660,用于根据所述待翻译文件和译文语句,生成与所述源文件集对应的文件类型相匹配的翻译文件。
作为一个可选的实施方式,如图6所示,该装置还可以包括:
去重模块670,用于对所述第二目标语句集中的第二目标语句进行去重处理。
作为一个可选的实施方式,提取模块620在提取每个所述源文件中属于目标语言的第二目标语句时,可以提取每个所述源文件中属于目标语言的目标字符串,根据预置格式化规则对所述目标字符串进行组合,得到所述第二目标语句。
作为一个可选的实施方式,提取模块620在提取每个所述源文件中属于目标语言的目标字符串时,可以确定每个所述源文件中字段的字段类型为预置字段类型的目标字段,判断所述目标字段中是否包括属于目标语言的字符,在判断的结果为是时,提取所述目标字段。
作为一个可选的实施方式,预置字段类型可以包括String类型。
作为一个可选的实施方式,遍历模块530在获取所述目标翻译文件中与所述第一语句标识相匹配的目标译文语句时,可以判断所述目标翻译文件中是否存在与所述第一语句标识相匹配的第二语句标识;若存在,则获取所述目标翻译文件中的所述第二语句标识对应的译文语句,所述第二语句标识对应的译文语句作为所述目标译文语句;若不存在,则将所述第一目标语句和所述第一目标语句对应的第一语句标识更新到所述目标翻译文件中。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本发明实施例的游戏译文版本的生成装置通过复制目标游戏的开发资源包生成临时资源包,遍历该临时资源包中的临时源文件,在遍历时提取临时源文件中属于目标语言的第一目标语句,并生成第一目标语句对应的第一语句标识,然后确定翻译文件集中与临时源文件的文件类型相匹配的目标翻译文件,获取该目标翻译文件中与第一语句标识相匹配的目标译文语句,进而将临时源文件中的第一目标语句替换为该目标译文语句得到临时译文文件,在遍历结束时,根据临时资源包中的临时译文文件生成目标游戏的译文版本,从而不会对游戏开发资源包中的源文件内容产生任何的替换和污染,开发人员可以无损游戏开发效率而开发出各语言版本的游戏,且便于各语言版本内容交叉移植时的一致性,有利于提高游戏出海(即向海外发布)本地化的效率,由于对于译文的修正可以直接在翻译文件中进行,修正更加便捷。
本发明实施例提供了一种电子设备,该电子设备包括处理器和存储器,该存储器中存储有至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的游戏译文版本的生成方法。
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及游戏译文版本的生成。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
本发明实施例所提供的方法实施例可以在计算机终端、服务器或者类似的运算装置中执行,即上述电子设备可以包括计算机终端、服务器或者类似的运算装置。图7是本发明实施例提供的运行一种游戏译文版本的生成方法的电子设备的硬件结构框图,如图7所示,该电子设备的内部结构可包括但不限于:处理器、网络接口及存储器。其中,计算机设备内的处理器、网络接口及存储器可通过总线或其他方式连接,在本说明书实施例所示图7中以通过总线连接为例。
其中,处理器(或称CPU(Central Processing Unit,中央处理器))是计算机设备的计算核心以及控制核心。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI、移动通信接口等)。存储器(Memory)是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器可以是高速RAM存储设备,也可以是非不稳定的存储设备(non-volatile memory),例如至少一个磁盘存储设备;可选的还可以是至少一个位于远离前述处理器的存储装置。存储器提供存储空间,该存储空间存储了电子设备的操作系统,可包括但不限于:Windows系统(一种操作系统),Linux(一种操作系统),Android(安卓,一种移动操作系统)系统、IOS(一种移动操作系统)系统等等,本发明对此并不作限定;并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。在本说明书实施例中,处理器加载并执行存储器中存放的一条或一条以上指令,以实现上述方法实施例提供的游戏译文版本的生成方法。
本领域普通技术人员可以理解,图7所示的结构仅为示意,其并不对上述电子设备的结构造成限定。例如,电子设备700还可包括比图7中所示更多或者更少的组件,或者具有与图7所示不同的配置。
本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质可设置于电子设备之中以保存用于实现一种游戏译文版本的生成方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述方法实施例提供的游戏译文版本的生成方法。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种游戏译文版本的生成方法,其特征在于,所述方法包括:
获取目标游戏的开发资源包;所述开发资源包中包括至少一种文件类型的源文件;
复制所述开发资源包,生成临时资源包;
遍历所述临时资源包中的临时源文件,在遍历时执行以下步骤:
提取所述临时源文件中属于目标语言的第一目标语句,计算所述第一目标语句的散列值,将所述散列值作为所述第一目标语句对应的第一语句标识;
确定翻译文件集中与所述临时源文件的文件类型相匹配的目标翻译文件;所述翻译文件集中包括至少一个翻译文件,所述至少一个翻译文件与文件类型一一对应,所述翻译文件中记录有第二语句标识与译文语句之间的对应关系,所述第二语句标识通过计算待翻译语句的散列值得到;
判断所述目标翻译文件中是否存在与所述第一语句标识相匹配的第二语句标识;
若存在,则获取所述目标翻译文件中的所述第二语句标识对应的译文语句,得到目标译文语句;
将所述临时源文件中的所述第一目标语句替换为所述目标译文语句,得到临时译文文件;
在遍历结束时,根据所述临时资源包中的临时译文文件生成所述目标游戏的译文版本。
2.根据权利要求1所述的游戏译文版本的生成方法,其特征在于,在获取目标游戏的开发资源包之后,所述方法还包括:
根据所述源文件的文件类型对所述开发资源包中的源文件进行归类,得到至少一个源文件集;所述至少一个源文件集与所述文件类型一一对应;
针对每个所述源文件集,扫描所述源文件集中的源文件,提取每个所述源文件中属于目标语言的第二目标语句,得到所述源文件集对应的第二目标语句集;
生成所述第二目标语句集中每个第二目标语句的第二语句标识;
根据所述第二目标语句集中的第二目标语句以及所述第二目标语句的第二语句标识,生成所述源文件集对应的待翻译文件;
获取所述待翻译文件中第二目标语句对应的译文语句;
根据所述待翻译文件和译文语句,生成与所述源文件集对应的文件类型相匹配的翻译文件。
3.根据权利要求2所述的游戏译文版本的生成方法,其特征在于,在得到所述源文件集对应的第二目标语句集之后,所述方法还包括:
对所述第二目标语句集中的第二目标语句进行去重处理。
4.根据权利要求2所述的游戏译文版本的生成方法,其特征在于,所述提取每个所述源文件中属于目标语言的第二目标语句包括:
提取每个所述源文件中属于目标语言的目标字符串;
根据预置格式化规则对所述目标字符串进行组合,得到所述第二目标语句。
5.根据权利要求4所述的游戏译文版本的生成方法,其特征在于,所述提取每个所述源文件中属于目标语言的目标字符串包括:
确定每个所述源文件中字段的字段类型为预置字段类型的目标字段;
判断所述目标字段中是否包括属于目标语言的字符;
在判断的结果为是时,提取所述目标字段。
6.根据权利要求5所述的游戏译文版本的生成方法,其特征在于,所述预置字段类型包括String类型。
7.根据权利要求1所述的游戏译文版本的生成方法,其特征在于,所述方法还包括:
若所述目标翻译文件中不存在与所述第一语句标识相匹配的第二语句标识,则将所述第一目标语句和所述第一目标语句对应的第一语句标识更新到所述目标翻译文件中。
8.一种游戏译文版本的生成装置,其特征在于,所述装置包括:
第一获取模块,用于获取目标游戏的开发资源包;所述开发资源包中包括至少一种文件类型的源文件;
第一生成模块,用于复制所述开发资源包,生成临时资源包;
遍历模块,用于遍历所述临时资源包中的临时源文件,在遍历时执行以下步骤:提取所述临时源文件中属于目标语言的第一目标语句,计算所述第一目标语句的散列值,将所述散列值作为所述第一目标语句对应的第一语句标识;确定翻译文件集中与所述临时源文件的文件类型相匹配的目标翻译文件;所述翻译文件集中包括至少一个翻译文件,所述至少一个翻译文件与文件类型一一对应,所述翻译文件中记录有第二语句标识与译文语句之间的对应关系,所述第二语句标识通过计算待翻译语句的散列值得到;判断所述目标翻译文件中是否存在与所述第一语句标识相匹配的第二语句标识;若存在,则获取所述目标翻译文件中的所述第二语句标识对应的译文语句,得到目标译文语句;将所述临时源文件中的所述第一目标语句替换为所述目标译文语句,得到临时译文文件;
第二生成模块,用于在遍历结束时,根据所述临时资源包中的临时译文文件生成所述目标游戏的译文版本。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如权利要求1~7中任一项所述的游戏译文版本的生成方法。
10.一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1~7任一项所述的游戏译文版本的生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911328735.6A CN111068336B (zh) | 2019-12-20 | 2019-12-20 | 游戏译文版本的生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911328735.6A CN111068336B (zh) | 2019-12-20 | 2019-12-20 | 游戏译文版本的生成方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111068336A CN111068336A (zh) | 2020-04-28 |
CN111068336B true CN111068336B (zh) | 2023-10-20 |
Family
ID=70316369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911328735.6A Active CN111068336B (zh) | 2019-12-20 | 2019-12-20 | 游戏译文版本的生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111068336B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112052648B (zh) * | 2020-09-02 | 2021-11-16 | 文思海辉智科科技有限公司 | 一种字串翻译方法、装置、电子设备及存储介质 |
CN111984300B (zh) * | 2020-09-08 | 2024-01-23 | 网易(杭州)网络有限公司 | 代码复制方法及装置、电子设备和计算机可读存储介质 |
CN112107855B (zh) * | 2020-09-21 | 2024-03-29 | 完美世界(重庆)互动科技有限公司 | 多语言版本的游戏处理方法、装置及系统 |
CN112169326A (zh) * | 2020-10-19 | 2021-01-05 | 网易(杭州)网络有限公司 | 图片处理方法、装置、电子设备和存储介质 |
CN113010244B (zh) * | 2021-02-24 | 2023-05-26 | 上海莉莉丝网络科技有限公司 | 语言资源数据库、语言资源管理平台及语言资源管理系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0265280A2 (en) * | 1986-10-24 | 1988-04-27 | Kabushiki Kaisha Toshiba | Machine translation system and method |
CN1506875A (zh) * | 2002-12-12 | 2004-06-23 | 华为技术有限公司 | 语言本地化中特征字符串的提取与替换方法 |
-
2019
- 2019-12-20 CN CN201911328735.6A patent/CN111068336B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0265280A2 (en) * | 1986-10-24 | 1988-04-27 | Kabushiki Kaisha Toshiba | Machine translation system and method |
CN1506875A (zh) * | 2002-12-12 | 2004-06-23 | 华为技术有限公司 | 语言本地化中特征字符串的提取与替换方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111068336A (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111068336B (zh) | 游戏译文版本的生成方法、装置、电子设备及存储介质 | |
CN104317788B (zh) | Android多国语言翻译方法和装置 | |
US9213541B2 (en) | Creation, generation, distribution and application of self-contained modifications to source code | |
CN104933020A (zh) | 基于模板生成目标文档的方法及装置 | |
CN111160045B (zh) | 一种游戏资源文件翻译方法、装置及设备 | |
CN103699389A (zh) | 一种基于编译选项的Linux内核模块关系提取方法 | |
CN103699585A (zh) | 文件的元数据存储以及文件恢复的方法、装置和系统 | |
CN105339889A (zh) | 用于计算机应用的语言翻译本地化的技术 | |
CN103109264A (zh) | 创建配置文件模板 | |
CN102521338B (zh) | 对于数据表示项目返回的占位符 | |
CN104516727A (zh) | 更改资源文件中的资源的方法和系统 | |
CN104750472A (zh) | 一种终端应用的资源包管理方法和装置 | |
CN110990108A (zh) | 应用于多语言app的词条翻译方法及装置 | |
CN112988290A (zh) | 多语言配置文件的生成方法、页面显示方法、装置及终端 | |
CN103984554A (zh) | 软件设计文档的生成方法及装置 | |
CN109947711A (zh) | 一种对ios项目开发过程中的多语言文件自动化管理方法 | |
CN103440231A (zh) | 用于比较文本的设备和方法 | |
CN106648618B (zh) | 虚拟应用的文本信息生成方法和装置 | |
CN110795915A (zh) | xml文件批量修改方法、系统、设备和计算机可读存储介质 | |
KR101697061B1 (ko) | 클라우드기반 창작 저작물 등록시스템 | |
JP6705482B2 (ja) | システム構築パラメータ管理装置、システム構築パラメータ管理システム、システム構築パラメータ管理方法、及び、システム構築パラメータ管理プログラム | |
CN114296726A (zh) | 一种代码生成方法、装置、计算机设备和存储介质 | |
JP2018109898A (ja) | データマイグレーションシステム | |
CN115579096A (zh) | 一种针对药物警戒e2b r3标准报告的自动生成与解析验证方法、系统及存储介质 | |
CN112395565A (zh) | 一种水印信息的嵌入、提取方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40022318 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |