本地化服务是将项目中的文本信息从源语言自动翻译成目标语言的一个功能。比如目前项目中的文本信息语言是中文,想要转成英文,只需要开启本地化服务即可。随着官方将运营重心逐渐转为海外,将项目语言翻译成其他语言是必经之路。所以本篇文章将为大家详细介绍本地化服务的功能以及如何使用本地化服务。
一.功能效果预览
二.功能说明
1.本地化服务具有:
开启服务,进行录制,语言环境,模拟环境,翻译语言*(为新功能),这几个小功能。
a. 开启服务:
当开启服务时,会在本地化服务下创建languageTable对象,并根据languageTable中的翻译,对游戏进行翻译。
b. 进行录制:
开启服务时,进行录制会自动打开,在游戏运行时会自动抓取游戏内(工作区和玩家列表)的UIText上的文本,并自动记录进languageTable中,运行游戏录制时新录制的内容不会翻译,而是在退出运行时进行翻译。
c. 语言环境:
不可修改,编辑器所使用的语言。
d. 模拟环境:
用来模拟其他语言环境,只在编辑器中使用的方便玩家查看不同语言环境下翻译效果的工具,当与语言环境相同时不会执行翻译。
e. 翻译语言*:
后面更新之后会有一个下拉框可以去勾选不同的语言,只有勾选的语言才会进行翻译。
LanguageTable相关:
键值:
玩家可以自定义输入一个键值,可以使用脚本调用函数,通过该键值来取到某一行所有的内容。
目标所在控件:
该文本所在控件的目录。
脚本目录:
如果又通过脚本给UIText赋值的地方,这时会记录下给它赋值的脚本位置。
源语言文本:
场景中未翻译前的初始文本。
英文:
自动翻译的英文文本。
英文自定义:
玩家可以自定义一个文本,当该处填有东西的时候翻译会优先使用自定义的内容,例如,玩家抓取到一个你好,自动翻译出来时Hello,当英文自定义输入一个olleH的时候,抓取到的该文本就会自动翻译成olleH,而非Hello。
脚本接口:
本地化服务(TranslateService)具有两个属性,这两个属性现在外网没有,后面更新会有。
LanguageId 类型String当前的语言ID,只读(简体中文:zh_CN,繁体中文:zh_TW,英文:en_US)。
Print(TranslateService.LanguageId)
SystemId 类型 String。
区域ID,只读(中国:CN,东南亚:SEA,印度:IN)。
Print(TranslateService.SystemId)
LanguageTable下有5个函数:
GetItemsByNumber(num) --返回LanguageTable的前Num行内容。 GetItemByKey(key) --通过表内的键值列,查找key所对应的行,返回该行的表格 Delete(key) --删除key所对应的行 GetAutoText(key) --返回key所对应的行,自动翻译出来的结果 GetText(key) --返回key所对应的行,抓取到的源文本
三.使用说明
1.开启本地化服务
首先需要在编辑器的管理框中选择本地化服务,并在右侧的信息面板中勾选本地化服务中的开启服务,勾选开启服务后会自动勾选开启录制。2.选择模拟环境
可以将模拟环境选择成英文,这样在编辑器中可以预览效果
3.预览效果
下面开始运行,在运行的时候是不会进行录制翻译的,只有结束运行时才会进行翻译。所以,开启本地化服务的第一次运行并不能看到翻译后的预览效果。正常情况下,当我们结束运行后会在编辑器中弹出一个提示“翻译完成”,这样当我们再次点击运行就能看到翻译后的预览效果了。
4.自定义翻译
因为是系统自动翻译,难免会出现翻译不准确的情况,所以本地化服务还支持自定义翻译,各位Reworlders可以根据自己的需求,针对翻译不准确的文本信息进行自定义翻译。
当我们开启本地化服务后,在本地化服务的子目录中会出现一个语言表,打开语言表在英文自定义文本列中输入希望翻译成的文本信息即可。
本帖最后由 流苏 于 2021-12-15 18:59 编辑
请登录后评论~