Lingo.dev + .csv (данные)

Lingo.dev CLI переводит файлы CSV, сохраняя структуру, заголовки и целостность данных для управления контентом и локализации данных. CLI поддерживает точный формат CSV и разделители, оставляет названия столбцов без изменений, обрабатывает только текстовый контент, сохраняя числа и даты, безопасно работает с UTF-8 и различными кодировками символов, а также легко интегрируется с Excel, Google Sheets и импортом баз данных.

Быстрая настройка

Настройка для файлов CSV с именованием на основе локали:

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

Напоминание: [locale] — это плейсхолдер, который должен оставаться в конфигурации буквально, так как он заменяется на фактическую локаль во время выполнения CLI.

Перевод данных CSV

npx lingo.dev@latest i18n

Сохраняет структуру CSV, заголовки и типы данных, переводя текстовый контент в указанных столбцах.

Обработка структуры CSV

Контент с заголовками

id,title,description,category
1,"Getting Started","Learn the basics quickly","Tutorial"
2,"Advanced Features","Deep dive into advanced topics","Guide"
3,"API Reference","Complete API documentation","Reference"

Заголовки остаются без изменений, а переводимый контент локализуется.

Смешанные типы данных

product_id,name,price,description,created_date
SKU001,"Premium Widget",29.99,"High-quality widget for professionals","2024-01-15"
SKU002,"Basic Tool",9.99,"Simple tool for everyday use","2024-01-16"

Переводятся только текстовые столбцы; числа, даты и идентификаторы остаются неизменными.

Расширенные функции

Поддержка пользовательских разделителей

Работает с различными диалектами CSV:

  • С разделением запятыми: value1,value2,value3
  • С разделением точкой с запятой: value1;value2;value3
  • С разделением табуляцией: value1 value2 value3

Обработка кавычек

title,content,tags
"Article Title","Content with ""quotes"" inside","tag1,tag2"
"Another Article","Simple content","single-tag"

Сохраняет кавычки и правила экранирования в CSV.

Расширенная конфигурация

Несколько файлов CSV

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

Заблокировать определённые столбцы

"csv": {
  "include": ["data/[locale].csv"],
  "lockedKeys": ["id", "price", "created_date", "status"]
}

Используйте заголовки столбцов в качестве ключей, чтобы предотвратить перевод определённых столбцов.