Unity官方本地化插件localization
创始人
2024-05-09 23:16:25
0

官方文档地址: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导入到工程

 

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...