SuperAPI AI 工具集

localize-unity-project

编程与开发

查看项目

更新于 11-08 11:47

技能介绍

用途

该技能用于在 Unity 项目中设置 Unity Localization,包括创建语言区域、String 表和 Asset 表、绑定本地化字符串事件,以及为中文、日文、韩文等 CJK 语言配置字体。适用于用户希望为游戏或应用添加语言、翻译 UI 文本的场景。

主要能力

  • 检查 com.unity.localization 包是否已安装,未安装时通过 UnityEditor.PackageManager.Client.Add 安装,并确认程序集加载完成。
  • 查找或创建 LocalizationSettings 资源,创建并添加语言区域(locale)。
  • 创建和维护 String Table 与 Asset Table,按 Locale.Identifier.Code 显式匹配数据,修改后调用 EditorUtility.SetDirty 与 EditorEvents.RaiseCollectionModified 通知编辑器。
  • 为 TextMeshPro 或旧版 UnityEngine.UI.Text 添加 LocalizeStringEvent 组件并正确绑定,校验绑定是否实际生效。
  • 支持 CJK 字体配置,并提供 UGUI 自动布局调整指引,避免翻译文本溢出。
  • 提供翻译策略参考、表完整性检查和批量本地化模板(scripts/L10nBatchProcessor.cs)。

使用方式

通过 unity 命令(--format json)配合 unity-cli 和 unity-pipeline 技能分步执行。操作前先建立当前行为基线并创建可回滚的还原点。文档优先读取项目内 Library/PackageCache 下的 .md 文件,必要时按已安装包版本访问 docs.unity3d.com 对应页面,API 版本以 packages-lock.json 为准。批量操作前必须向用户确认,确认后由用户在编辑器中点击确认按钮;取消时抛出 OperationCanceledException 且不写入任何内容。

适用场景

为现有 Unity 项目添加多语言支持、翻译 UI 文本、管理本地化表、配置 CJK 字体,以及需要一次性处理多个场景的批量本地化工作流。

限制

不修改与本地化无关的资源或文件,不在用户脚本中留下验证代码,不自行添加日志或检测逻辑。不做超出用户请求范围的改动。批量处理会打开并保存所有场景,无法自动撤销。编辑器内语言预览(Localization Scene Controls)仅限编辑器,不同于运行时切换(通过 LocalizationSettings.SelectedLocale)。文档缺失时改用在线页面;具体包版本支持情况需以项目实际安装版本为准。