内容级多语言(CI i18n)
为 Halo 的文章与单页面提供内容级多语言译文:在后台编辑器中一键切换语言,按当前语言呈现对应译文正文,中文原文与各语言译文彼此独立保存,主题无需改造。
兼容 Halo >= 2.27.0。
功能
- 编辑器右上角「🌐 多语言」菜单,可切换 原文 / English / 简体中文 / 日本語 / Deutsch / Français。
- 原文与译文分离存储:中文原文保存在文章本身,各语言译文以独立的 PostTranslation 数据保存,互不覆盖。
- 首次进入某语言无译文时,自动调用翻译服务生成译文并缓存,二次切换即时呈现。
- 切换语言时可随时「取消」;快速连续切换采用「最后一次生效」,不会串味或跳动。
- 离开编辑器时自动还原原文,避免译文被当作正文写回草稿。
- 译文可保存、可编辑;只保存有改动的语言。
使用
- 安装并启用插件。
- 进入后台「文章」或「单页面」编辑器。
- 点击编辑器右上角「🌐 多语言」按钮,选择目标语言。
- 首次切换会自动翻译(显示进度与「取消」);之后可在该语言下直接编辑并保存。
- 选择「📄 原文(默认)」返回中文原文。
翻译服务与数据流向(重要)
插件自身不内置翻译引擎。当某语言尚无译文时,会将当前文章/单页面的标题与正文文本发送至以下第三方翻译服务以生成译文:
- MyMemory(https://mymemory.translated.net)— 主用翻译服务;
- Google 翻译 gtx 接口(translate.googleapis.com)— MyMemory 不可用时的兜底。
除上述用于翻译的文本外,插件不收集、不上传其他用户数据,也不含遥测或统计上报。若你不希望内容离开本机,可不使用自动翻译,改为手工填写译文。
安装
从 Halo 应用市场安装,或在后台「插件」页上传本插件 jar 文件安装。
开发
前端:cd ui && pnpm install && pnpm build-only;后端打包:./gradlew build。
许可证
GPL-3.0(见仓库 LICENSE 文件)。
反馈
问题与建议请提交到仓库 Issues:https://git.metapoint.tech:8443/sovlookup/halo-plugin-ci-i18n/issues

