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
-
Создайте новое приложение Starlight:
npm create astro@latest -- --template starlight
-
Перейдите в директорию проекта:
cd <your-starlight-project>
Шаг 2. Создание исходного контента
-
Создайте директорию для хранения документации на исходном языке:
mkdir -p src/content/docs/en
-
Создайте файл, содержащий некоторый контент для документации (например,
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. Переведите контент
-
Войдите в Lingo.dev через CLI:
npx lingo.dev@latest login
-
Запустите процесс перевода:
npx lingo.dev@latest run
CLI создаст директорию
src/content/docs/es/
для хранения переведенного контента и файлi18n.lock
для отслеживания переведенного (чтобы избежать ненужных повторных переводов).
Шаг 5. Используйте переводы
-
В файле
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", }, }, }), ], });
-
Запустите сервер разработки:
npm run dev
-
Перейдите по следующим URL-адресам:
- http://localhost:4321/en для контента на английском языке
- http://localhost:4321/es для контента на испанском языке