Starlight
Traducción con IA para Starlight con Lingo.dev CLI
¿Qué es Starlight?
Starlight es un tema de documentación construido sobre el framework Astro. Proporciona navegación del sitio integrada, búsqueda, internacionalización y funciones SEO para crear sitios de documentación hermosos y accesibles.
¿Qué es Lingo.dev CLI?
Lingo.dev es una plataforma de traducción impulsada por IA. El CLI de Lingo.dev lee archivos fuente, envía contenido traducible a modelos de lenguaje grandes y escribe archivos traducidos de vuelta a tu proyecto.
Acerca de esta guía
Esta guía explica cómo configurar Lingo.dev CLI en un sitio de documentación Starlight. Aprenderás cómo estructurar un proyecto con Starlight, configurar un pipeline de traducción y ver los resultados.
Paso 1. Configurar un proyecto Starlight
-
Crea una nueva aplicación Starlight:
npm create astro@latest -- --template starlight -
Navega al directorio del proyecto:
cd <your-starlight-project>
Paso 2. Crear contenido fuente
-
Crea un directorio para almacenar la documentación en el idioma fuente:
mkdir -p src/content/docs/en -
Crea un archivo que contenga algo de contenido de documentación (p. ej.,
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.
Paso 3. Configurar el CLI
En la raíz del proyecto, crea un archivo 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"
]
}
}
}
Este archivo define:
- los archivos que Lingo.dev CLI debe traducir
- los idiomas entre los que traducir
En este caso, la configuración traduce archivos MDX del inglés al español.
Es importante tener en cuenta que:
[locale]es un marcador de posición que se reemplaza en tiempo de ejecución. Garantiza que el contenido se lea desde una ubicación (por ejemplo,src/content/docs/en/index.mdx) y se escriba en una ubicación diferente (por ejemplo,src/content/docs/es/index.mdx).- El CLI de Lingo.dev no admite patrones glob recursivos (por ejemplo,
**/*.mdx). Deberás crear patronesincludeadicionales para traducir archivos que existan dentro de directorios anidados.
Para obtener más información, consulta configuración de i18n.json.
Paso 4. Traducir el contenido
-
Inicia sesión en Lingo.dev a través del CLI:
npx lingo.dev@latest login -
Ejecuta el pipeline de traducción:
npx lingo.dev@latest runEl CLI creará un directorio
src/content/docs/es/para almacenar el contenido traducido y un archivoi18n.lockpara realizar un seguimiento de lo que se ha traducido (para evitar retraducciones innecesarias).
Paso 5. Usar las traducciones
-
En el archivo
astro.config.mjs, configura los locales admitidos: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", }, }, }), ], }); -
Inicia el servidor de desarrollo:
npm run dev -
Navega a las siguientes URL:
- http://localhost:4321/en para contenido en inglés
- http://localhost:4321/es para contenido en español