Редактировать JSON переводов в таблице
Добавьте объекты JSON для каждого языка, сравните в таблице переводы одного ключа и отредактируйте их вручную. Создайте CSV для переводов и загрузите отредактированный CSV. Скопируйте все языки и ключи из таблицы или в виде CSV и сохраните изменения как JSON для одного языка или ZIP для нескольких. Новые ключи из CSV применяются после подтверждения их добавления. Фильтры отображения не меняют объём вывода; числа, массивы и другие значения сохраняются. Автоматический перевод не выполняется.
Что можно сделать
Сравнивать один ключ на разных языках
Выравнивайте строки в каждом JSON по одинаковым ключам. Можно отфильтровать отсутствующие значения или изменённые строки.
Передавать переводы через CSV
Создайте CSV для переводов и загрузите отредактированный CSV. Значения сопоставляются по ключам и столбцам соответствующих языков.
Создать JSON с сохранением его структуры
Изменения строк применяются к исходному JSON. Скачайте JSON для одного языка или ZIP с файлами JSON для нескольких языков.
Как пользоваться
Добавить JSON для каждого языка
Выберите файлы JSON или добавьте их из папки. Проверьте названия языков и язык, используемый для сравнения.
Редактировать переводы одного ключа
Используйте поиск или фильтры по статусу и вводите текст для нужного языка. Проверьте несовпадения плейсхолдеров и отсутствующие значения.
При необходимости обменяться через CSV
Создайте CSV для перевода с помощью функции обмена через CSV. При загрузке отредактированного CSV применяются значения для содержащихся в нём языков и ключей.
Создать и сохранить JSON для каждого языка
Функция создания JSON по языкам применяет изменения ко всем ключам. Если CSV добавил новые ключи, подтвердите, следует ли включить их.
Когда это полезно
Заполнить пропуски в нескольких языках
Сравните одинаковые ключи на разных языках и введите переводы для языков, где их не хватает.
Обмениваться переводами в таблице
Обменивайтесь переводами через CSV и применяйте их к исходному JSON, не редактируя его структуру напрямую.
Как обрабатываются ключи, значения и CSV
Ключи обозначают расположение в JSON
Ключи в таблице — это JSON Pointer. Символ / разделяет уровни; сам символ / в ключе обозначается как ~1, а ~ — как ~0. Ключи с точками и вложенные ключи остаются разными.
Отличать отсутствующее значение от пустой строки
Значение считается отсутствующим, если строкового ключа нет в JSON этого языка. Существующая пустая строка отсутствующим значением не считается. Числа, логические значения и массивы сохраняются и не редактируются в таблице.
Язык-образец и плейсхолдеры
Сравниваются имена в {name} и {{name}} с языком-образцом. Можно проверить несовпадения, но такие форматы, как ICU plural и select, остаются помеченными как неподдерживаемые. Эта функция не создаёт и не исправляет переводы автоматически.
Фильтры отображения и объём вывода
Поиск, фильтры по статусу и переключение страниц меняют только отображение. JSON и CSV создаются с учётом изменений для всех загруженных языков и всех ключей.
Новые ключи в CSV
Если CSV содержит ключи, которых нет ни в одном загруженном JSON, перед созданием JSON потребуется подтвердить их добавление. Это отличается от изменений, заполняющих отсутствующее значение ключа, который есть в другом языке.
Часто задаваемые вопросы
Перевод выполняется автоматически?
Автоматический перевод не выполняется. Этот инструмент позволяет сравнивать значения на разных языках и редактировать их вручную.
Что происходит с числами, массивами и другими значениями?
В таблицу извлекаются только строки из объектов. Числа, логические значения, массивы и null сохраняются; строки внутри массивов также нельзя редактировать.
Какие столбцы редактировать в CSV?
В столбце key указаны JSON Pointer, а в столбцах с названиями языков — переводы. Используйте названия столбцов, соответствующие загруженным языкам. Столбец comment пропускается и при повторном экспорте также остаётся пустым.
Как обрабатываются пустые ячейки CSV?
Если ключ уже есть в этом языке, его значение заменяется пустой строкой. Пустая ячейка для отсутствующего ключа не добавляет этот ключ, а ранее внесённые изменения для языков, отсутствующих в CSV, сохраняются.
Можно создать файлы, если остаются предупреждения о плейсхолдерах?
Да. Предупреждения помогают проверить переводы, но не гарантируют их правильность. Перед использованием результата проверьте несовпадения и неподдерживаемые форматы.
Сохраняются только отфильтрованные строки?
Нет. Изменения по всем ключам экспортируются независимо от поиска, фильтров и отображаемой страницы.
Что делать, если изменения конфликтуют с исходной структурой JSON?
Нельзя применить изменения, которые заменяют числа или массивы строками либо создают новый уровень вложенности под строкой. Проверьте изменённые или добавленные в исходных данных или CSV ключи.
Входные данные и результат
- Входные данные
- Объекты JSON для каждого языка. CSV используется для обмена переводами после загрузки файлов JSON.
- Редактирование
- Строки в объектах сопоставляются с ключами. Исходные файлы не перезаписываются.
- Вывод JSON
- Для одного языка: language-name.json. Для нескольких языков файлы JSON для каждого языка помещаются в translations.zip.
- Вывод CSV
- translations.csv. Создаётся CSV в UTF-8 с BOM и столбцами key, название языка и comment.