橡果与遗迹 Wiki
决策记录

D002多语言与地区扩展

最后编辑 2026-10-21 03:16 · 第 1 版 · 新增页面 · 修订记录(1)

  • 状态:已确认:目标是保留多语言能力。策划建议:具体实现方案(本文)。待验证:标为 T 的几项。
  • 日期:2026-10-21
  • 背景:主语言是简体中文。将来可能推广到台湾等地区,需要繁体或双语方案。现在不做翻译,但现在就按可翻译的方式制作,避免以后返工。
  • 影响范围:所有面向玩家的文字、自研插件、CE 与云系列配置、美术贴图与界面、数据存储、部署结构。

一、核心原则

现在只写简体,但每一句话都要能被替换。 以后要上繁体或英文时,只需要加语言文件,不改代码、不改配置结构、不重做贴图。

这件事的成本几乎全部集中在开发初期。初期每句话多花几秒;等到后期才回头补,会变成一次全量返工。

二、各层能力与方案

层 现有能力(知识库已核) 本项目方案
资源包语言文件 原版客户端会按玩家设置的语言自动选用 zh_cn.json、zh_tw.json、en_us.json 物品名、方块名等能用翻译键的地方一律用翻译键。首发只填 zh_cn,其他语言先留空壳文件
CraftEngine <i18n:键> 在服务端解析,全服统一一种语言;<l10n:键> 在发包时按每个玩家的语言解析 CE 内容一律用 <l10n>,支持同一个服里不同玩家看到不同语言
云系列 每个插件只有一份 lang.yml 或 messages.yml,全服共用一种语言。没有看到按玩家切换语言的能力 按地区各部署一份语言配置(见第三节)。可翻译的原版物品名({item})会自动按玩家语言显示
自研插件 我们自己写 强制要求:所有文字通过语言键读取,按玩家的客户端语言选择,缺失时回退到 zh_cn。语言文件和代码分开存放

T-L1 待验证:CloudItems 和 CloudUI 的物品名、界面文字能否直接写 CE 的 <l10n> 标签或原版翻译组件。如果能,单服双语的覆盖面会大很多。

三、地区扩展的部署思路

主路线:一个地区一套部署,用对应的语言包。

  • 网易中国版只面向中国大陆。台湾玩家通常不走网易平台,需要另开入口(国际版或其他平台),账号认证也不同。所以台湾服大概率本来就是一套独立部署。
  • 独立部署时,云系列直接换整份繁体的 lang.yml,不需要它支持按玩家切换语言。云系列配置本身也能读繁体键名。
  • 能做到"单服多语言"的部分(资源包、CE、自研插件),顺带也就支持了双语服,作为可选方案。
方案 适用场景 云系列文字 其他文字
A. 地区独立服(主路线) 台湾服、海外服 换整份语言文件 跟随玩家语言或地区默认语言
B. 单服双语(可选) 一个服同时接待两地玩家 只能保留一种语言 跟随玩家的客户端语言

四、制作规范(所有人都要遵守)

文字

  1. 不在代码或配置里写死玩家能看到的文字,一律写成语言键,比如 acorn.npc.smith.greet。
  2. 整句一个键,用占位符插入变量:你获得了 {item} ×{count}。不要拼接句子,因为不同语言的语序不一样。
  3. 键名规则:acorn.<模块>.<对象>.<用途>,全小写英文,不用拼音。
  4. 专有名词统一管理:地名、生物名、装备名、系统名都登记到《术语表》,翻译时以术语表为准,不让同一个东西出现几种叫法。
  5. 语言文件集中存放:主文件 zh_cn;zh_tw 和 en_us 先建空壳,保证缺失时回退正常。

美术与界面

  1. 贴图里尽量不画文字。 界面标题、按钮文字都用文字层叠加,不画进图里。
  2. 非画不可的(Logo、海报、宣传图、特殊标题字):保留分层源文件,文字单独一层,并登记到《需本地化的美术资产清单》。
  3. 界面要给文字留宽度。 繁体和简体宽度差不多;英文通常长 30% 到 50%,按钮和标题栏留出余量,或者支持自动缩字。
  4. 不用谐音梗或简体特有的字形玩笑做核心内容,比如藏在字形里的谜题。遗迹解谜要用图形、符号、声音,不要依赖汉字。

数据

  1. 数据库、奖励账本、发现记录里只存 ID 和键,不存显示名。 否则换语言以后,旧记录会变成另一种语言,或者对不上。

五、地区差异内容(预留)

除了文字,换地区还可能涉及以下内容。现在不做,但要做成可拆卸的模块:

  • 网易专属:网易认证、商业化发货接口、防沉迷、实名提示。它们只属于网易部署,不能写进通用玩法逻辑里。
  • 支付与价格、法规提示、节日活动(大陆和台湾的节日不完全相同)。
  • 文化敏感内容:上线前做一次地区审查。

六、对其他文档的影响

对象 要求
美术(GPT) 遵守第四节第 6 到 8 条,写进《美术资产规范》
开发(Claude 窗口) 遵守第 1 到 3 条和第 10 条;按玩家语言加回退机制,写进《开发规范》;网易专属功能单独成模块
用户(配置) CE 配置用 <l10n>;云系列文字只改 lang.yml 或 messages.yml,不散写在各处
策划(我) 维护《术语表》,从第一个专有名词开始登记;设计解谜时不依赖汉字字形
D001 部署结构要预留"一个地区一套部署"的可能性。版本锁定、插件授权都要考虑以后多一套部署(授权是否需要额外购买,问作者)

七、待验证与待办

  • T-L1:CloudItems 和 CloudUI 的文字能否使用 <l10n> 或原版翻译组件
  • T-L2:网易客户端在资源包语言文件方面的表现与国际版是否一致
  • 问云系列作者:多一套地区部署时,授权怎么处理
  • 我:建立《术语表》(策划/术语表.md)