|
Documentación
Agenda una demoPlataforma
PlataformaMCPCLIAPIFlujos de trabajo
Guías
Registro de cambios

Localización

  • Resumen
  • API de traducción
  • Localización de apps web
  • Localización de apps móviles
  • iOS con String Catalogs
  • Android con strings.xml
  • Localización de emails
  • Contenido estático (p. ej., .md, .json)
  • Next.js con Markdoc
  • Rails con i18n

Flujos de trabajo

  • Configuración del motor con MCP
  • Triaje de Jira
  • CI/CD

Localización de contenido estático

El CLI de Lingo.dev traduce archivos estáticos de tu repositorio —Markdown, MDX, Markdoc, JSON, YAML, subtítulos y más— con un motor de localización configurado. Solo apúntalo a tu contenido, ejecútalo una vez y obtén los archivos traducidos junto a los originales.

Tipos de contenido compatibles#

Tipo de contenidoFormatoBucket del CLIRuta de ejemplo
DocumentaciónMarkdownmarkdowndocs/[locale]/getting-started.md
DocumentaciónMDXmdxdocs/[locale]/getting-started.mdx
DocumentaciónMarkdocmarkdocdocs/[locale]/getting-started.mdoc
Datos estructuradosJSONjsondata/[locale].json
Datos estructuradosYAMLyamldata/[locale].yaml
Artículos de blogMarkdown / MDXmarkdown / mdxblog/[locale]/post-slug.md
SubtítulosSRTsrtsubs/[locale]/intro.srt
SubtítulosVTTvttsubs/[locale]/intro.vtt
Hojas de cálculoCSVcsv-per-localedata/[locale].csv
Cadenas de configuraciónPropertiespropertieslang/[locale].properties
Cadenas de configuraciónGettext POpolocale/[locale]/messages.po
Texto planoTXTtxtcontent/[locale]/readme.txt

Requisitos previos#

Cada ejecución del CLI envía el contenido a través de un motor de localización: la configuración que determina qué modelo LLM, glosario, voz de marca e instrucciones se aplican. Crea uno en el panel de Lingo.dev y genera una clave de API.

Sitios de documentación#

La mayoría de los frameworks de documentación organizan el contenido traducido en directorios por idioma. Los buckets markdown, mdx y markdoc del CLI traducen estos archivos sin alterar el frontmatter, los bloques de código ni la sintaxis de los 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"]
    }
  }
}

Ajusta el patrón include para que coincida con la convención de directorios de tu framework:

FrameworkConvención de directorios por idiomaReferencia
Docusaurusi18n/[locale]/docusaurus-plugin-content-docs/current/Guía de i18n de Docusaurus
NextraPáginas por idioma o diccionarios JSONDocumentación de Nextra
Hugocontent/[locale]/Guía multilingüe de Hugo
Astrosrc/content/[locale]/ o diccionarios JSONGuía de i18n de Astro
VitePressPrefijo de directorio [locale]/i18n de VitePress
MkDocsdocs/ por idioma con plugin de i18nPlugin de i18n de MkDocs

Componentes MDX

El bucket mdx conserva la sintaxis de los componentes JSX durante la traducción. Los componentes personalizados como <Callout>, <Tabs> y <CodeBlock> se mantienen intactos; solo se traduce el contenido de texto dentro de ellos.

Datos estructurados#

Los archivos JSON y YAML se traducen con los buckets json y yaml. Usa locked keys para evitar que se modifiquen valores no traducibles, como ID, URL o flags de configuración.

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 archivos YAML que usan el código de idioma como clave raíz —algo común en Rails y Hugo— usa el bucket yaml-root-key: lee desde la clave del idioma de origen y escribe en las claves de los idiomas de destino dentro del mismo archivo.

Subtítulos#

Los archivos de subtítulos SRT y VTT se traducen con los buckets srt y vtt. El CLI conserva todos los tiempos, índices de cues y etiquetas de formato; solo se traduce el contenido de texto.

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"]
    }
  }
}

Cómo trabajar con grandes volúmenes de contenido#

Los repositorios de contenido estático pueden contener miles de archivos. El CLI lo maneja de forma eficiente con tres mecanismos:

MecanismoCómo ayuda
LockfileRegistra huellas SHA-256 del contenido fuente. En ejecuciones posteriores, solo los archivos nuevos o modificados activan la traducción.
Procesamiento en paraleloDistribuye la traducción entre workers concurrentes. Configúralo con run --concurrency 20.
Ejecuciones dirigidasProcesa un bucket o idioma específico: run --bucket markdown o run --target-locale es.

Siguientes pasos#

Formatos compatibles
Consulta completa de los más de 25 formatos de archivo que puede traducir el CLI
Bloqueo de claves
Evita que se traduzcan valores específicos
Flujos de trabajo de CI/CD
Automatiza la traducción de contenido estático en cada push
Lockfile
Cómo funciona el seguimiento de traducciones incrementales

¿Te resultó útil esta página?

Max PrilutskiyMax Prilutskiy·Actualizado hace 4 meses·3 min de lectura