Skip to content

Adicionar i18n a um site ou site de documentação ​

Esta página é para um site de documentação (Markdown ou MDX) ou um site de marketing ou estático (um site Astro ou HTML puro) em um único idioma. A ferramenta traduz o conteúdo da sua página com os modelos do seu provedor de LLM e grava uma cópia localizada por idioma. O framework do seu site serve essas cópias e fornece o seletor de idiomas.

Para um aplicativo cujas strings de UI residem em chamadas t(), use Adicionar i18n a um aplicativo JS/TS ou Adicionar i18n a um aplicativo Python em vez disso.

O que você tem? ​

Seu siteModelo de inicializaçãoComece aqui
Astro Starlight ou Astro puroui-starlight / strings de UI híbridasAstro
Docusaurusui-docusaurusDocusaurus
VitePressui-vitepressVitePress
Nextra 4 (Next.js App Router)ui-nextraNextra
Fumadocs 4 (Next.js App Router)ui-fumadocsFumadocs
Páginas HTML simplesui-plain-html ou docs-plain-htmlAplicativos HTML simples
Nenhum framework de site, apenas um README e arquivos Markdowndocs-markdown, ou qualquer template mais --with-readmeAdicionar i18n ao seu README e documentos Markdown
Prompts do agente

Etapas ​

A mesma estrutura funciona para todos os frameworks; os detalhes estão no guia do framework referenciado acima.

  1. Instale a CLI e defina a chave de API: Instalação, Provedor e chave de API.
  2. Faça o scaffold: ai-i18n-tools init -t <template> -P <provider>.
  3. Defina sourceLocale, targetLocales e docs[].contentPaths (as páginas e pastas escritas no seu idioma de origem). sourceLocale pode ser qualquer idioma. O guia do framework mostra o docsOutput.style correto.
  4. Habilite o i18n do seu próprio framework para que ele sirva e vincule as páginas localizadas. Cada guia tem uma seção "Habilitar i18n em um site existente": VitePress, Docusaurus, Nextra, Fumadocs, Astro.
  5. Execute ai-i18n-tools sync (ou translate-docs), depois compile o site.
  6. Verifique uma rota localizada no navegador. O menu suspenso de localidade do próprio framework é o seletor. Para um arquivo markdown simples, como um README, adicione uma linha de links com languageListBlock.

O que é traduzido ​

Os corpos das páginas sempre passam pelo pipeline de Documentos. O chrome do framework (navegação, barra lateral, rótulos de tema) é tratado na mesma execução quando o framework oferece suporte, e não através do pipeline de JSON separado.

FrameworkStrings do shell e do temaComo
Docusauruscatálogo write-translations ({ message, description })docs[].docusaurusCatalogDir mais translate-docs
VitePressCatálogo de tema, navegação e barra lateraldocsOutput.vitepressThemeCatalog mais translate-docs
NextraRótulos da barra lateral _meta.tsAutomático com style: "nextra"
NextraDicionário de tema .tsdocs[].nextraDictionaryPath
FumadocsRótulos da barra lateral meta.jsonAutomático com style: "fumadocs"
FumadocsCatálogo de substituições da UIdocsOutput.fumadocsUiCatalog
Astro StarlightStrings de UI integradas em várias localidadesApenas páginas

Imagens e capturas de tela não são traduzidas por translate-docs. Para arquivos específicos da localidade, consulte Imagens e capturas de tela.

HTML simples ​

Duas opções, dependendo de como a página deve se comportar:

  • Uma página que alterna o idioma no navegador: marque o texto com atributos data-i18n* e use o runtime de strings da UI (ui-plain-html). Consulte Aplicativos HTML simples.
  • Um arquivo HTML traduzido por localidade: use o pipeline de documentos (docs-plain-html). Consulte Páginas HTML.

Um arquivo pertence a um caminho.

Não é o seu caso? ​

Referência para as opções compartilhadas e diferenças por framework: Integrações.

Lançado sob a Licença MIT.