跳转至

翻译状态

FastAPI-fastkit 以多种语言发布文档,但这些翻译并不总是完全同步。本页面会说明哪些内容已经翻译、未翻译时会显示什么,以及您可以如何参与补充。

权威来源

英文(en)是权威来源。 文档中描述的所有产品、CLI 与 API 行为,都先在英文文件中编写。其他语言是这些英文源的翻译,可能落后于某个版本。

如果某个翻译页面与英文页面不一致,请以英文页面为准,直到翻译跟上为止。

英文文件位于 docs/en/。所有其他语言(docs/ko/docs/ja/,……)都是翻译目标。

仓库根目录的 CHANGELOG.md 也属于这份英文权威来源。各语言的 changelog.md 页面可以作为入口页或包装页存在,但会刻意复用规范的英文版本历史,而不是维护一份独立的翻译版本。

各语言的完成度

下表中的数字是各语言目录中的 Markdown 页面数,相对于英文源的比例。它们反映的是仓库中实际存在的内容 —— 而不是语言切换器中显示的样子(下一节会解释)。

语言 状态 Markdown 页面数 备注
🇬🇧 英文(en) ✅ 权威来源 26 / 26 标准来源。
🇰🇷 韩文(ko) ✅ 完成 26 / 26 该语言的所有页面都已存在。Phase 1:顶层页面 + 核心用户指南;Phase 2:其余用户指南 + 全部教程;Phase 3:贡献文档 + 参考文档。docs/ko/changelog.md 刻意复用规范的英文 CHANGELOG.md
🇯🇵 日文(ja) ✅ 完成 26 / 26 该语言的所有页面都已存在。Phase 1:顶层页面 + 核心用户指南;Phase 2:其余用户指南 + 全部教程;Phase 3:贡献文档 + 参考文档。docs/ja/changelog.md 刻意复用规范的英文 CHANGELOG.md
🇨🇳 中文(zh) ✅ 完成 26 / 26 该语言的所有页面都已存在。Phase 1:顶层页面 + 核心用户指南;Phase 2:其余用户指南 + 全部教程;Phase 3:贡献文档 + 参考文档。docs/zh/changelog.md 刻意复用规范的英文 CHANGELOG.md
🇪🇸 西班牙文(es) ✅ 完成 26 / 26 该语言的所有页面都已存在。Phase 1:顶层页面 + 核心用户指南;Phase 2:其余用户指南 + 全部教程;Phase 3:贡献文档 + 参考文档。docs/es/changelog.md 刻意复用规范的英文 CHANGELOG.md
🇫🇷 法文(fr) ✅ 完成 26 / 26 该语言的所有页面都已存在。Phase 1:顶层页面 + 核心用户指南;Phase 2:其余用户指南 + 全部教程;Phase 3:贡献文档 + 参考文档。docs/fr/changelog.md 刻意复用规范的英文 CHANGELOG.md
🇩🇪 德文(de) ✅ 完成 26 / 26 该语言的所有页面都已存在。Phase 1:顶层页面 + 核心用户指南;Phase 2:其余用户指南 + 全部教程;Phase 3:贡献文档 + 参考文档。docs/de/changelog.md 刻意复用规范的英文 CHANGELOG.md

快照验证时间:2026-06-18;在 Phase 3(贡献文档 + 参考文档)完成后,已基于当前分支重新统计 zh 这一行。中文目前 26 个本地化页面全部就位,状态记为 ✅ 完成。 此表通过人工维护;如需在仓库根目录重新统计当前状态,请运行:

$ for loc in en ko ja zh es fr de; do
    echo "$loc: $(find docs/$loc -name '*.md' 2>/dev/null | wc -l | tr -d ' ')"
  done

若重新统计的结果与表格不一致,说明表格已过时 —— 请更新它(或开 PR / issue 报告差异)。

图例:

  • 权威来源 —— 我们以此语言为基准撰写。
  • 🟡 部分翻译 —— 已翻译部分页面;缺失的页面会回退到英文。
  • 🔴 骨架 —— 语言切换器中存在该入口,但尚未提交任何翻译过的页面。站点会在翻译后的导航标签下渲染英文内容。

回退机制如何工作

文档站点使用 mkdocs-static-i18n 并开启 fallback_to_default: true。这意味着:

  • 对每个翻译语言,MkDocs 只为该语言目录中存在的页面生成输出。
  • 对每个不存在于某语言的页面,构建会回退到该页面的英文版本。
  • 全站语言切换器始终列出所有已配置的语言,而不论每个语言实际包含多少页面 —— 因为构建会为每种情况生成可访问的 URL(本语言页面 → 必要时回退到英文)。

所以,语言切换器中的 🔴 骨架条目并不意味着文档已经翻译完成 —— 它只表示该语言的构建目标已经配置好。这样设计是有意为之(外部贡献者可以逐页翻译,而不会破坏链接结构),但也确实会让语言切换器看起来比实际内容更完整。

如何阅读站点

  • 默认使用英文,若您希望获得最准确、最新的信息。
  • 先查看本页确认状态,再决定是否使用翻译语言。如果状态是 🟡 或 🔴,而您打开了尚未翻译的主题,实际看到的会是英文回退内容,只是外层仍显示翻译后的导航标签。

如何提供帮助

当前的推进方式是:每种语言对应一个跟踪 issue,再把工作拆成若干阶段(phase)。例如 ko 会分为 Phase 1(顶层页面 + 核心用户指南)、Phase 2(其余用户指南 + 全部教程)和 Phase 3(贡献文档 + 参考文档)。每个阶段都会以独立 PR 落地,这样审阅者可以聚焦于一个完整的小范围,不必等到整套翻译全部完成。

如果您想贡献:

  1. 阅读 翻译指南,了解工作流程、工具与风格约定。
  2. 优先查找或创建对应语言的跟踪 issue。 若该语言已有一个开放的跟踪 issue,请在其中认领某个 phase(或 phase 内某个具体页面),以避免重复工作。如果尚不存在跟踪 issue,请创建一个,列出每个 phase 所属的页面,然后从 Phase 1 开始。
  3. 首选每个 phase 对应一份 PR。更小的“只修这一页”PR 同样欢迎 —— 尤其适合修复与英文不同步的内容 —— 但对于全新的语言翻译工作,按 phase 打包更有利于保持术语和交叉链接措辞的一致性。
  4. 提交 PR,将文件加入 docs/<locale>/<相同路径> 下。请保持文件名与英文源完全一致,这样 MkDocs 才会自动识别。
  5. 将本地化的 changelog 页面视作规范英文 CHANGELOG.md 的包装页或入口页,除非项目政策以后明确调整。
  6. 更新本页表格以反映新的完成度(可使用本页顶部的重新统计片段),并同步更新“快照验证时间”,方便审阅者确认上次对齐的时间点。如果该语言仍处于部分翻译状态,请在“备注”列注明已经完成到哪个 phase。

也欢迎报告翻译页面与英文源失同步的缺陷 —— 请同时附上英文页面与翻译页面的链接,便于分流。

为何还要保留 🔴 骨架语言

两个原因:

  1. 可预测的 URL 结构。 每种语言的 /<locale>/ 子树都已可访问,这样翻译页面一旦落地,链接从第一天起就是稳定的 —— 包括本指南里已经发布过的链接。
  2. 降低贡献门槛。 只翻译单页的贡献者无需再去修改 MkDocs 配置接入新的语言构建目标 —— 直接把文件放到对应位置即可。

如果某个语言长期处于 🔴 骨架且没有任何贡献,我们会重新评估是否保留它的构建目标。该决定会单独跟踪,不会由这个状态页面悄悄改变。