欢迎光临散文网 会员登陆 & 注册

Unity学习记录/ #4 Localization

2022-08-21 15:48 作者:Kanada_a  | 我要投稿

 Localization,就是游戏本土化系统。在我们平日玩游戏的时候,可能遇到过这种情况:

我们需要中文
We need Chinese
中国語は必要
Nous avons besoin de chinois
Wir brauchen chinesisch
Necesitamos chino
potrzebujemy chin
Precisamos de chinês
Нам нужно китайский
เราต้องการภาษาจีน
Χρειαζόμαστε κινέζικα

    一款游戏想要让全世界玩家游玩,就必然需要对游戏进行本土化处理,让不同语言的玩家都能畅玩。当然,游戏公司一般都会将游戏的本土化处理交给外包公司进行翻译制作。那么我们独立开发一款游戏时,该如何制作的游戏的本土化呢?Unity 官方就为此制作了一个免费的插件,Localization,方便我们独立对游戏进行本土化翻译。(当然拥有这样的一个系统之后,游戏的翻译工作也至关重要 笑)

一、导入Localization

    想要使用Localization插件,我们需要先在Unity项目中,打开Window → Package Manager 在左上角更改选择为Unity Registry,就可以搜索Localization点击install进行安装。

目前版本为1.0.5

    要使用Localization,我们首先要创建一个Localization Settings。Localization Settings是一个Asset文件,我们可以在Asset窗口右键进行创建。

右键进行创建

    也可以在 Edit → Project Settings → Localization 窗口里,点击Create创建并保存。

Project Setting窗口

二、编辑Settings

    让我们点击Localization Settings文件,简单看一下配置内容。

Settings文件

Available Locales:可以在这里设置添加项目中可用的区域语言,例如你的项目想要能支持英语、中文和日语的话,就需要我们在此处添加那三种语言。

    点击Locale Generator,就能打开面板进行语言的添加,搜索和勾选我们需要的语言,并点击Generator Locales就完成了。

提供了非常非常多不同种类的语言
添加成功后会这样显示

    在Settings里面成功添加语言后,会出现新的 Locale 文件,在这个文件中会显示Locale的各种信息:货币、日期时间等等。

中文Locale文件信息

    在Settings里面的Locale Selectors里,我们还可以选择默认的Locale。

选择默认语言为中文
三、L哦擦里扎提哦那

三、Localization Tables编辑内容

Localization Tables 可以让我们编辑不同语言下的不同内容,包括文字、图片、音频等等。

Window → Asset Management → Localization Tables 打开 Tables 后点击 New Table Collection

打开Tables窗口
New Table Collection窗口

    值得一提的是,在这个窗口中,我们同样能够通过点 Locale Generator 去设置语言。

Type:Table Collection 总共有两种类型,String 和 Asset 两种类型,String Table Collection 支持我们储存 String 文字,Asset Table Collection则支持储存 Object 类型,例如:GameObject、Sprite、AudioClip等等。

Name:设置新创建的 Localization Table 的名字。

    设置好后,点击 Create 创建新的Table。

Tables界面

    通过观察这个界面我们不难看出来,他是一个类似于字典的数据结构,通过一个Key关键字存储不同语言下对应的内容。Object 类在Unity中充当了绝大多数内置类的基类,例如 GameObject、 ComponentMaterialTextureMeshSprite 等等,都可以配置到这个表格中。

    同样值得一提的是,在 String Tables 中的 Smart 设置,让文本中的文字变成智能文字,支持其他脚本传进来的数据。

String Tables
四、使用Tables文件

四、使用Localization文件

    在配置完了 Localization 文件后,我们该如何使用该系统呢?

    Unity可以通过多种不同的方式访问Localization文件,接下来将演示其中一种方式。在场景中新建一个 Text 组件,点击 Text 组件右上角的按钮,选中 Localize。

Text组件最右的按钮

    点击之后,Unity编辑器会自动为这个 Text 对象挂载了一个Localiza String Event 组件,因为是 Text 自动为我们选择为 String 类型的。在String Reference中选择为我们刚刚所创建的 Table Key,这样子在 Play 运行的过程中,就会根据不同语言选择,显示不同的文本内容了。在这个组件中,我们同样还可以通过点击 Add Table Entry 和 Add Locale 来新建Key 和 Table文件。以及修改Entry Name 和不同语言下的内容和Smart属性。

String Localization

    同理,Asset Localization的使用也与String相同。

Sprite下的Localize

    以上就是 Localization System 的基础使用,因为目前Unity的这个插件还只是刚刚变为正式版,还存在一些拓展使用上的问题,不过已经基本满足我们项目的使用了,还是很不错的一个插件。

聊聊:大家好,暑假已经接近尾声了我也终于能闲下来写写专栏内容,后面开学了也会继续写下去的(没人会看的!),我也不是什么Unity大佬只是想写点自己的学习知识,以后计划还会写点别的内容的专栏,比如杂谈、自己的游戏原型设计啥的吧。

本期教程推荐:

咖喱饭游戏老师的Localization教程:

https://www.bilibili.com/video/BV1Rt4y1a7FQ?share_source=copy_web

官方文档:Quick Start Guide | Localization | 0.10.0-preview (unity3d.com)

Unity学习记录/ #4 Localization的评论 (共 条)

分享到微博请遵守国家法律