Ir para o conteúdo

Referência

Configuração

Um ficheiro na raiz do seu projeto, e o plugin recebe o mesmo objeto, então uma opção significa o mesmo para o seu build e para a linha de comandos. As flags vencem o ficheiro.

verbaly.config.mjs
export default {
  sourceLocale: 'es',
  locales: ['es', 'en', 'pt'],
};

Os nomes aceites são verbaly.config.js, .mjs, .ts, .mts e .json, lidos nessa ordem. Um config em TypeScript precisa do esbuild instalado, e a ferramenta avisa se faltar.

Todas as opções

OpçãoPadrãoO que faz
sourceLocale'en'O idioma em que você escreve
localesOs catálogos que encontraOs seus idiomas. Se você os listar, a lista está completa; se não, cada ficheiro JSON de dir conta como um
dir'locales'Onde vivem os catálogos
rootOnde você executou o comandoA raiz do projeto contra a qual os outros caminhos são resolvidos
includesrc/**, app/**Que ficheiros são varridos à procura de mensagens. [] desliga a varredura, para um projeto cujos catálogos são escritos à mão
excludenode_modules, distQue ficheiros são ignorados dentro disso
routingSegue o seu setupOnde o idioma vive nos seus endereços. Ver Estratégia de URLs
dts'verbaly.d.ts'Onde os tipos gerados são escritos, ou false para não escrever nenhum. Astro e Nuxt colocam-nos na sua própria pasta de tipos sem você definir isto
bundleNada excluídoexclude: grupos de mensagens que ficam no build e nunca chegam ao navegador
renderDesligadoO espelho pré-traduzido para sites estáticos. As suas opções estão abaixo
translateClaudeTudo o que a tradução automática precisa além do provedor: modelo, tamanho de lote, glossário, instruções
icuOs seus catálogos decidemForça o parser de ICU a viajar. Só para mensagens que chegam ao seu app depois do build
relativeOs seus catálogos decidemO mesmo, para o formato de tempo relativo

Dentro de render

Só para sites estáticos que publicam uma árvore de endereços por idioma. Adicionar esta secção é o que liga o espelho.

OpçãoO que faz
baseUrlO seu endereço público. Os alternates e o sitemap precisam dele
siteO diretório construído a espelhar. Por padrão dist
sitemapEscreve um sitemap por idioma. Uma string dá nome ao ficheiro
excludePáginas a deixar de fora desse sitemap, por caminho dentro do diretório de build
hreflangAlternates recíprocos em cada página. Ligado por padrão
redirectEnvia quem chega pela primeira vez ao seu idioma antes de a página pintar
linksOs endereços reais por trás dos links com nome dentro das suas mensagens
baseO prefixo de caminho, se o seu site não é servido a partir da raiz
attributeO atributo a procurar, se você renomeou data-verbaly
inlineCatalogEscreve em cada página as mensagens que ela renderiza, então não baixa nenhuma outra
cleanRemove páginas de idioma deixadas por um build anterior

Dentro de translate

Tudo o que a tradução automática precisa além do provedor, para que uma execução se comporte igual para toda a equipa em vez de depender de quem escreveu o comando.

OpçãoO que faz
modelQual modelo o provedor incluído usa. --model troca isso para uma única execução
batchSizeQuantas mensagens vão em uma requisição, 20 por padrão. Diminua se as mensagens longas saem cortadas, aumente se forem curtas
concurrencyQuantas requisições vão ao mesmo tempo, 4 por padrão. Diminua se o seu provedor limita o ritmo
retriesQuantas vezes uma requisição que falhou por algo passageiro é tentada de novo, 2 por padrão
instructionsO mesmo que você contaria a uma pessoa que traduz o seu produto: quanta formalidade usar, quão curto o rótulo de um botão precisa ficar, o que é o seu aplicativo
glossaryComo um termo tem que sair. Você dá uma forma para todos os idiomas, que é como se diz deixe isto em paz, ou uma por idioma. Só são enviados os termos que o lote realmente contém

Uma execução sobrevive a uma conexão ruim. As requisições que falham por algo passageiro são tentadas de novo, e se ainda assim uma não voltar, todo o resto fica escrito e o relatório nomeia as mensagens que não conseguiu preencher. Rodar translate de novo pede só essas, então uma conexão caída nunca custa a execução inteira duas vezes. O comando termina com 1 quando isso acontece, para que um script perceba.

Só no plugin

failOnMissing: false deixa um build terminar com mensagens sem tradução, que caem para o seu idioma fonte. Nunca deixa passar uma tradução quebrada: uma que perdeu um valor ou um caso do plural continua a parar o build, porque renderizaria errado.

para navegarEnterpara abrir
Copiado para a área de transferência