|
Documentação
Marcar uma demonstraçãoPlataforma
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

  • Controlos de chaves
  • Formatos
  • Idiomas

Guias

  • Adicionar um idioma
  • Traduções existentes
  • Retradução
  • Notas de tradução
  • Execuções, estado e recuperação
  • CI/CD
  • Monorepos
  • Projetos de grande escala

Está à procura da CLI anterior (v0)? Consulte a documentação da CLI anterior

Formatos

O CLI traduz seis formatos de ficheiro. O formato é inferido a partir da extensão do ficheiro; para o substituir, defina format numa entrada files[].

FormatoExtensõesvalor de formatNotas
JSON.jsonjsonChave/valor. Suporta controlos de chave.
JSONC.jsoncjsoncJSON com comentários. Os comentários são preservados e funcionam também como notas para tradutores.
Markdown.mdmdA prosa é traduzida; o frontmatter é opcional.
MDX.mdxmdxMarkdown + JSX. As props dos componentes são opcionais.
Markdoc.mdocmarkdocMarkdown + tags. Frontmatter + atributos de tags.
OpenAPI YAML.yamlyaml-openapiEspecificações OpenAPI. Defina sempre format explicitamente.

Veja o processo completo

O projeto de demonstração inclui um ficheiro por formato com exatamente a configuração de que cada um precisa. Clone-o com npx degit lingodotdev/lingo.dev/demo/new-cli my-lingo-demo e execute 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. Todos os valores de string são traduzidos, salvo indicação em contrário de um controlo de chave.

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

O JSONC também preserva os comentários, que o motor lê como contexto — veja notas para tradutores.

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

Markdown, MDX e Markdoc#

A prosa do corpo é traduzida por predefinição. O frontmatter e os componentes incorporados não são traduzidos, a menos que opte por isso.

Frontmatter#

Liste os campos de frontmatter a traduzir 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"] }]
}

Isto traduz as props title e body em <Hero> e <Callout> e deixa todas as outras props inalteradas.

Markdoc#

O Markdoc funciona como o Markdown, com o frontmatter e os atributos das tags preservados:

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

OpenAPI YAML#

O YAML genérico é ambíguo, por isso as especificações OpenAPI exigem um format explícito:

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

O motor traduz os campos visíveis para o utilizador (resumos, descrições) e mantém intactos as chaves do esquema, os paths e os IDs das operações.

Paths de saída#

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

Vem do CLI legado?#

O CLI legado suportava ~25 formatos (CSV, PO, XLIFF, strings de Android/Xcode, Flutter ARB, HTML e outros). O suporte a esses formatos está a ser adicionado ao CLI atual com base no consumo; enquanto o seu formato não estiver disponível, consulte a documentação do CLI legado.

Esta página foi útil?

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