【Unity Localization】基础教程-带你入门Unity官方国际化本地化多语言插件Localization 单独修改配置文件即可一体化控制全局文本实现多语言转换

Unity Localization 基础教程

1.基础概念

随着经济全球化的趋势,游戏也逐渐变的不分国界。在进行游戏内文本的国际化本土化多语言切换时往往是需要制作组耗费大量精力,那么今天要学习的这款Unity官方推出的国际化本地化插件 Localization 就可以进行多语言文本的全局管理达到快速切换文本语言的效果。

2.插件安装

1.打开Unity上方工具栏中的Window =>Package Manager打开Unity插件包管理界面请添加图片描述
2.点击右上角Package选项中Unity Registry,然后在右侧搜索栏中搜索 Localization
3.选择Localization插件并点击安装
在这里插入图片描述

3.创建Localization Settings

1.在Unity编辑器的顶部栏找到并点击Edit => Project Settings
在这里插入图片描述
2.打开Project Settings页面之后选择到Localization (如果Localization插件安装好了就会显示,反之没有安装好就不会显示该选项页面)
3.点击创建按钮后,选择好Localization Settings 的路径保存即可(如果之前已经创建直接选择已有Settings配置即可)
在这里插入图片描述
4.创建成功之后点击Locale Generator按钮生成在这里插入图片描述
5.勾选需要本地化的语言,选择好对应路径保存即可在这里插入图片描述
6.是否需要更换默认语言在这里插入图片描述

4.创建Localization Tables

1找到并点击Window => Asset Management =>.Localization Tables在这里插入图片描述
2.点击New Table Collection按钮创建新的本地化文本对应表在这里插入图片描述
3.选择String Table Collection类型
4.命名好Table的名称,点击Create选择对应路径创建即可在这里插入图片描述
5.创建好Table后,我们可以直接创建对应的文本实体(也可以在绑定Localization string event到对应文本时创建)
在这里插入图片描述

5.绑定Localization string event到对应文本

1.在场景中找需要多语言化的文本组对象在这里插入图片描述2.在该文本对象中添加Localize String Event组件在这里插入图片描述
3.点击String Reference将创建好的Localize Entry关联到该文本(如果没有提前创建好Entry则点击下方的Add Table Entry进行新建即可)
在这里插入图片描述
4.在关联Entry界面搜索Key并选择对应Entry进行绑定
在这里插入图片描述
5.此时点击开始项目,已经可以通过选择右上角的下拉框来切换对应文本的语言了在这里插入图片描述

6.编辑Localization切换语言脚本

在上述步骤完成后,已经可以在项目测试时使用编辑器内置的Localization下拉框中进行文本语言切换。接下来需要编写Localization切换语言脚本来完成在游戏进行时使用settings的语言选择下拉框进行文本语言切换。
1.先写一段下拉框语言切换方法

using UnityEngine;
using UnityEngine.UI;
using System;
using UnityEngine.Localization.Settings;

public class UIScripts : MonoBehaviour
{
    
    
    public Dropdown languageDropdown;
    public void selectLanguage(){
    
    
        StartCoroutine(changeLocales(languageDropdown.value));
    }
    public void selectLanguage(){
    
    
        //将下拉框当前选中选项的下标作为参数设置到LocalizationSettings的SelectedLocale达到实现语言切换的效果
        LocalizationSettings.SelectedLocale = LocalizationSettings.AvailableLocales.Locales[languageDropdown.value];
    }
}

2.将写好的selectLanguage方法挂载到Language下拉框的OnChange事件上在这里插入图片描述
3.编写并挂载完脚本后便可以实现项目进行时实现语言切换功能。

7.全局化控制文本多语言内容

当项目体量过大时候,难免会遇到海量的文本需要进行多语言化,此时直接在Localization Table里面是难以管理的,因此需要将Table以CSV的格式导出在外部与项目分离使用Excel进行管理。
1.以CSV格式导出Localization Table在这里插入图片描述
2.在导出CSV文件后,可以使用Excel工具直接进行文本的全局管理在这里插入图片描述
3.在CSV文件管理编辑后使用需要使用UTF-8的编码格式进行保存,否则在CSV再次导入回项目是中文字符会显示为乱码在这里插入图片描述
4.最后以相同的方式再次CSV格式的文件导入回Localization Table就可以正常使用了。

8.引用文献

Unity Localization官方使用手册

以上就是本文章全部内容了,如果觉得实用可以点个收藏和关注。博主空间还有更多和Unity相关的实用技巧欢迎大家来一起相互学习。

猜你喜欢

转载自blog.csdn.net/JavaD0g/article/details/132545647