Skip to content

为网站或文档站点添加 i18n ​

本页面适用于处理单语言的文档网站(Markdown 或 MDX)或营销/静态网站(Astro 网站或纯 HTML)。该工具会使用您的 LLM 提供商上的模型来翻译您的页面内容,并为每种语言写入一个本地化副本。您的网站框架会提供这些副本,并提供语言切换器。

对于 UI 字符串位于 t() 调用中的应用,请改用为 JS/TS 应用添加 i18n或为 Python 应用添加 i18n。

你的情况是? ​

你的站点初始模板从这里开始
Astro Starlight 或原生 Astroui-starlight / 混合 UI 字符串Astro
Docusaurusui-docusaurusDocusaurus
VitePressui-vitepressVitePress
Nextra 4(Next.js App Router)ui-nextraNextra
Fumadocs 4(Next.js App Router)ui-fumadocsFumadocs
纯 HTML 页面ui-plain-html 或 docs-plain-html纯 HTML 应用
没有站点框架,只有 README 和 Markdown 文件docs-markdown,或任何模板加上 --with-readme为你的 README 和 Markdown 文档添加 i18n
代理提示

步骤 ​

每个框架的流程结构都相同;具体细节请参阅上面链接的框架指南。

  1. 安装 CLI 并设置 API 密钥:安装、提供商和 API 密钥。
  2. 搭建脚手架:ai-i18n-tools init -t <template> -P <provider>。
  3. 设置 sourceLocale、targetLocales 和 docs[].contentPaths(用源语言编写的页面和文件夹)。sourceLocale 可以是任何语言。框架指南会展示正确的 docsOutput.style。
  4. 启用框架自带的 i18n 功能,以便它能提供并链接本地化页面。每个指南都有一个“在现有站点中启用 i18n”部分:VitePress、Docusaurus、Nextra、Fumadocs、Astro。
  5. 运行 ai-i18n-tools sync(或 translate-docs),然后构建站点。
  6. 在浏览器中检查一个本地化路由。框架自带的区域设置下拉菜单就是切换器。对于像 README 这样的扁平 Markdown 文件,使用 languageListBlock 添加一个链接行。

翻译哪些内容 ​

页面主体始终通过文档管道处理。框架外壳(导航、侧边栏、主题标签)在框架支持的情况下,会在同一次运行中处理,而不是通过单独的 JSON 管道。

框架外壳和主题字符串方式
Docusauruswrite-translations 目录 ({ message, description })docs[].docusaurusCatalogDir 加上 translate-docs
VitePress主题、导航和侧边栏目录docsOutput.vitepressThemeCatalog 加上 translate-docs
Nextra_meta.ts 侧边栏标签通过 style: "nextra" 自动完成
Nextra主题字典 .tsdocs[].nextraDictionaryPath
Fumadocsmeta.json 侧边栏标签通过 style: "fumadocs" 自动完成
FumadocsUI 覆盖目录docsOutput.fumadocsUiCatalog
Astro Starlight内置多区域设置的 UI 字符串仅页面

translate-docs 不会翻译图片和屏幕截图。有关特定于区域设置的文件,请参阅图片和屏幕截图。

纯 HTML ​

有两个选项,具体取决于页面的预期行为:

  • 在浏览器中切换语言的单个页面:使用 data-i18n* 属性标记文本,并使用 UI 字符串运行时 (ui-plain-html)。请参阅纯 HTML 应用。
  • 每个区域设置一个已翻译的 HTML 文件:使用文档管道 (docs-plain-html)。请参阅HTML 页面。

一个文件属于一个路径。

不是您的情况? ​

有关共享选项和各框架差异的参考:集成。

基于 MIT 许可证发布。