Pular para o conteúdo

Esta ação pode ser usada para traduzir o conteúdo de um site de documentação Astro Starlight. Isso requer uma configuração específica do Starlight, conforme detalhado abaixo.

  1. Siga o guia do Starlight para usar um locale raiz.

  2. Para habilitar o modo Starlight, você precisa fornecer a entrada starlight_dir na ação.

    .github/workflows/ct.yml
    uses: pelikhan/action-continuous-translation@v0
    with:
    starlight_dir: ./docs
  3. Se você também configurou a opção base do Astro, você precisa fornecer a entrada starlight_base também.

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

Além do Markdown/MDX, oferecemos suporte a alguns dos metadados frontmatter possíveis que o Starlight suporta:

Também oferecemos suporte às entradas frontmatter do Starlight Blog:

  • excerpt: O resumo do post do blog.

As entradas title e sidebar no frontmatter não são traduzidas automaticamente pela ação. Recomendamos mover essas entradas para um arquivo JSON e importá-las em seu arquivo astro.config.mjs.

astro.config.mjs
// other imports
import { title } from "./resources.json" assert { type: "json" };
export default defineConfig({
integrations: [
starlight({
title,
}),
],
});

Siga a documentação específica de título e barra lateral do Starlight para mais detalhes.

Você pode informar aos seus usuários que a tradução foi gerada por IA ao adicionar um aviso no título. No momento, o Astro Starlight não oferece suporte a um recurso embutido para adicionar avisos, sendo necessário sobrescrever alguns componentes.

  • Sobrescreva os componentes PageTitle e Hero em seu arquivo astro.config.mjs:

    astro.config.mjs
    export default defineConfig({
    integrations: [
    starlight({
    components: {
    PageTitle: "./src/components/PageTitle.astro",
    Hero: "./src/components/Hero.astro",
    },
    }),
    ],
    });
  • Adicione os componentes no diretório src/components a partir de docs/src/components neste repositório.

Sinta-se à vontade para modificar a lógica no arquivo AIGeneratedNotice.astro para atender às suas necessidades.

Se você usar o Astro Link Validator, certifique-se de desativar a opção errorOnRelativeLinks no arquivo astro.config.mjs, pois os links localizados são relativos ao locale raiz.

Você também pode habilitar a opção errorOnInconsistentLocale para garantir que todos os links estejam consistentes com o locale atual.

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

Você pode usar o Painel de Tradução Lunaria para gerar um painel de status de tradução para o seu site Starlight.

Você pode experimentar o painel navegando até o link Painel de Tradução na barra lateral desta página.