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 características 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 de gran escala y escribe los 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 de origen:
mkdir -p src/content/docs/en
-
Crea un archivo que contenga contenido de documentación (por ejemplo,
src/content/docs/en/index.mdx
):--- title: "Bienvenido" description: "Comenzando con nuestra documentación" --- ## Introducción Esta documentación es traducida automáticamente por Lingo.dev. ## Características Nuestro producto incluye capacidades potentes para el desarrollo moderno.
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.8,
"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. Asegura 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
).- Lingo.dev CLI no admite patrones glob recursivos (por ejemplo,
**/*.mdx
). Necesitarás crear patronesinclude
adicionales para traducir archivos que existen dentro de directorios anidados.
Para saber más, consulta configuración i18n.json.
Paso 4. Traducir el contenido
-
Inicia sesión en Lingo.dev a través de la CLI:
npx lingo.dev@latest login
-
Ejecuta el proceso de traducción:
npx lingo.dev@latest run
La CLI creará un directorio
src/content/docs/es/
para almacenar el contenido traducido y un archivoi18n.lock
para realizar un seguimiento de lo que se ha traducido (para evitar retraducciones innecesarias).
Paso 5. Utilizar las traducciones
-
En el archivo
astro.config.mjs
, configura los idiomas soportados: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 URLs:
- http://localhost:4321/en para el contenido en inglés
- http://localhost:4321/es para el contenido en español