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: "Welcome" description: "Getting started with our documentation" --- ## Introduction 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.10",
"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 не поддерживает рекурсивные glob-шаблоны (например,
**/*.mdx). Нужно создать дополнительные шаблоныinclude, чтобы переводить файлы, которые находятся во вложенных папках.
Подробнее смотри в конфиге i18n.json.
Шаг 4. Переведи контент
-
Войди в Lingo.dev через CLI:
npx lingo.dev@latest login -
Запусти pipeline перевода:
npx lingo.dev@latest runCLI создаст директорию
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", }, }, }), ], }); -
Запусти dev-сервер:
npm run dev -
Перейди по этим ссылкам:
- http://localhost:4321/en — для английского контента
- http://localhost:4321/es — для испанского контента