Lingo.dev + .csv (Datos)

Lingo.dev CLI traduce archivos CSV con una estructura específica. Actualiza el archivo CSV proporcionado añadiendo columnas con traducciones para cada localización de destino. La CLI preserva el formato exacto del CSV y los delimitadores, maneja UTF-8 y varias codificaciones de caracteres de forma segura, y funciona perfectamente con Excel, Google Sheets e importaciones de bases de datos.

Cómo funciona la traducción de CSV

Los archivos CSV deben tener la siguiente estructura:

  • Primera columna denominada KEY
  • Una columna de localización de origen (p. ej., en)

La CLI expande el archivo CSV suministrado para incluir columnas para cada localización de destino (p. ej., es, fr). Las traducciones se completan para cada localización de destino, mientras que el contenido original se preserva.

Ejemplo: Origen y resultado

Archivo de entrada (origen en inglés):

KEY,en
dashboard.title,Dashboard
greeting.message,Hello world!
button.label,Submit

Archivo de salida (después de la traducción al español y francés):

KEY,en,es,fr
dashboard.title,Dashboard,Panel de control,Tableau de bord
greeting.message,Hello world!,¡Hola mundo!,Bonjour le monde!
button.label,Submit,Enviar,Soumettre
  • La columna KEY se conserva.
  • La columna de localización de origen (en) permanece sin cambios.
  • Se añaden nuevas columnas para cada localización de destino (es, fr), con las traducciones completadas.

Configuración rápida

Para configurar la traducción de CSV, añade un bucket para tus archivos CSV en i18n.json:

{
  "locale": {
    "source": "en",
    "targets": ["es", "fr"]
  },
  "buckets": {
    "csv": {
      "include": ["i18n/data.csv"]
    }
  }
}

Traducir datos CSV

npx lingo.dev@latest i18n

La CLI preserva la estructura CSV, los encabezados y los tipos de datos mientras traduce el contenido de texto en las columnas de destino.

Características avanzadas

Soporte para delimitadores personalizados

Funciona con varios dialectos CSV:

  • Separado por comas: value1,value2,value3
  • Separado por punto y coma: value1;value2;value3
  • Separado por tabulaciones: value1\tvalue2\tvalue3

Configuración avanzada

Múltiples archivos CSV

"csv": {
  "include": [
    "i18n/data.csv",
    "content/static/*.csv"
  ]
}