Unity官方本地化插件localization

官方文档地址: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对应的翻译由<empty>变成了我们修改的Start

 

运行验证

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

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

 

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

文本变化事件

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

 

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

public class LocalizedStringWithEvents : MonoBehaviour
{
    public LocalizedString myString;

    string localizedText;

    /// <summary>/// Register a ChangeHandler. This is called whenever the string needs to be updated./// </summary>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导入到工程

 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五仁烧饼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值