Files
SteamFramelyHomebrew--framely/docs/localization.md
T
2026-10-04 20:12:06 +08:00

2.1 KiB
Raw Permalink Blame History

界面语言与社区翻译

English

Framely 内置简体中文和英语。在“设置”顶部选择语言;默认跟随系统语言,手动选择会保存在设备配置中。找不到对应语言时使用英语。语言文件缺少某条翻译时,该条内容回退到内置英语。

制作语言文件

从设置下载英文模板,或复制 ui/locales/en-US.json。文件是 UTF-8 JSON:

{
  "schemaVersion": 1,
  "locale": "fr-FR",
  "name": "Français",
  "messages": {
    "语言": "Langue",
    "保存": "Enregistrer",
    "启用 {0}": "Activer {0}"
  }
}
  • locale 使用语言代码,例如 en-US、zh-CN、fr-FR。不能使用 auto。
  • name 使用该语言自己的名称,显示在语言选择列表中。
  • messages 左侧是稳定的文案键,不要翻译或改写左侧;右侧才是译文。
  • {0}、{1} 等是运行时参数。可以调整位置,但不能增删占位符。
  • 可以先提供部分翻译,其余条目显示英语。空字符串是有效译文,不视为缺失。
  • 按目标语言习惯重写整句,结合实际操作理解按钮和状态。部分键是句子片段,注意保留必要的空格。
  • 文件只包含文本,不执行代码,也不解释 HTML。单文件最多 1 MiB、3000 条翻译,最多导入 50 个语言文件。

安装

在“设置 → 语言”点击“安装语言文件”,选择 JSON 文件。导入后在语言列表中选择它;再次导入相同语言代码会更新原文件。

安装后的文件位于 /var/lib/framely/locales/<locale>.json。也可以由管理员直接放入此目录,文件名必须与 locale 一致;刷新管理面板后读取。损坏的文件会跳过,并在设置中显示文件名。插件作者提供的名称、介绍、标签及插件页面由各插件维护,宿主语言文件不会自动翻译这些内容。

项目校验

执行 node tools/test-localization.mjs 检查内置英语是否覆盖全部界面文案键、占位符是否一致,以及系统语言匹配、手动选择和缺失翻译回退。