Aller au contenu

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.

  1. Suivez le guide Starlight pour utiliser une locale racine.

  2. 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@v0
    with:
    starlight_dir: ./docs
  3. Si vous avez également défini l’option Astro base, vous devez aussi fournir l’entrée starlight_base.

    .github/workflows/ct.yml
    uses: pelikhan/action-continuous-translation@v0
    with:
    starlight_dir: ./docs
    starlight_base: astro_base_option

En plus des fichiers Markdown/MDX, nous prenons en charge certaines des métadonnées frontmatter possibles supportées par Starlight :

Nous soutenons également des entrées frontmatter provenant de Starlight Blog :

  • excerpt : L’extrait de l’article de blog.

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.

astro.config.mjs
// other imports
import { 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.

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 et Hero dans votre fichier astro.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 du docs/src/components de ce dépôt.

N’hésitez pas à modifier la logique dans AIGeneratedNotice.astro pour répondre à vos besoins.

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.

astro.config.mjs
import starlightLinksValidator from "starlight-links-validator";
export default defineConfig({
integrations: [
starlight({
plugins: [
starlightLinksValidator({
errorOnRelativeLinks: false,
errorOnInconsistentLocale: true,
}),
],
}),
],
});

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.