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.
-
Siga o guia do Starlight para usar um locale raiz.
-
Para habilitar o modo Starlight, você precisa fornecer a entrada
starlight_dir
na ação..github/workflows/ct.yml uses: pelikhan/action-continuous-translation@v0with:starlight_dir: ./docs -
Se você também configurou a opção
base
do Astro, você precisa fornecer a entradastarlight_base
também..github/workflows/ct.yml uses: pelikhan/action-continuous-translation@v0with:starlight_dir: ./docsstarlight_base: astro_base_option
Supported Frontmatter entries
Seção intitulada “Supported Frontmatter entries”Além do Markdown/MDX, oferecemos suporte a alguns dos metadados frontmatter possíveis que o Starlight suporta:
title
: O título da página.description
: A descrição da página.head.content
: O conteúdo das tags<head>
para páginas específicas.hero.tagline
: O slogan da seção hero.hero.actions.text
: O texto do botão de ação na seção hero.banner.content
: O conteúdo de um banner específico da página.prev
/prev.label
: O texto do link da página anterior.next
/next.label
: O texto do link da próxima página.sidebar.label
: Texto personalizado na barra lateral (por padrão,title
).sidebar.badge
/sidebar.badge.text
: Texto do badge para a barra lateral.
Também oferecemos suporte às entradas frontmatter do Starlight Blog:
excerpt
: O resumo do post do blog.
Title and Sidebar
Seção intitulada “Title and Sidebar”As entradas title
e sidebar
na configuração do Starlight não são traduzidas automaticamente pela ação.
Recomenda-se mover essas entradas para um arquivo JSON e importá-las em seu arquivo astro.config.mjs
.
// other importsimport { 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.
AI Content Notice
Seção intitulada “AI Content Notice”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
eHero
em seu arquivoastro.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 dedocs/src/components
neste repositório.
Sinta-se à vontade para modificar a lógica no arquivo AIGeneratedNotice.astro
para atender às suas necessidades.
Validador de Links do Starlight
Seção intitulada “Validador de Links do Starlight”Se você usar o Validador de Links do Starlight,
certifique-se de desativar as opções errorOnRelativeLinks
e
errorOnInvalidHashes
no seu arquivo astro.config.mjs
,
já que os links localizados são relativos ao locale raiz e hashes ainda não são traduzidos.
Você também pode habilitar a opção errorOnInconsistentLocale
para garantir que todos os links sejam consistentes com o locale atual.
import starlightLinksValidator from "starlight-links-validator";
export default defineConfig({ integrations: [ starlight({ plugins: [ starlightLinksValidator({ errorOnRelativeLinks: false, errorOnInvalidHashes: false, errorOnInconsistentLocale: true, }), ], }), ],});
Lunaria Translation Dashboard
Seção intitulada “Lunaria Translation Dashboard”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.