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

Descripción general

  • @lingo.dev/cli

Primeros pasos

  • Inicio rápido
  • Configuración

Referencia

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

Configuración

  • Controles de claves
  • Formatos
  • Idiomas

Guías

  • Agregar un idioma
  • Traducciones existentes
  • Retraducción
  • Notas del traductor
  • Ejecuciones, estado y recuperación
  • CI/CD
  • Monorepos
  • Proyectos grandes

¿Buscas el CLI anterior (v0)? Consulta la documentación del CLI anterior

Formatos

El CLI traduce seis formatos de archivo. El formato se infiere por la extensión del archivo; define format en una entrada files[] para sobrescribirlo.

FormatoExtensionesValor de formatNotas
JSON.jsonjsonClave-valor. Admite controles de clave.
JSONC.jsoncjsoncJSON con comentarios. Los comentarios se conservan y también funcionan 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 de OpenAPI. Define siempre format de forma explícita.

Míralo de principio a fin

El proyecto demo 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 simple de clave-valor. Se traduce cada valor de texto, a menos que un control de clave indique lo contrario.

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

JSONC también conserva los comentarios, que el motor usa como contexto. Consulta notas para traductores.

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

Markdown, MDX y Markdoc#

La prosa del cuerpo se traduce de forma predeterminada. El frontmatter y los componentes integrados no se traducen a menos que actives esa opción.

Frontmatter#

Indica con translateFrontmatterFields qué campos del frontmatter se deben traducir:

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

Props de componentes MDX#

En MDX, traduce props específicas de componentes específicos 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 intactos:

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

OpenAPI YAML#

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

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

El motor traduce los campos visibles para las personas (resúmenes, descripciones) y deja intactas las claves de esquema, las rutas y los IDs 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 anterior?#

El CLI anterior admitía ~25 formatos (CSV, PO, XLIFF, strings de Android/Xcode, Flutter ARB, HTML y más). El soporte para esos formatos se está incorporando al CLI actual según el uso; mientras llega el tuyo, la documentación del CLI anterior lo cubre.

¿Te resultó útil esta página?

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