本地化
本地化
从单个源发布多语言文档
Fern 让你从一套源文件发布多语言文档。读者可以从标题栏的下拉菜单切换语言,搜索功能限定在当前语言范围内,每个语言环境都有独立的 URL,便于搜索引擎分别索引。
你像往常一样维护默认语言页面。当你运行 fern generate --docs 时,Fern 会在构建过程中自动将它们翻译为每个配置的语言,因此你的站点每次重建时都会更新翻译。
本地化功能正在积极开发中。自动翻译、Ask Fern、fern check 错误和 API 参考页面仍在开发中。
如果你有兴趣为你的文档实施本地化功能,请联系我们。
早期访问设置
下面的手动设置目前可以使用。一旦本地化功能正式发布,大部分步骤将自动处理。
在 docs.yml 中声明语言
在你的 docs.yml 中添加 translations 键,列出每种支持的语言。将其中一种语言标记为默认语言。
Fern 支持两字母 ISO 639-1 代码(如 en、ja、zh)和完整的 BCP 47 区域标签(如 ja-JP、pt-BR、zh-Hans-CN)。
添加翻译文件夹
在你的 fern 目录中创建一个 translations 文件夹。在 docs.yml 中声明的每种语言都需要一个与其区域代码匹配的子文件夹。该文件夹包含翻译内容和导航覆盖设置。
翻译导航
对于你拥有的每个基础配置 YAML 文件——docs.yml、产品文件、版本文件——在 fern/translations/{locale}/ 下相同的相对路径创建匹配的文件并复制其结构。
在条目中,只包含你想要翻译的字段(display-name、subtitle、section、page);任何你省略的内容都会回退到基础文件。当页面名称是英语术语如 markdown 或 api-catalog 时,添加 slug: 来固定基础 URL。示例 PR
产品切换器
侧边栏导航
字段级回退仅适用于条目内。如果某个页面在基础导航中但在本地化 YAML 中缺失,本地化 URL 将提供默认语言页面——即使存在翻译的 .mdx 文件。在这里也要注册每个你翻译的页面。
翻译页面内容
在 fern/translations/{locale}/products/ 中放置翻译的 .mdx 文件,保持与原始文件结构一致。使用 sidebar-title 前置元数据字段为每种语言覆盖侧边栏条目:
你只需翻译你想要本地化的文件。任何在本地化导航中注册但没有匹配 .mdx 文件的页面会自动回退到默认语言文件。
仅添加翻译的 .mdx 文件不足以本地化页面——该页面还必须在本地化导航 YAML 中有条目。没有本地化导航条目,即使存在翻译文件,页面也会回退到默认语言。