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"]
}
Используйте заголовки столбцов в качестве ключей, чтобы предотвратить перевод определённых столбцов.