Esta acción se puede usar para traducir el contenido de un sitio de documentación de Astro Starlight. Requiere una configuración específica de Starlight como se detalla a continuación.
-
Sigue la guía de Starlight para usar un idioma raíz.
-
Para habilitar el modo Starlight, necesitas proporcionar la entrada
starlight_dir
en la acción..github/workflows/ct.yml uses: pelikhan/action-continuous-translation@v0with:starlight_dir: ./docs -
Si también has configurado la opción
base
de Astro, necesitas proporcionar también la entradastarlight_base
..github/workflows/ct.yml uses: pelikhan/action-continuous-translation@v0with:starlight_dir: ./docsstarlight_base: astro_base_option
Entradas Frontmatter Soportadas
Sección titulada «Entradas Frontmatter Soportadas»Además del Markdown/MDX, soportamos algunos de los metadatos frontmatter que Starlight admite:
title
: El título de la página.description
: La descripción de la página.head.content
: El contenido de las etiquetas<head>
para páginas específicas.hero.tagline
: El eslogan de la sección principal.hero.actions.text
: El texto del botón de acción en la sección principal.banner.content
: El contenido de un banner específico de la página.prev
/prev.label
: El texto del enlace a la página anterior.next
/next.label
: El texto del enlace a la siguiente página.sidebar.label
: Texto personalizado en la barra lateral (por defectotitle
).sidebar.badge
/sidebar.badge.text
: Texto de la insignia para la barra lateral.
También soportamos entradas frontmatter de Starlight Blog:
excerpt
: El extracto de la publicación del blog.
Título y Barra Lateral
Sección titulada «Título y Barra Lateral»Las entradas title
y sidebar
en el frontmatter no se traducen automáticamente mediante la acción.
Recomendamos mover esas entradas a un archivo JSON e importarlas en tu archivo astro.config.mjs
.
// other importsimport { title } from "./resources.json" assert { type: "json" };
export default defineConfig({ integrations: [ starlight({ title, }), ],});
Consulta la documentación específica sobre title y sidebar en Starlight para más detalles.
Aviso de Contenido de IA
Sección titulada «Aviso de Contenido de IA»Puedes informar a tus usuarios que la traducción fue generada por GenAI añadiendo un aviso en el título. Actualmente, Astro Starlight no admite una función incorporada para añadir avisos, por lo que es necesario sobrescribir algunos componentes.
-
Sobrescribe los componentes
PageTitle
yHero
en tu archivoastro.config.mjs
:astro.config.mjs export default defineConfig({integrations: [starlight({components: {PageTitle: "./src/components/PageTitle.astro",Hero: "./src/components/Hero.astro",},}),],}); -
Añade los componentes en tu directorio
src/components
desdedocs/src/components
en este repositorio.
Siéntete libre de modificar la lógica en AIGeneratedNotice.astro
para ajustarla a tus necesidades.
Validador de Enlaces de Astro
Sección titulada «Validador de Enlaces de Astro»Si utilizas el Validador de Enlaces de Astro,
asegúrate de desactivar la opción errorOnRelativeLinks
en tu archivo astro.config.mjs
ya que los enlaces localizados son relativos al idioma raíz.
También puedes habilitar la opción errorOnInconsistentLocale
para garantizar que todos los enlaces sean coherentes con el idioma actual.
import starlightLinksValidator from "starlight-links-validator";
export default defineConfig({ integrations: [ starlight({ plugins: [ starlightLinksValidator({ errorOnRelativeLinks: false, errorOnInconsistentLocale: true, }), ], }), ],});
Panel de Traducción de Lunaria
Sección titulada «Panel de Traducción de Lunaria»Puedes usar el Panel de Traducción de Lunaria para generar un panel de estado de traducción para tu sitio Starlight.
Puedes probar el panel navegando al enlace Translation Dashboard en la barra lateral de esta página.