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
Supported Frontmatter entries
Section intitulée « Supported Frontmatter entries »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.
Title and Sidebar
Section intitulée « Title and Sidebar »Les entrées title
et sidebar
dans la configuration Starlight ne sont pas automatiquement traduites par l’action.
Il est recommandé 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.
AI Content Notice
Section intitulée « AI Content Notice »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 Starlight
Section intitulée « Validateur de liens Starlight »Si vous utilisez le Validateur de liens Starlight,
assurez-vous de désactiver les options errorOnRelativeLinks
et
errorOnInvalidHashes
dans votre fichier astro.config.mjs
,
car les liens localisés sont relatifs à la locale racine et les hachages ne sont pas encore traduits.
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, errorOnInvalidHashes: false, errorOnInconsistentLocale: true, }), ], }), ],});
Lunaria Translation Dashboard
Section intitulée « Lunaria Translation Dashboard »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.