|
Documentação
Agende uma demoPlataforma
PlataformaMCPCLIAPIWorkflows
Guias
Changelog

Localização

  • Visão geral
  • API de Tradução
  • Localização de apps web
  • Localização de aplicativos mobile
  • iOS com String Catalogs
  • Android com strings.xml
  • Localização de e-mails
  • Conteúdo estático (ex.: .md, .json)
  • Next.js com Markdoc
  • Rails com i18n

Workflows

  • Configuração do engine com MCP
  • Triagem no Jira
  • CI/CD

Localização de Conteúdo Estático

A CLI do Lingo.dev traduz arquivos estáticos no seu repositório — Markdown, MDX, Markdoc, JSON, YAML, legendas e muito mais — com um engine de localização configurado. Basta apontar para o seu conteúdo, executar uma vez e obter os arquivos traduzidos ao lado dos arquivos de origem.

Tipos de conteúdo compatíveis#

Tipo de conteúdoFormatoBucket da CLIExemplo de caminho
DocumentaçãoMarkdownmarkdowndocs/[locale]/getting-started.md
DocumentaçãoMDXmdxdocs/[locale]/getting-started.mdx
DocumentaçãoMarkdocmarkdocdocs/[locale]/getting-started.mdoc
Dados estruturadosJSONjsondata/[locale].json
Dados estruturadosYAMLyamldata/[locale].yaml
Posts de blogMarkdown / MDXmarkdown / mdxblog/[locale]/post-slug.md
LegendasSRTsrtsubs/[locale]/intro.srt
LegendasVTTvttsubs/[locale]/intro.vtt
PlanilhasCSVcsv-per-localedata/[locale].csv
Strings de configuraçãoPropertiespropertieslang/[locale].properties
Strings de configuraçãoGettext POpolocale/[locale]/messages.po
Texto simplesTXTtxtcontent/[locale]/readme.txt

Pré-requisitos#

Cada execução da CLI envia o conteúdo por um engine de localização — a configuração que define qual modelo de LLM, glossário, voz da marca e instruções serão aplicados. 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 esses arquivos preservando frontmatter, blocos de código e sintaxe de componentes.

json
{
  "$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 seguir a convenção de diretórios do seu framework:

FrameworkConvenção de diretório por idiomaReferência
Docusaurusi18n/[locale]/docusaurus-plugin-content-docs/current/guia de i18n do Docusaurus
NextraPáginas por idioma ou dicionários JSONdocumentação do Nextra
Hugocontent/[locale]/guia multilíngue do Hugo
Astrosrc/content/[locale]/ ou dicionários JSONguia de i18n do Astro
VitePressPrefixo de diretório [locale]/i18n do VitePress
MkDocsdocs/ por idioma com plugin de i18nplugin de i18n do MkDocs

Componentes MDX

O bucket mdx preserva a sintaxe de componentes JSX durante a tradução. Componentes personalizados como <Callout>, <Tabs> e <CodeBlock> passam intactos — apenas o conteúdo textual dentro deles é traduzido.

Dados estruturados#

Arquivos JSON e YAML são traduzidos com os buckets json e yaml. Use chaves bloqueadas para evitar que valores não traduzíveis (IDs, URLs, flags de configuração) sejam alterados.

json
{
  "$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 arquivos YAML que usam o código do idioma como chave raiz — algo comum em Rails e Hugo — use o bucket yaml-root-key em vez disso. Ele lê a chave do idioma de origem e grava nas chaves dos idiomas de destino dentro do mesmo arquivo.

Legendas#

Arquivos de legenda SRT e VTT são traduzidos com os buckets srt e vtt. A CLI preserva todos os dados de tempo, índices de cue e tags de formatação — apenas o conteúdo textual é traduzido.

json
{
  "$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"]
    }
  }
}

Trabalhando com grandes volumes de conteúdo#

Repositórios de conteúdo estático podem conter milhares de arquivos. A CLI lida com isso com eficiência por meio de três mecanismos:

MecanismoComo ajuda
LockfileRastreia fingerprints SHA-256 do conteúdo de origem. Em execuções seguintes, apenas arquivos novos ou modificados acionam a tradução.
Processamento paraleloDistribui a tradução entre workers simultâneos. Configure com run --concurrency 20.
Execuções direcionadasProcesse um bucket ou idioma específico: run --bucket markdown ou run --target-locale es.

Próximos passos#

Formatos compatíveis
Referência completa de todos os mais de 25 formatos de arquivo que a CLI pode traduzir
Bloqueio de chaves
Evite que valores específicos sejam traduzidos
Workflows de CI/CD
Automatize a tradução de conteúdo estático a cada push
Lockfile
Como funciona o rastreamento de tradução incremental

Esta página foi útil?

Max PrilutskiyMax Prilutskiy·Atualizado há 4 meses·3 min de leitura