Описание инструмента

Этот инструмент переводит файлы JSON на другой язык с помощью ИИ. Он предназначен для файлов локализации, таких как en.json для i18next, next-intl, react-intl, vue-i18n или Angular, но работает с любыми файлами JSON. Откройте файл JSON, выберите язык и получите файл с теми же ключами, структурой и переведённым текстом.

Файл считывается в вашем браузере. Для перевода отправляются только текстовые значения вместе с путём к их ключу (например, checkout.button.pay), чтобы ИИ понимал, где используется каждый текст. Ключи, числа, логические значения и null не покидают файл, остаются без изменений, а переведённые значения возвращаются на те же места.

Возможности

  • Переводит каждое строковое значение на любой глубине во вложенных объектах и массивах.
  • Сохраняет ключи, порядок, числа, логические значения и null без изменений.
  • Сохраняет заполнители, такие как {name}, {{count}}, %s, %1$d, а также ICU-формы множественного числа, например {count, plural, one {# элемент} other {# элементов}}.
  • Пропускает значения, которые не являются текстом, например URL, адреса электронной почты, цвета, номера версий и идентификаторы, такие как primary_button.
  • Сохраняет отступы исходного файла, а минифицированный JSON остаётся минифицированным.
  • Называет результат в соответствии с целевым языком: en.json превращается в de.json, а messages.en.json — в messages.de.json.
  • Позволяет выбрать формальный или неформальный стиль для языков, в которых существует такое различие.

Примеры

Этот ввод, переведённый на русский язык:

{
  "cart": {
    "title": "Ваша корзина",
    "items": "{count, plural, one {# товар} other {# товаров}}",
    "checkout": "Перейти к оформлению заказа"
  },
  "maxItems": 20
}

превращается в:

{
  "cart": {
    "title": "Ваша корзина",
    "items": "{count, plural, one {# товар} other {# товаров}}",
    "checkout": "Перейти к оформлению заказа"
  },
  "maxItems": 20
}

Советы

Индикатор под настройками языка показывает, какой объём текста будет отправлен. За один раз можно перевести до 10 000 символов текста; ключи и другие значения не учитываются. Разделите большие файлы на разделы верхнего уровня и переводите их по очереди.

Описательные ключи улучшают качество перевода. Ключ button.save сообщает ИИ, что «Сохранить» — это подпись кнопки, а не существительное.

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

Мой файл загружается?
Нет. Файл обрабатывается в вашем браузере, и ИИ отправляются только текстовые значения и пути к их ключам.

Что происходит с текстом, который не удалось перевести?
Он сохраняется в исходном виде, а сообщение сообщает вам, сколько таких фрагментов было найдено, поэтому файл всегда остаётся полным и корректным.