|
Documentación
Reservar una demoPlataforma
PlataformaMCPCLI
APIFlujos de trabajo
GuíasRegistro de cambios

Descripción general

  • @lingo.dev/cli

Primeros pasos

  • Guía rápida
  • Configuración

Referencia

  • lingo push
  • lingo pull
  • Otros comandos
  • lingo purge

Configuración

  • Controles de claves
  • Formatos
  • Idiomas

Guías

  • Añadir un idioma
  • Traducciones existentes
  • Retraducción
  • Notas de traducción
  • Ejecuciones, estado y recuperación
  • CI/CD
  • Monorepos
  • Proyectos grandes

¿Buscas la versión anterior de la CLI (v0)? Consulta la documentación de la CLI antigua

Formatos

El CLI traduce seis formatos de archivo. El formato se deduce a partir de la extensión del archivo; establece format en una entrada files[] para forzarlo.

FormatoExtensionesvalor de formatNotas
JSON.jsonjsonClave/valor. Admite controles de clave.
JSONC.jsoncjsoncJSON con comentarios. Los comentarios se conservan y también sirven como notas para traductores.
Markdown.mdmdSe traduce la prosa; el frontmatter es opcional.
MDX.mdxmdxMarkdown + JSX. Las props de los componentes son opcionales.
Markdoc.mdocmarkdocMarkdown + etiquetas. Frontmatter + atributos de etiquetas.
OpenAPI YAML.yamlyaml-openapiEspecificaciones OpenAPI. Define siempre format de forma explícita.

Velo de principio a fin

El proyecto de demostración incluye un archivo por formato con la configuración exacta que necesita cada uno. Clónalo con npx degit lingodotdev/lingo.dev/demo/new-cli my-lingo-demo y ejecuta un push.

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

JSON y JSONC#

Traducción básica de clave/valor. Se traduce cada valor de tipo string, salvo que un control de clave indique lo contrario.

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

Además, JSONC conserva los comentarios, que el motor interpreta como contexto; consulta notas para traductores.

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

Markdown, MDX y Markdoc#

La prosa del cuerpo se traduce por defecto. El frontmatter y los componentes integrados no se traducen a menos que lo actives expresamente.

Frontmatter#

Indica con translateFrontmatterFields qué campos del frontmatter quieres traducir:

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

Props de componentes MDX#

En MDX, traduce props concretas de componentes concretos con translateComponentProps:

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

Esto traduce las props title y body de <Hero> y <Callout>, y deja intactas todas las demás.

Markdoc#

Markdoc funciona como Markdown, con el frontmatter y los atributos de las etiquetas conservados:

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

OpenAPI YAML#

El YAML genérico es ambiguo, así que las especificaciones OpenAPI requieren un format explícito:

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

El motor traduce los campos visibles para las personas usuarias (resúmenes, descripciones) y deja intactas las claves del esquema, las rutas y los ID de operación.

Rutas de salida#

Los destinos se escriben sustituyendo el segmento de idioma del patrón de origen — content/en/app.json → content/de/app.json. Mantén el idioma de origen en la ruta para que el CLI sepa dónde van los destinos. Consulta Configuración.

¿Vienes del CLI heredado?#

El CLI heredado admitía unos 25 formatos (CSV, PO, XLIFF, cadenas de Android/Xcode, Flutter ARB, HTML y más). La compatibilidad con ellos se está incorporando al CLI actual en función del uso; hasta que llegue tu formato, la documentación del CLI heredado lo cubre.

¿Te ha resultado útil esta página?

Max PrilutskiyMax Prilutskiy·Actualizado hace 4 días·2 min de lectura