JSON Translator: перевод файлов локализации без повреждения ключей

Smartcat анализирует ваш JSON, переводит только строковые значения и возвращает файл с теми же ключами и той же вложенностью — блокируя ваши токены-плейсхолдеры в виде тегов с помощью регулярных выражений, настроенных вами единожды, — более чем на 280 языков.

Переведите любой файл. За секунды.
Изображения, документы, видео, аудио, курсы — выберите формат и перетащите файл.
Перетащите документы сюда
или выберите файл · Поддерживается .docx, .pdf, .pptx, .xlsx и другое

Более 1000 корпоративных брендов выбирают Smartcat для своих задач по переводу и локализации

Что должен сохранять переводчик JSON

JSON-переводчик переводит понятные человеку строки в JSON-файле на другой язык, не затрагивая структуру файла. Smartcat переводит строковые значения в ваших файлах локализации — ключи, числа, логические значения и вложенность остаются в точности такими же, какими и были, а токены-плейсхолдеры блокируются как нередактируемые теги, поэтому переведенный файл легко возвращается обратно в ваш процесс i18n.

Просто перевести один файл, один раз, бесплатно? Используйте бесплатный JSON-переводчик — тот же самый движок, ориентированный на работу прямо в браузере.

280+

целевые языки

Один en.json на входе; de.json, ja.json и pt-BR.json на выходе. Используйте en.json в качестве единого источника истины и генерируйте все целевые локали на его основе в рамках одного проекта, вместо того чтобы вручную поддерживать двенадцать файлов.

103%

совпадения по ключу-идентификатору TM

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

6 ГБ

за документ или файл проекта

Опубликованный предельный объем является глобальным, а не специфичным для JSON, с рекомендацией разбивать любые данные размером более 1 ГБ на меньшие части для повышения скорости.

Почему обычные переводчики ломают JSON-файлы

Вставьте en.json в обычный переводчик, и он воспримет весь документ как сплошной текст. То, что возвращается, парсится в вашем редакторе — или нет — и падает в продакшене.

Ключи переводятся — "checkout_button" превращается в "bouton_de_paiement", и теперь каждый поиск в вашем коде возвращает undefined.

  • Заполнители искажаются — вместо "Hello, {{userName}}" возвращается "Bonjour, {{nomUtilisateur}}", и строка отображается с исходным токеном, так как переменная больше не распознается.

  • Схлопывание форм множественного числа — сообщение ICU вида {count, plural, one {# item} other {# items}} сводится к одному предложению, и плюрализация незаметно ломается для всех языков, кроме английского.

  • Экранирование повреждает данные — экранированные кавычки, последовательности \n и \uXXXX «заботливо» нормализуются, и файл, который выглядел нормально в diff, выдает ошибку при JSON.parse.

Ничто из этого не отображается при проверке. Они появляются во время выполнения, по одной локали за раз. Работаете с другими форматами для разработчиков? Smartcat также анализирует файлы gettext PO и XLIFF в едином рабочем пространстве, используя общую память переводов и глоссарий.

Нам доверяют контент о своих продуктах более 1000 ведущих мировых брендов

9.6/10

для удобства настройки на G2

9.3/10

для удобства использования на G2

1,000+

корпоративные бренды

SOC 2

Соответствует Типу II

Всё начинается со звонка

Принесите один реальный файл локализации на индивидуальную консультацию с инженером по локализации: XPath-выражения, правила для плейсхолдеров и ваш график релизов — всё это будет разобрано на примере вашего собственного файла. Без обязательств.

Как перевести файл JSON в Smartcat

1. Загрузите свой файл локализации

Загрузите en.json — или сразу несколько файлов локализации.

2. Определите правила для заполнителей

На вкладке «Placeholders» (Заполнители) в «Settings» (Настройки) добавьте регулярное выражение для каждого формата токенов, который фактически используется в вашей кодовой базе. Все совпадающие элементы импортируются как заблокированные, нередактируемые теги — этот же механизм применяется к JSON, TJSON, PO, RESX, XLIFF, XML, PHP и CSV.

3. Выберите языки перевода

Один файл на входе, de.json, ja.json и pt-BR.json на выходе — из более чем 280 вариантов.

4. Оцените то, что действительно важно

Откройте редактор, чтобы проверить строки, применить термины глоссария или направить язык живому рецензенту. Пропускайте этот шаг, когда черновика от ИИ достаточно.

5. Скачать JSON

Те же ключи, та же вложенность, новый язык.

6. Или экспортируйте весь проект целиком

Выберите свои проекты, нажмите «Скачать», и вы получите один ZIP-архив со всеми файлами в их исходном формате, распределенными по папкам.

Результаты перевода JSON, опубликованные командами

2–3 дня

Время обработки документов сократилось с десяти

Smith+Nephew сократила сроки выполнения переводов с 10 дней до двух-трех дней с помощью Smartcat.

30%

Больше результатов перевода

Узнайте, как Wunderman Thompson переводит на 30% больше контента без увеличения бюджета и с повышением качества.

31 час

Экономия каждый месяц

Babbel экономит 31 час в месяц в своих отделах маркетинга, а также обучения и развития.

Отправляйте все локали из одного исходного файла

Загрузите en.json, скачайте все остальные локали с полным сохранением ключей, плейсхолдеров и вложенности, а во втором релизе используйте практически всё, чему первый релиз обучил память переводов. 15 дней, банковская карта не требуется.

Часто задаваемые вопросы

Что такое файл JSON?

JSON-файл (JavaScript Object Notation) — это легковесный текстовый формат для хранения и обмена структурированными данными. Обычно он используется для обмена информацией между веб-приложениями и серверами, поскольку его легко читать и писать как людям, так и машинам. Файлы JSON обычно используют пары «ключ-значение» и поддерживают такие типы данных, как строки, числа, массивы и объекты.

Будет ли вывод действительно парситься?

Структура никогда не редактируется — только строковые значения, — поэтому валидность обеспечивается моделью синтаксического анализа, а не удачей. Smartcat отделяет структуру от контента: ключи, числа, логические значения, null и вложенности блокируются, и только строковые значения становятся сегментами для перевода.

Как Smartcat обрабатывает вложенные объекты?

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

Поддерживает ли оно формы множественного числа ICU MessageFormat?

Да, в обоих направлениях. Формы множественного числа могут существовать в Smartcat либо нативно — каждая форма множественного числа как отдельный сегмент, создаваемый со всеми формами при добавлении ключа, — либо в виде синтаксиса ICU MessageFormat. При импорте вы выбираете, следует ли разбирать ключи, содержащие синтаксис ICU, на отдельные сегменты или оставить их как есть, а при экспорте формы множественного числа записываются обратно в виде строки, совместимой с ICU MessageFormat.

Могу ли я перевести только те ключи, которые изменились со времени последнего релиза?

Фактически да. Используйте Update current document для измененного файла: эта функция заменяет файл и подтягивает всю ранее выполненную работу из памяти переводов, так что реальную работу потребуется выполнить только над новыми и отредактированными строками. Два предостережения, о которых стоит знать, прежде чем полагаться на эту функцию: обновление отменяет все назначения задач по этому документу, поэтому лингвистов придется назначать заново, а операции «Обновить» (Update) и «Загрузить» (Upload) расходуют Smartwords на повторный перевод.

Какие соглашения JSON работают?

Поддерживаются как стандартный JSON типа «ключ-значение», так и вложенные объекты, согласно документации, а LOCJSON и TJSON поддерживаются в качестве самостоятельных отдельных форматов.

Существует ли ограничение на размер или количество файлов?

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

Количество файлов в одном проекте не ограничено — поддерживается пакетная загрузка сотен файлов локализации, и этот лимит не зависит от тарифного плана. Ограничение касается размера каждого файла, а не их количества.

Существует ли API для перевода JSON?

Да, на тарифах Anticipate и Autonomous, и для этого требуется аккаунт компании — API нельзя использовать с аккаунта фрилансера, и он не подключается во время бесплатного пробного периода.

Он загружает файлы, получает переводы и поддерживает асинхронную обработку с обратными вызовами для уведомлений; для всех методов действует общий лимит в 4 запроса в секунду. Документация: developers.smartcat.com/api-guides/.

Безопасен ли мой исходный контент?

Smartcat соответствует требованиям стандарта SOC 2 Type II. Файлы шифруются при передаче и хранении, рабочие пространства изолированы, а доступ основан на ролях. Подробности на странице безопасности.

В чем заключаются недостатки машинного перевода JSON?

Машинный перевод не может определить контекст интерфейса по имени ключа. "Save" может быть кнопкой, скидкой или существительным — и правильный перевод в большинстве языков будет отличаться.

Для строк длиной менее примерно трех слов черновой вариант от ИИ является лишь отправной точкой; редактор сегментов существует именно для того, чтобы человек мог сверить их со скриншотами или контекстными примечаниями перед выпуском. Запланируйте время на проверку коротких строк интерфейса; для длинного описательного текста этот шаг можно пропустить.