文件结构
Example file structure
配置语言切换器
docs.json 的 navigation 配置中设置 languages 数组。
docs.json
languages 数组中的每个语言条目都需要:
language:ISO 639-1 语言代码- 完整的导航结构
- 指向已翻译文件的路径
设置默认语言
languages 数组中的第一个语言会自动作为默认语言。若要使用其他语言作为默认语言,可以重新调整数组顺序,或添加 default 属性:
docs.json
default 属性来指定顺序:
docs.json
单语言文档
languages 字段,而是直接定义导航结构:
docs.json
docs.json 的 navigation 配置中设置 global 对象。
docs.json
footer 和 navbar 属性添加到每种语言的配置中:
docs.json
footer 和 navbar 会覆盖该语言的全局设置。如果某种语言未定义这些属性,则会继承全局配置。
你也可以按相同方式配置语言专属的 banner。
维护翻译
翻译工作流程
- 在主语言中更新源内容。
- 确定已更改的内容。
- 翻译已更改的内容。
- 审核译文的准确性。
- 更新翻译文件。
- 验证导航和链接是否正常工作。
自动化翻译
外部翻译服务商
- 导出源内容:提取需要翻译的 MDX 文件。
- 发送给译员:将文件提供给翻译服务商。
- 接收译文:取回翻译后的 MDX 文件。
- 导入并部署:将翻译文件添加到语言目录中,并更新导航。
.github/workflows/export-for-translation.yml
.github/workflows/import-translations.yml
- 保留 frontmatter:确保译员保持 YAML frontmatter 完整,仅翻译
title和description的值。 - 保护代码块:将代码块标记为“请勿翻译”,并告知翻译供应商。
- 使用翻译记忆库:提供术语表,列出应保留英文或需采用特定译法的技术术语。
- 自动化验证:在合并翻译内容前,使用 CI 检查验证 MDX 语法和 frontmatter。
- 版本控制:跟踪每份译文对应的源版本,以识别过时内容。
图片与媒体
es/index.mdx
多语言网站的 SEO(搜索引擎优化)
页面元数据
fr/index.mdx
最佳实践
日期和数字格式
- 日期格式:MM/DD/YYYY(月/日/年)vs DD/MM/YYYY(日/月/年)
- 数字格式:1,000.00 vs 1.000,00
- 货币符号:$100.00 vs 100,00€
保持一致性
- 在所有语言中保持内容对齐,确保每位用户获取同等质量的信息。
- 为技术术语创建翻译术语表。
- 在不同语言中保持相同的内容结构。
- 匹配源内容的语气和风格。
- 使用 Git branch 将翻译工作与主内容更新分开管理。
布局差异
- 导航显示正常且不会被截断。
- 代码块不会溢出。
- 表格和其他格式化文本保持良好的可读性。
- 图片能够适当缩放。
字符编码
常见问题
在上线新语言之前,是否需要翻译每一个页面?
在上线新语言之前,是否需要翻译每一个页面?
不需要。你可以在部分翻译的情况下上线某种语言,并随着时间逐步扩展。常见的做法是先翻译访问量最高的页面——通常是入门内容、认证相关内容和热门操作指南——将访问量较低的参考内容保留为默认语言,直到翻译完成。用户通常更喜欢有一些翻译内容,而不是完全没有。
当翻译页面缺失时会发生什么?
当翻译页面缺失时会发生什么?
如果用户访问一个不存在的翻译 URL,他们会看到 404 页面。为避免这种情况,你可以只在对应语言的导航中包含已翻译的页面,或者保持默认语言和翻译内容之间的一致性。在各语言之间使用相同的文件结构可以方便地识别哪些翻译缺失。
导航标签是否需要翻译?
导航标签是否需要翻译?
是的。导航标签——分组名称、标签页标题、锚点文本——应当与内容语言一致。在西班牙语文档中出现英文的”Getting started”标签会造成不协调的体验。Mintlify 支持特定语言的导航结构,因此每种语言都可以拥有完全翻译的标签。
如何处理翻译内容中的代码示例?
如何处理翻译内容中的代码示例?
代码本身不应翻译——变量名、函数调用和语法是语言无关的。代码块中的注释如果用于解释用户需要理解的概念,可以进行翻译。代码块周围的说明文字应完全翻译。
Mintlify 是否支持从右到左书写的语言,如阿拉伯语或希伯来语?
Mintlify 是否支持从右到左书写的语言,如阿拉伯语或希伯来语?
是的。阿拉伯语(
ar)和希伯来语(he)都在支持的语言代码列表中。当配置了这些语言代码时,Mintlify 会自动处理 RTL 布局。请测试你的文档在 RTL 模式下的显示效果,以验证导航、表格和代码块是否正确显示。增加语言会影响站点性能吗?
增加语言会影响站点性能吗?
Mintlify 将每种语言版本作为一组独立的静态页面提供,因此访问
/zh/quickstart 的读者只会加载该页面的中文内容,而不是所有翻译。增加语言不会改变最终用户的页面大小或运行时性能。不过,增加语言会扩大你的存储库以及构建的工作集。为保持写作和 CI 的高效:- 将翻译后的图片存放在按语言划分的目录中,避免将未使用的语言的内容拉入其他语言中。
- 在较大的存储库中,将
mint broken-links及其他 CI 检查限定在已更改的文件,而不是整个目录树。