Starlight

AI-перевод для Starlight с использованием Lingo.dev CLI

Что такое Starlight?

Starlight — это тема для документации, созданная на основе фреймворка Astro. Она предоставляет встроенную навигацию по сайту, поиск, поддержку интернационализации и функции SEO для создания красивых и доступных сайтов с документацией.

Что такое Lingo.dev CLI?

Lingo.dev — это платформа перевода на основе искусственного интеллекта. Lingo.dev CLI считывает исходные файлы, отправляет переводимый контент в крупные языковые модели и записывает переведённые файлы обратно в ваш проект.

О данном руководстве

В этом руководстве объясняется, как настроить Lingo.dev CLI в проекте с документацией Starlight. Вы узнаете, как создать проект с использованием Starlight, настроить процесс перевода и просмотреть результаты.

Шаг 1. Настройка проекта Starlight

  1. Создайте новое приложение Starlight:

    npm create astro@latest -- --template starlight
    
  2. Перейдите в директорию проекта:

    cd <your-starlight-project>
    

Шаг 2. Создание исходного контента

  1. Создайте директорию для хранения документации на исходном языке:

    mkdir -p src/content/docs/en
    
  2. Создайте файл, содержащий некоторый контент для документации (например, src/content/docs/en/index.mdx):

    ---
    title: "Добро пожаловать"
    description: "Начало работы с нашей документацией"
    ---
    
    ## Введение
    
    Эта документация автоматически переведена с помощью Lingo.dev.
    
    ## Возможности
    
    Наш продукт включает мощные функции для современного развития.
    

Шаг 3. Настройка CLI

В корневой директории проекта создайте файл i18n.json:

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

Этот файл определяет:

  • файлы, которые должен переводить Lingo.dev CLI
  • языки для перевода

В данном случае конфигурация переводит файлы MDX с английского на испанский.

Важно отметить, что:

  • [locale] — это плейсхолдер, который заменяется во время выполнения. Он гарантирует, что контент считывается из одного места (например, src/content/docs/en/index.mdx) и записывается в другое место (например, src/content/docs/es/index.mdx).
  • Lingo.dev CLI не поддерживает рекурсивные шаблоны (например, **/*.mdx). Вам нужно будет создать дополнительные шаблоны include для перевода файлов, находящихся в вложенных директориях.

Чтобы узнать больше, см. конфигурация i18n.json.

Шаг 4. Переведите контент

  1. Зарегистрируйтесь в Lingo.dev.

  2. Войдите в Lingo.dev через CLI:

    npx lingo.dev@latest login
    
  3. Запустите процесс перевода:

    npx lingo.dev@latest run
    

    CLI создаст директорию src/content/docs/es/ для хранения переведенного контента и файл i18n.lock для отслеживания переведенного (чтобы избежать ненужных повторных переводов).

Шаг 5. Используйте переводы

  1. В файле astro.config.mjs настройте поддерживаемые локали:

    import { defineConfig } from "astro/config";
    import starlight from "@astrojs/starlight";
    
    export default defineConfig({
      integrations: [
        starlight({
          title: "My Docs",
          defaultLocale: "en",
          locales: {
            en: {
              label: "English",
              lang: "en",
            },
            es: {
              label: "Español",
              lang: "es",
            },
          },
        }),
      ],
    });
    
  2. Запустите сервер разработки:

    npm run dev
    
  3. Перейдите по следующим URL-адресам: