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

Localización

  • Resumen
  • API de traducción
  • Localización de aplicaciones web
  • Localización de apps móviles
  • iOS con catálogos de cadenas
  • 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

La 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. Apúntala a tu contenido, ejecútala una vez y obtén los archivos traducidos junto a los originales.

Tipos de contenido compatibles#

Tipo de contenidoFormatoBucket de la 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 sin formatoTXTtxtcontent/[locale]/readme.txt

Requisitos previos#

Cada ejecución de la 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 de la CLI traducen estos archivos conservando el frontmatter, los bloques de código y 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 adaptarlo a la convención de directorios de tu framework:

FrameworkConvención de directorio 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 el 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 que contienen.

Datos estructurados#

Los archivos JSON y YAML se traducen con los buckets json y yaml. Usa claves bloqueadas para evitar que se modifiquen valores no traducibles, como ID, URL o indicadores 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"]
    }
  }
}

En los archivos YAML que usan el código de idioma como clave raíz —algo habitual en Rails y Hugo— usa en su lugar 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. La CLI conserva todos los datos de temporización, los índices de las pistas y las 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"]
    }
  }
}

Trabajo con grandes volúmenes de contenido#

Los repositorios de contenido estático pueden contener miles de archivos. La CLI lo gestiona de forma eficiente mediante tres mecanismos:

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

Siguientes pasos#

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

¿Te ha resultado útil esta página?

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