A CLI do Lingo.dev traduz ficheiros estáticos no seu repositório — Markdown, MDX, Markdoc, JSON, YAML, legendas e muito mais — através de um motor de localização configurado. Aponte-a para o seu conteúdo, execute uma vez e obtenha os ficheiros traduzidos ao lado dos originais.
Tipos de Conteúdo Suportados#
| Tipo de conteúdo | Formato | Bucket da CLI | Caminho de exemplo |
|---|---|---|---|
| Documentação | Markdown | markdown | docs/[locale]/getting-started.md |
| Documentação | MDX | mdx | docs/[locale]/getting-started.mdx |
| Documentação | Markdoc | markdoc | docs/[locale]/getting-started.mdoc |
| Dados estruturados | JSON | json | data/[locale].json |
| Dados estruturados | YAML | yaml | data/[locale].yaml |
| Artigos de blogue | Markdown / MDX | markdown / mdx | blog/[locale]/post-slug.md |
| Legendas | SRT | srt | subs/[locale]/intro.srt |
| Legendas | VTT | vtt | subs/[locale]/intro.vtt |
| Folhas de cálculo | CSV | csv-per-locale | data/[locale].csv |
| Strings de configuração | Properties | properties | lang/[locale].properties |
| Strings de configuração | Gettext PO | po | locale/[locale]/messages.po |
| Texto simples | TXT | txt | content/[locale]/readme.txt |
Pré-requisitos#
Cada execução da CLI envia o conteúdo através de um motor de localização — a configuração que determina que modelo LLM, glossário, voz da marca e instruções se aplicam. Crie um no dashboard do Lingo.dev e gere uma chave de API.
Sites de Documentação#
A maioria dos frameworks de documentação organiza o conteúdo traduzido em diretórios por idioma. Os buckets markdown, mdx e markdoc da CLI traduzem estes ficheiros, preservando frontmatter, blocos de código e sintaxe de componentes.
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.15",
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"markdown": {
"include": ["docs/[locale]/getting-started.md"]
},
"mdx": {
"include": ["docs/[locale]/setup.mdx"]
}
}
}Ajuste o padrão include para corresponder à convenção de diretórios do seu framework:
| Framework | Convenção de diretórios por idioma | Referência |
|---|---|---|
| Docusaurus | i18n/[locale]/docusaurus-plugin-content-docs/current/ | guia de i18n do Docusaurus |
| Nextra | Páginas por idioma ou dicionários JSON | documentação do Nextra |
| Hugo | content/[locale]/ | guia multilingue do Hugo |
| Astro | src/content/[locale]/ ou dicionários JSON | guia de i18n do Astro |
| VitePress | Prefixo de diretório [locale]/ | i18n do VitePress |
| MkDocs | docs/ por idioma com plugin de i18n | plugin de i18n do MkDocs |
Componentes MDX
O bucket mdx preserva a sintaxe dos componentes JSX durante a tradução. Componentes personalizados como <Callout>, <Tabs> e <CodeBlock> passam sem alterações — apenas o conteúdo de texto no seu interior é traduzido.
Dados Estruturados#
Os ficheiros JSON e YAML são traduzidos com os buckets json e yaml. Use chaves bloqueadas para impedir que valores não traduzíveis (IDs, URLs, flags de configuração) sejam alterados.
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.15",
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"json": {
"include": ["content/[locale].json"],
"lockedKeys": ["id", "slug", "url"]
},
"yaml": {
"include": ["data/[locale].yaml"]
}
}
}Para ficheiros YAML que usam o código do idioma como chave de raiz (comum em Rails e Hugo), use antes o bucket yaml-root-key — este lê a partir da chave do idioma de origem e escreve nas chaves do idioma de destino dentro do mesmo ficheiro.
Legendas#
Os ficheiros de legendas SRT e VTT são traduzidos com os buckets srt e vtt. A CLI preserva todos os dados temporais, índices de cues e etiquetas de formatação — apenas o conteúdo de texto é traduzido.
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.15",
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"srt": {
"include": ["subs/[locale]/intro.srt"]
}
}
}Trabalhar com Grandes Volumes de Conteúdo#
Os repositórios de conteúdo estático podem conter milhares de ficheiros. A CLI trata isso de forma eficiente através de três mecanismos:
| Mecanismo | Como ajuda |
|---|---|
| Lockfile | Regista as impressões digitais SHA-256 do conteúdo de origem. Apenas ficheiros novos ou alterados acionam a tradução em execuções subsequentes. |
| Processamento paralelo | Distribui a tradução por vários workers em simultâneo. Configure com run --concurrency 20. |
| Execuções direcionadas | Processe um bucket ou idioma específico: run --bucket markdown ou run --target-locale es. |
