Mintlify

使用 Lingo.dev CLI 为 Mintlify 提供 AI 翻译

什么是 Mintlify?

Mintlify 是一个文档平台,可以创建美观且可定制的文档站点。它提供内置搜索、分析和 API 操作台功能,用于构建现代开发者文档。

什么是 Lingo.dev CLI?

Lingo.dev 是一个由 AI 驱动的翻译平台。Lingo.dev CLI 读取源文件,将可翻译内容发送到大型语言模型,并将翻译后的文件写回到您的项目中。

关于本指南

本指南解释了如何在 Mintlify 文档站点中设置 Lingo.dev CLI。您将学习如何使用 Mintlify 搭建项目、配置翻译管道并查看结果。

第 1 步:设置 Mintlify 项目

  1. 安装 Mintlify CLI:

    npm i -g mint
    
  2. 克隆 Mintlify 启动模板:

    git clone https://github.com/mintlify/starter.git
    
  3. 进入项目目录:

    cd starter
    

第 2 步:创建源内容

  1. 创建一个目录,用于存储源语言的文档:

    mkdir en
    
  2. 创建一个包含一些文档内容的文件(例如,en/overview.mdx):

    ---
    title: "Introduction"
    description: "Welcome to the new home for your documentation"
    ---
    
    ## Getting started
    
    This documentation is automatically translated by Lingo.dev.
    
    ## Features
    
    Our product includes powerful capabilities for modern development.
    

第 3 步:配置 CLI

在项目根目录中创建一个 i18n.json 文件:

{
  "$schema": "https://lingo.dev/schema/i18n.json",
  "version": 1.8,
  "locale": {
    "source": "en",
    "targets": ["es"]
  },
  "buckets": {
    "mdx": {
      "include": ["[locale]/*.mdx", "[locale]/*/*.mdx"]
    }
  }
}

此文件定义了:

  • Lingo.dev CLI 应翻译的文件
  • 翻译的语言

在此配置中,MDX 文件将从英语翻译为西班牙语。

需要注意的是:

  • [locale] 是一个占位符,在运行时会被配置的语言替换。当使用 MDX bucket 时,占位符必须包含在所有配置的 include 模式中。
  • Lingo.dev CLI 不支持递归的 glob 模式。如果您在更深的目录中创建内容,则需要创建额外的 include 模式。

要了解更多关于 i18n.json 文件的信息,请参阅 i18n.json 配置

第 4 步. 翻译内容

  1. 注册一个 Lingo.dev 账户

  2. 通过 CLI 登录 Lingo.dev:

    npx lingo.dev@latest login
    
  3. 运行翻译管道:

    npx lingo.dev@latest run
    

    CLI 将创建一个 es/ 目录用于存储翻译内容,并生成一个 i18n.lock 文件以跟踪已翻译的内容(以防止不必要的重复翻译)。

第 5 步. 使用翻译内容

  1. docs.json 文件中,为 navigation 对象添加一个 languages 属性:

    {
      "navigation": {
        "languages": []
      }
    }
    
  2. 对于每种支持的语言,在数组中添加一个单独的对象:

    {
      "navigation": {
        "languages": [
          {
            "language": "en",
            "groups": [
              {
                "group": "Getting started",
                "pages": ["en/overview"]
              }
            ]
          },
          {
            "language": "es",
            "groups": [
              {
                "group": "Getting started",
                "pages": ["es/overview"]
              }
            ]
          }
        ]
      }
    }
    

    请注意:

    • 您需要为每种语言单独复制整个导航结构。
    • Mintlify 仅支持 Lingo.dev CLI 支持语言的一个子集。
  3. 启动开发服务器:

    mint dev
    
  4. 打开 http://localhost:3000。您应该会看到一个用于切换语言的下拉菜单。

已知限制

  • 定义在 docs.json 文件中的任何 UI 文本(例如侧边栏组标签、搜索占位符文本等)将不会被翻译。

支持的语言

Mintlify 仅支持 Lingo.dev CLI 支持语言的一个子集。截至撰写时,下表包含支持语言的列表。有关最新列表,请参阅官方文档

语言代码
阿拉伯语ar
中文cn
中文(繁体)zh-Hant
英语en
法语fr
德语de
印度尼西亚语id
意大利语it
日语jp
韩语ko
葡萄牙语(巴西)pt-BR
俄语ru
西班牙语es
土耳其语tr