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_dirna ação..github/workflows/ct.yml uses: pelikhan/action-continuous-translation@v0with:starlight_dir: ./docs -
Se você também configurou a opção
basedo Astro, você precisa fornecer a entradastarlight_basetambé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
PageTitleeHeroem 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/componentsa partir dedocs/src/componentsneste 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.