Cette action peut être utilisée pour traduire le contenu d’un site de documentation Astro Starlight. Elle nécessite une configuration spécifique de Starlight, comme détaillé ci-dessous.
-
Suivez le guide Starlight pour utiliser une locale racine.
-
Pour activer le mode Starlight, vous devez fournir l’entrée
starlight_dir
dans l’action..github/workflows/ct.yml uses: pelikhan/action-continuous-translation@v0with:starlight_dir: ./docs -
Si vous avez également défini l’option Astro
base
, vous devez aussi fournir l’entréestarlight_base
..github/workflows/ct.yml uses: pelikhan/action-continuous-translation@v0with:starlight_dir: ./docsstarlight_base: astro_base_option
Entrées Frontmatter prises en charge
Section intitulée « Entrées Frontmatter prises en charge »En plus des fichiers Markdown/MDX, nous prenons en charge certaines des métadonnées frontmatter possibles supportées par Starlight :
title
: Le titre de la page.description
: La description de la page.head.content
: Le contenu des balises<head>
pour des pages spécifiques.hero.tagline
: La tagline de la section héros.hero.actions.text
: Le texte du bouton d’action dans la section héros.banner.content
: Le contenu d’une bannière spécifique à une page.prev
/prev.label
: Le texte du lien de la page précédente.next
/next.label
: Le texte du lien de la page suivante.sidebar.label
: Texte personnalisé dans la barre latérale (par défauttitle
).sidebar.badge
/sidebar.badge.text
: Texte du badge pour la barre latérale.
Nous soutenons également des entrées frontmatter provenant de Starlight Blog :
excerpt
: L’extrait de l’article de blog.
Titre et barre latérale
Section intitulée « Titre et barre latérale »Les entrées title
et sidebar
dans les métadonnées frontmatter ne sont pas automatiquement traduites par l’action.
Nous recommandons de déplacer ces entrées dans un fichier JSON et de les importer dans votre fichier astro.config.mjs
.
// other importsimport { title } from "./resources.json" assert { type: "json" };
export default defineConfig({ integrations: [ starlight({ title, }), ],});
Consultez la documentation spécifique pour le titre et la barre latérale de Starlight pour plus de détails.
Avis concernant le contenu généré par IA
Section intitulée « Avis concernant le contenu généré par IA »Vous pouvez informer vos utilisateurs que la traduction a été générée par GenAI en ajoutant un avis dans le titre. À l’heure actuelle, Astro Starlight ne prend pas en charge une fonctionnalité intégrée pour ajouter des avis, il est donc nécessaire de remplacer certains composants.
-
Remplacez les composants
PageTitle
etHero
dans votre fichierastro.config.mjs
:astro.config.mjs export default defineConfig({integrations: [starlight({components: {PageTitle: "./src/components/PageTitle.astro",Hero: "./src/components/Hero.astro",},}),],}); -
Ajoutez les composants dans votre répertoire
src/components
à partir dudocs/src/components
de ce dépôt.
N’hésitez pas à modifier la logique dans AIGeneratedNotice.astro
pour répondre à vos besoins.
Validateur de liens Astro
Section intitulée « Validateur de liens Astro »Si vous utilisez le Validateur de liens Astro, assurez-vous de désactiver l’option errorOnRelativeLinks
dans votre fichier astro.config.mjs
, car les liens localisés sont relatifs à la locale racine.
Vous pouvez également activer l’option errorOnInconsistentLocale
pour garantir que tous les liens sont cohérents avec la locale actuelle.
import starlightLinksValidator from "starlight-links-validator";
export default defineConfig({ integrations: [ starlight({ plugins: [ starlightLinksValidator({ errorOnRelativeLinks: false, errorOnInconsistentLocale: true, }), ], }), ],});
Tableau de bord de traduction Lunaria
Section intitulée « Tableau de bord de traduction Lunaria »Vous pouvez utiliser le Tableau de bord de traduction Lunaria pour générer un tableau de bord du statut de traduction pour votre site Starlight.
Vous pouvez essayer le tableau de bord en accédant au lien Tableau de bord de traduction dans la barre latérale de cette page.