Unity官方本地化插件localization
创始人
2024-05-10 04:50:55

官方文档地址:https://docs.unity3d.com/Packages/com.unity.localization@1.0/manual/QuickStartGuideWithVariants.html

使用流程

安装

PackageManager搜索Localization完成对应插件的安装

 

配置

PlayerSetting->Localization 创建本地化相关配置

 

创建之后点击Locale Generator可以选择需要支持的语言

 

创建Table Collection

TableCollection是一组本地化数据的集合。需要在Window->AssetManagement->Localization Table 点击New Table Collection,命名之后点击Create

 

 

编辑Table Collection

点击Edit Table Collection,之后选择需要编辑的Table Collection。

 

点击Add New Entry,可以添加一条新的本地化文本,Key是该文本的键值,后面可以填写不同语言对应的文本

本地化场景控制

控制界面通过Window > Asset Management > Localization Scene Controls打开

 

ActiveLocale:选项代表当前所处的本地化语言

Track Changes:该选项打开时,如果有本地化相关的组件(比如Text/Image)组件的参数值产生改变,会自动记录改变的内容

StringTable:当前本地场景控制读写的StringTable

AssetTable::当前本地场景控制读写的AssetTable

使用方法

以文本本地化为例子,修改一个开始按钮的文本

当打开TrackChanges选项时,先选择active locale为Chinese,并且选择好对应的StringTable

之后对文本进行修改,填入文本"开始"

可以看到Text处的框变成绿色的

 

并且在Text下方自动生成了一个GameObjectLocalizer的组件,组件上的跟踪的TableEntry也自动生成,并且在Chinese下将对应文字填充好

 

之后将ActiveLocale修改成English

 

可以看到Text内的内容自动产生改变,变成一个表示没有对应翻译的提示

 

删除文本框内的提示,填入该文本的英文翻译"Start",可以看到TableEntry内English对应的翻译由变成了我们修改的Start

 

运行验证

运行之后可以看到界面的右上角出现一个选择当前运行时的语言的菜单栏

当前的语言为Chinese,开始按钮上的文字也是之前Active Local为Chinese时编辑的"开始"

 

点击右上角的语言选择的菜单栏,将语言改为English,可以看到开始按钮上的文字自动变成"Start"

文本变化事件

在本地化组件修改本地语言的时候,会触发对应UpdateString事件,如果需要监听该事件的话,可以在Localize String Event组件下的Update String添加对应的事件监听

 

也可以通过代码的方式,通过LocalizedString的StringChanged事件对该事件进行监听

public class LocalizedStringWithEvents : MonoBehaviour
{public LocalizedString myString;string localizedText;/// /// Register a ChangeHandler. This is called whenever the string needs to be updated./// void OnEnable(){myString.StringChanged += UpdateString;}void OnDisable(){myString.StringChanged -= UpdateString;}void UpdateString(string s){localizedText = s;}void OnGUI(){EditorGUILayout.LabelField(localizedText);}
}

导入/导出Table

在Localization Tables界面的EditTable Collection页签下,选择需要进行导入/导出的Table

 

之后点击右上的三个小点,可以选择Export/Import文件

 

一般编辑流程是,先确定好Table里需要进行本地化Table Entry,并且完成对应关系的绑定。之后导出csv文件,用Excel打开之后可以看到对应的Key,以及默认生成的ID。之后可以将其交由进行本地化翻译工作的同事,不要修改Key和ID,仅填入本地化的文本。之后再将修改后的CSV导入到工程

 

相关内容

热门资讯

猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
阿西吧是什么意思 阿西吧相当于... 即使你没有受到过任何外语培训,你也懂四国语言。汉语:你好英语:Shit韩语:阿西吧(아,씨발! )日...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...