Skip to content

Unity Localization 使用

参考

官方说明:

https://docs.unity3d.com/Packages/com.unity.localization@1.0/manual/QuickStartGuide.html

使用步骤

TIP

仅针对 Unity 版本 2020.3+ 的操作,更低版本参考官方文档中的说明进行操作

添加环境依赖

  • 检查 Unity 是否已经添加 Localization 依赖,有些版本自动带有 Localization 组件。
  • 如果没有添加可以通过 Unity 菜单->Window->PackageManager,添加 Localization(com.unity.localization)
  • 参考官网更新日志,确定自己适合使用的版本。

创建并设置 Localization 资源

A. 创建 Localization Asset

打开 Editor->Projection Settings->Localization,如果尚未创建设置资源,就创建一个新的。

创建资源时,为方便资源管理,建议选择新的目录

B. 添加和设置语言(Locale)

  • 在 Available Locales 中添加新的语言包(Add Locale)
  • 在 Locale Selectors 和 Project Locale Iedentifier 中选中需要的语言。其中简体中文,繁体中文,英文是系统支持的三种语言,应用开发时应当勾选

  • 打开 Window->Asset Manager->Localization Tables, 在新窗口中点击 New Table Collection 创建表单
  • 其中 Type 有两种类型,"String Table Collection"表示文本相关的表单,"Asset Table Collection"表示图片等资源类的表单。可以根据需要自行创建对应的表单。
  • 两个都创建。
  • 手动添加键值

以 String Table 为例

以 Asset Table 为例

C. 记录变化

  • 打开 WIndow->Asset Manager -> Localization Scene Controls
  • 关联 String Table 和 AssetTable
  • 选择"Active Locale"切换语言, 勾选“Track Changes”,开始记录

  • 对场景/资源等进行编辑,切换语言,再次编辑
  • 完成编辑后,取消勾选“Track Changes”,此时可以切换"Active Locale"观察效果

编辑已经生成的表单键值

  • 打开 Window->Asset Manager->Localization Tables,选择相关的 table,可以在 entry 中进行删改具体的项目

代码中切换语言

核心代码是

json
LocalizationSettings.Instance.SetSelectedLocale( Locale locale);

如果使用 Unity Localtion,SDK 在收到系统语言切换回调时会进行切换,目前 SDK 对系统的简体中文,繁体中文,英文做了适配: