|
Documentação
Agende uma demoPlataforma
PlataformaMCPCLI
APIWorkflows
GuiasChangelog

Visão geral

  • @lingo.dev/cli

Primeiros passos

  • Início rápido
  • Configuração

Referência

  • lingo push
  • lingo pull
  • Outros comandos
  • lingo purge

Configuração

  • Controles de chave
  • Formatos
  • Idiomas

Guias

  • Adicionando um idioma
  • Traduções existentes
  • Retradução
  • Notas do tradutor
  • Execuções, estado e recuperação
  • CI/CD
  • Monorepos
  • Projetos grandes

Está procurando a versão anterior do CLI (v0)? Veja a documentação do CLI legado

Formatos

O CLI traduz seis formatos de arquivo. O formato é inferido pela extensão do arquivo; para sobrescrevê-lo, defina format em uma entrada files[].

FormatoExtensõesvalor de formatObservações
JSON.jsonjsonChave/valor. Compatível com key controls.
JSONC.jsoncjsoncJSON com comentários. Os comentários são preservados e também servem como translator notes.
Markdown.mdmdA prosa é traduzida; o frontmatter é opcional.
MDX.mdxmdxMarkdown + JSX. Props de componentes são opcionais.
Markdoc.mdocmarkdocMarkdown + tags. Frontmatter + atributos de tag.
OpenAPI YAML.yamlyaml-openapiEspecificações OpenAPI. Sempre defina format explicitamente.

Veja na prática, do início ao fim

O demo project inclui um arquivo por formato com a configuração exata de que cada um precisa. Clone com npx degit lingodotdev/lingo.dev/demo/new-cli my-lingo-demo e faça um push.

bash
npx degit lingodotdev/lingo.dev/demo/new-cli my-lingo-demo
cd my-lingo-demo

JSON e JSONC#

Tradução simples de chave/valor. Todo valor de string é traduzido, a menos que um key control indique o contrário.

json
{ "pattern": "content/en/app.json", "lockedKeys": ["meta.version"] }

O JSONC também preserva os comentários, que o engine usa como contexto — veja translator notes.

json
{ "pattern": "content/en/settings.jsonc", "preservedKeys": ["featureFlags"] }

Markdown, MDX e Markdoc#

A prosa do corpo é traduzida por padrão. Frontmatter e componentes incorporados não são traduzidos, a menos que você opte por isso.

Frontmatter#

Liste os campos de frontmatter que devem ser traduzidos com translateFrontmatterFields:

json
{
  "pattern": "content/en/guide.md",
  "translateFrontmatterFields": ["title", "description"]
}

Props de componentes MDX#

No MDX, traduza props específicas em componentes específicos com translateComponentProps:

json
{
  "pattern": "content/en/landing.mdx",
  "translateFrontmatterFields": ["title"],
  "translateComponentProps": [{ "component": ["Hero", "Callout"], "props": ["title", "body"] }]
}

Isso traduz as props title e body em <Hero> e <Callout>, e deixa todas as outras props intactas.

Markdoc#

O Markdoc funciona como Markdown, com frontmatter e atributos de tag preservados:

json
{
  "pattern": "content/en/changelog.mdoc",
  "translateFrontmatterFields": ["title"]
}

OpenAPI YAML#

Como YAML genérico é ambíguo, especificações OpenAPI exigem um format explícito:

json
{ "pattern": "content/en/api.yaml", "format": "yaml-openapi" }

O engine traduz os campos voltados para leitura humana (resumos, descrições) e mantém intactos as chaves de schema, os paths e os IDs de operação.

Caminhos de saída#

Os destinos são gravados substituindo o segmento de idioma do padrão de origem — content/en/app.json → content/de/app.json. Mantenha o idioma de origem no caminho para que o CLI saiba para onde enviar os destinos. Veja Configuração.

Vindo do CLI legado?#

O CLI legado oferecia suporte a ~25 formatos (CSV, PO, XLIFF, strings de Android/Xcode, Flutter ARB, HTML e mais). O suporte a esses formatos está sendo adicionado ao CLI atual com base no consumo; até que o seu formato chegue, a documentação do CLI legado cobre isso.

Esta página foi útil?

Max PrilutskiyMax Prilutskiy·Atualizado há 4 dias·2 min de leitura