跳至主要内容
SheetForge

本地化

本页讲的是产品自身 UI 的语言。本地化你的游戏文本——键、翻译、Unity Localization 的 StringTable——是一个不同的主题,有它自己的页面:本地化表格

产品 UI——菜单、创作窗口、面板、对话框、报告、工具提示——都提供 10 种语言(确切的边界,包括哪些报告片段仍保留英文,见下文"本地化的边界"一节):

English (default) · 한국어 · 日本語 · 简体中文 · 繁體中文 · Español · Français · Deutsch · Português (Brasil) · Русский

更改语言

  • 首次运行时,UI 语言会根据你编辑器的操作系统语言自动设置(九种语言有直接对应;其他语言则保持英文)。控制台会记录这一选择——之后可以随时按下文方法更改;显式选择的语言永远不会被覆盖。
  • Edit ▸ Preferences ▸ SheetForge → 语言弹出菜单,或者导入设置面板顶部的 "Editor language" 字段(两者读写的是同一个值)。
  • 语言是一项按用户设置的选项(EditorPrefs)——每位团队成员都可以使用自己的语言,并且这项设置完全不涉及版本控制(零 VCS 变动)。

菜单同样是本地化的

[MenuItem] 标签是静态特性,无法在运行时更改,因此 SheetForge 会以所选语言重新生成一个精简的菜单文件Assets/SheetForge/Editor/Generated/,已被 Git 忽略)——更改语言会触发一次简短的重新编译(不会出现循环;内容相同则绝不会重写)。如果该文件夹缺失,或语言不匹配(例如刚克隆完仓库时),它会自动自我修复。Tools/SheetForge 这一根节点是固定的品牌常量;叶子标签则会随语言变化。

在导入/导出/推送运行期间,语言更改会被锁定——菜单再生成所触发的重新编译不能打断正在运行的管线。请在那之后再更改语言。

本地化的边界

在全部 10 种语言中完全本地化的部分:

  • 编辑器绘制的 UI:菜单、创作窗口、面板、对话框、按钮、工具提示。
  • 报告的骨架,以及每个错误的"为什么"/"怎么办"语句。

内嵌英文的部分(位于本地化的骨架内部):

  • 报告的细节片段——出问题的值、近似匹配建议,以及其他运行时插值的内容,这些都无法作为语言表的键存在。
  • 底层异常和开发者日志([SheetForge])。

一处尚待解决的缺口,如实说明: 在 1,043 个键中,大约有 345–360 个——Data Studio 的 227 个 ui.studio.* 键,加上主题偏好设置以及最新的一些对话框与日志文案——在除英语和韩语之外的八种语言中,依然保留着英文文本。每一个键在每个语言文件中都存在(键的一致性由测试强制保证,因此不会有任何地方回退成裸键名),所以这是一次尚待进行的翻译工作,而不是结构性的缺口。见功能与限制 ▸ 本地化范围

产品源代码中不含任何韩语字符串字面量——由两套测试工具中的守护测试强制保证。(唯一的数据例外:语言选择器中每种语言的自称,例如 한국어。)

添加或修正翻译

每种语言恰好对应一个文件Assets/SheetForge/Core/Tooling/Localization/Lang/Lang{Language}.cs——一个纯静态字典,因此译者可以跨语言并行工作而不会产生合并冲突。

  • 英语(LangEn)是规范的键列表。 其他每种语言都必须覆盖相同的键。
  • 一项一致性测试会立即捕获任何语言中缺失的键、多余的键,或被破坏的占位符({name})。
  • 要调整一处翻译:编辑对应语言的文件,保持占位符完整,然后运行测试。

相关页面