Unity Localization 初步了解及使用

前言

前段时间做的项目中有用到 Zenject + UniTask + UniRx + Localization + GoogleSheet + Addressable,后续文章中会挨个说明,本期先来介绍一下Localization。
为了让游戏在全球市场中取得成功,开发者需要确保游戏可以被不同语言和文化的玩家轻松理解和接受。Unity 提供的 Localization 插件是实现这一目标的强大工具。本篇博客将介绍 Unity Localization 插件的基础功能,并分享如何在项目中使用它进行本地化设置的最佳实践。

一、 Unity Localization 插件优点

  • 官方支持:作为 Unity 官方推出的工具,Localization 插件与 Unity 的其他工具和功能高度集成,确保了良好的兼容性和稳定性。
  • 易于使用:该插件提供了直观的用户界面和简洁的 API,使得即使是没有本地化经验的开发者也能轻松上手。
  • 支持多种内容类型:除了文本翻译,Localization 插件还支持音频、图片和其他资源的本地化,满足游戏开发中的各种需求。
  • 动态更新:插件支持运行时加载和动态更新翻译内容,无需重新构建整个项目。

二、在项目中使用 Unity Localization 插件

1.安装插件

在 Unity 的 Package Manager 中搜索 “Localization” 插件并安装。
进行插件安装

2.创建本地化表格

Edit => Project Settings => Localization, 在项目中创建新的 Localize Table,用于管理多语言文本。你可以根据需要为不同内容(如 UI 文本、对话等)创建多个表格。
生成需要的本地化语言并保存

3.添加翻译内容

找到并点击Window => Asset Management =>.Localization Tables, 在本地化表格中添加原文,并为每种目标语言输入对应的翻译文本。你可以手动输入或导入翻译表格(如 CSV 文件)。
配置多语言
在这里插入图片描述

通过CSV导入导出文件

4.应用本地化

在场景中的 UI 元素或脚本中使用 LocalizedString 来引用本地化文本。可以通过语言切换功能动态调整当前显示的语言。
在这里插入图片描述
在这里插入图片描述


三、使用 Unity Localization 代码示例

1.静态使用本地化内容的示例代码

静态使用是指在编译时就已经决定了使用的语言和本地化内容。这种方法适用于内容不需要在运行时动态更新的场景。
// 使用静态本地化内容

  // 使用静态本地化内容
  startButtonText.text = LocalizationSettings.StringDatabase.GetLocalizedString("UI", "StartGame");
  settingsButtonText.text = LocalizationSettings.StringDatabase.GetLocalizedString("UI", "Settings");

2.动态使用本地化内容的示例代码

动态使用本地化内容意味着在运行时根据当前选择的语言动态加载和更新本地化文本。这通常用于需要在游戏中途改变语言的场景。

 // 通过 LocalizeStringEvent 动态加载本地化内容
 startButtonLocalizedText.StringReference.SetReference("UI", "StartGame");
 settingsButtonLocalizedText.StringReference.SetReference("UI", "Settings");

3.多语言切换的实现

在游戏中实现多语言切换的功能,可以通过以下代码实现。

 // 切换到指定索引的语言
 LocalizationSettings.SelectedLocale = LocalizationSettings.AvailableLocales.Locales[languageIndex];

4.运行时展示

game窗口左上角
在这里插入图片描述

总结

Unity Localization 插件为游戏开发者提供了一个强大且易于使用的工具,帮助你轻松实现游戏的多语言支持。不仅支持文本的本地化,也支持图片等资源的本地化,满足了多语言和多文化场景下的游戏开发需求。
在本篇博客中,我们介绍了 Localization 插件的基本功能和使用方法,并通过代码示例展示了如何在项目中实现文本和图片的本地化。希望这些内容能够帮助你更好地理解并应用 Unity Localization 插件。
参考资料
[https://https://docs.unity3d.com/Packages/com.unity.localization@1.0/manual/index.html](Unity 官方文档 - Localization 插件)
[https://unity.com/cn/blog](Unity Blog - Best Practices for Localization)

  • 12
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是目前Unity最完整的本地化系统。 支持 Unity UI,Unity 2D,TextMesh Pro,NGUI,2D ToolKit,SVG导入器,标准组件 本地化 图像,文本,声音,字体,精灵,地图集,预制件,TextMeshes,下拉列表等。 自动翻译 内置支持Google Translator,可自动将所有标签本地化为任何语言。 Google Spreadsheets和CSV文件 链接外部电子表格,即使在游戏发布后,也会自动下载任何更改。 检测并修复错误 解析场景以查找丢失或未使用的翻译以及重复或类似的术语。 子对象翻译 设置辅助术语不仅可以更改文本和图像,还可以更改每种语言使用的字体和地图集。 回调和参数 可以修改翻译以使用语法语法插入分数,名称和游戏变量。 复数 每种语言的内置规则涵盖那些只需要单数/复数形式的规则,直到那些使用6种变体的规则。 从右到左语言 正确呈现RTL语言,支持换行和对齐。 保存内存 仅使用您正在使用的字符创建字体。链接您的AssetBundles以添加更多本地化内容。 简单高效 在一个位置编辑和预览所有翻译,然后在运行时仅加载当前语言。使用快速查找来访问它。 重复使用翻译 设置文本自动显示为大写,小写,上限,标题大小等。 在游戏动态翻译 Easy API在运行时翻译聊天消息和其他动态文本 应用程序名称和商店本地化 翻译游戏名称所有语言,并在Android / IOS商店中显示您的游戏支持哪些语言 简单但功能强大的编辑器 直观的检查员允许您预览,编辑,分类,创建,解析和过滤甚至大型来源。 编译时间检查 将翻译转换为脚本常量,以避免在访问代码时使用Typos。 Playmaker 可以 快速,轻松,强大地访问本地元素和交换语言并与之交互的几种操作?没问题! 立即获取I2本地化,让您的游戏为世界做好准备!
### 回答1: Unity Localization 是一款免费的 Unity 插件,专门用于帮助开发者实现游戏本地化。通过使用 Unity Localization,开发者可以轻松地在游戏中添加多语言支持,将游戏的文本、音频和图像资产翻译成多个目标语言,满足全球用户的需求。 要下载 Unity Localization,首先需要进入 Unity Asset Store,这是 Unity 官方提供的资源商店。在搜索栏中输入“Unity Localization”,会出现相关的搜索结果。找到 Unity Localization 插件后,点击 “Add to My Assets” 添加到自己的资产列表中。然后,点击 “Buy or Download” 按钮进行购买或下载。 Unity Localization 的下载方式有两种:免费试用版和付费版本。免费试用版包含基本的功能,适合个人用户和小型项目使用。付费版本则提供了更多高级功能和技术支持,适用于大型项目和团队开发。 下载完成后,可以通过导入 Unity Localization插件包来使用。打开 Unity 软件,选择 Assets -> Import Package -> Custom Package,然后选择之前下载的插件包进行导入。接下来,按照插件的文档或教程,学习如何在 Unity使用本地化功能。 Unity Localization 提供了丰富的工具和接口,方便开发者管理和翻译游戏中的文本、音频和图像资源。通过使用插件,开发者可以轻松地创建多语言版本的游戏,为不同的地区和语言用户提供更好的体验。 ### 回答2: Unity Localization 是一个用于在 Unity 中管理本地化内容的插件。它提供了一套工具和API,使开发人员可以轻松地在不同语言和地区之间切换,并在游戏中动态加载正确的本地化文本、音频和图像。Unity Localization 可以通过 Unity Asset Store 进行下载。 要下载 Unity Localization,首先需要打开 Unity Asset Store。在 Asset Store 的搜索栏中键入 "Unity Localization",然后按下搜索按钮。在搜索结果中,找到 Unity Localization 插件,并点击 "Download" 或 "Buy" 按钮。如果该插件是免费的,点击 "Download" 即可开始下载。如果需要购买该插件,点击 "Buy" 并按照提示进行付款。 下载完成后,可以在 Unity 编辑器中导入 Unity Localization 插件。打开 Unity 编辑器,在菜单栏中选择 "Assets",然后选择 "Import Package",再选择 "Custom Package"。浏览到下载的 Unity Localization 插件文件所在位置,并选择该文件进行导入。导入完成后,Unity Localization 的功能和工具将可用于项目中。 Unity Localization 插件的具体使用方法和详细文档可以在 Unity 官方网站或 Unity Asset Store 上找到。有了 Unity Localization,游戏开发人员可以更加方便地实现多语言和多地区的本地化,为玩家提供更好的体验。 ### 回答3: Unity localization是一种用于在Unity游戏引擎中实现多语言支持的工具。它允许开发者在游戏中轻松地切换不同的语言,并根据用户的语言设置来自动加载正确的本地化文本。 要下载Unity localization插件,首先需要打开Unity编辑器。然后,点击顶部菜单栏的"Window"选项,再选择"Package Manager"。在Package Manager窗口中,可以看到游戏中已经安装的所有插件和工具。 在Package Manager窗口中,可以搜索Unity localization插件。找到插件后,点击右侧的"Install"按钮,Unity编辑器将会自动下载并安装所选的插件。 下载完成后,可以在Unity编辑器的任何位置找到已安装的Unity localization插件。可以通过点击顶部菜单栏的"Window"选项,再选择"Localization"来打开插件的主界面。 通过Unity localization插件,可以创建多个语言的本地化资源。可以在编辑器中添加不同语言的文本,并为每个语言设置对应的翻译文本。插件还提供了一些辅助工具,例如批量导入和导出本地化文本,以及自动识别和加载用户的语言设置等功能。 通过Unity localization插件,开发者可以轻松地为游戏提供多语言支持,以满足不同地区和语言用户的需求,并提升游戏的可玩性和用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值