跳转到内容
⌂ 回到首页

语言包教程

ECHO 本体自带五种内置语言。语言包让作者在 Workshop 里提供第六种(或更多)界面文案,例如文言文 lzh。索引 → 创意工坊 SDK

翻译字符串只活在工坊 JSON 里,不会改 ECHO 安装包。用户订阅并「使用」后,在语言设置里才能选到你的 locale。缺的 key 回退fallback(通常是 zh-CN)。

  1. 拷贝官方示例:
    Terminal window
    node .\bin\echo-workshop-sdk.mjs example locale-wenyan .\wenyan
    cd .\wenyan
    或新建:init .\wenyan --recipe wenyan-locale
  2. 打开 content/locale.json,看 strings 里 key → 译文。
  3. npm run check
  4. 发布后在 ECHO 语言设置里选「文言文」(以你写的 label 为准)。
{
"type": "echo-workshop-locale-pack",
"schemaVersion": 1,
"id": "echo.locale.lzh",
"title": "文言文",
"locale": "lzh",
"label": "文言文",
"nativeLabel": "文言",
"fallback": "zh-CN",
"strings": {
"route.workshop.label": "工坊",
"route.workshop.description": "掌 Steam 工坊之从订、验核与用否。"
}
}
字段含义
localeBCP 47 风格代码(如 lzhen-GB),勿与内置五种冲突除非你要覆盖行为
label / nativeLabel设置里显示的名字
fallback缺 key 时用哪种内置语言补全
strings键值表;key 必须与 ECHO 定义的 string id 一致

strings 的 key 必须是 ECHO 已暴露的界面 string id(示例里带 route.communityPage. 等前缀)。编一个不存在的 key 不会报错,但界面也不会出现你的翻译。参考 examples/locale-wenyan/content/locale.json 里已有 key 的范围,或从 wenyan 示例删减后逐批替换。

  1. wenyan-locale recipe 或 locale-wenyan 示例起步,保留完整 key 集合。
  2. 先翻高频:工坊、播放、设置、错误提示等用户常见路径。
  3. 未翻的 key 靠 fallback 显示简体中文(或你设的 fallback)。
  4. 每批改完 npm run check — 确保 JSON 合法、manifest 同步。
  5. description 写清这是什么语言、适合谁、不全翻译时行为如何。

不必一次翻几千条。partial locale 可发布,但要在列表描述里说明「部分界面仍为 fallback 语言」。

Terminal window
npm run set -- --title "文言界面"
npm run set -- --description "将 ECHO 界面译为文言,缺句回退简体中文。"

语言包没有 scaffold 换档;改内容就是编辑 locale.json

问题答案
会替换官方简中吗?不会;用户要在设置里主动选你的 locale
能只改几个词吗?可以,只写要改的 key,其余走 fallback
需要插件吗?不需要;kind 是 locale-pack
Steam 标签生成项目会带该 kind 默认 tag,quality 可能 warning 未配置 tag
  1. npm run check 全绿
  2. 发布与更新 走创作台
  3. 测试账号:订阅 → 使用 → 设置 → 语言 选你的 pack
  4. 逛一圈工坊、播放、设置页,看 fallback 是否可接受

用户侧工坊流程 → Steam 创意工坊