Разделы Написать в Telegram

Импорт и экспорт CSV

Нужны, когда тексты уходят на правку наружу: в таблицу, переводчику, во внешний сервис. Оба действия — на экране Обслуживание, вкладка «Словарь фраз».

Экспорт

Блок «Выгрузить в CSV», кнопка «Скачать .csv». Что в файле:

  • кодировка UTF-8 с BOM — Excel открывает без плясок;
  • разделитель — точка с запятой;
  • первая строка: UF_CODE, дальше все языковые колонки;
  • защита от формул: ячейка, начинающаяся с =, +, -, @, табуляции или переноса строки, получает апостроф в начале.

Последнее — не придирка. Без апострофа Excel считает такую ячейку формулой, и фраза «-15% на всё» превращается в ошибку вычисления или, хуже, в исполняемое выражение при открытии файла на чужой машине.

Импорт

Блок «Загрузить из CSV», выберите файл, «Загрузить переводы».

Требования к файлу:

Первая строказаголовки. UF_CODE обязателен, остальные колонки — только языковые. Лишняя колонка остановит импорт
Разделительточка с запятой
Расширение.csv или .txt
Кодировкаопределяется сама. BOM убирается, файл в Windows-1251 перекодируется, и об этом будет сказано в отчёте
Размердо 8 МБ и до 20 000 строк

Перед загрузкой модуль спрашивает подтверждение: переводы из файла заменят переводы в словаре.

Ограничение на размер — не каприз: файл больше упирается в таймаут, и вы вместо понятного сообщения получаете оборванную страницу на середине импорта.

Что происходит с записями

Код уже есть — запись обновится только по переданным языкам. Колонки, которых в файле нет, не затираются. То есть можно выгрузить весь словарь, отдать переводчику один язык и залить обратно только его.

Пустая ячейка ничего не меняет. Существующий перевод она не стирает — ни при повторной загрузке собственной выгрузки, ни из файла Excel с пропусками. Очистить перевод импортом нельзя вовсе: «пусто» означало бы сразу две разные вещи. Чистят руками в словаре.

Поменяли в файле текст на языке сайта — у фразы появится отметка устаревшего перевода: переводы под прежний оригинал модуль годными больше не считает. Список — экран Обслуживание, вкладка «Устаревшие переводы».

Кода нет — добавится новая запись.

Один код повторяется в файле — дубля не будет, обработается один раз.

В отчёте видно, сколько строк пропущено: пустой код или ошибка добавления.

Одна особенность, о которой узнают поздно

Перевод, залитый импортом, не снимает отметку «оригинал изменился».

Логика такая: модуль не может отличить залитый перевод устаревшей фразы от залитого перевода, сделанного до правки оригинала. Поэтому отметку он оставляет, а снимаете вы — кнопкой «Перевод проверен» на экране Обслуживание, вкладка «Устаревшие переводы».

Если об этом не знать, список устаревших переводов после большого импорта выглядит так, будто импорт не сработал. Сработал.

Подробнее про отметку — Очередь и «оригинал изменился».