IIPanel
Для разработчиков

Перевод JSON-файлов локализации

Локализация приложения обычно упирается в рутину: нужно перевести сотни строк, не сломав структуру файла и не задев плейсхолдеры. Инструмент делает это автоматически — переводятся только значения, а ключи, вложенность и подстановки вроде {name} остаются как были.

языков
16
знаков за раз
60 000
правок ключей
0
на входе и выходе
JSON

Что именно делает инструмент

Вы вставляете содержимое файла локализации, выбираете целевой язык и модель. На выходе получаете валидный JSON той же структуры, где переведены только текстовые значения.

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

Отдельное внимание уделено плейсхолдерам. Подстановки вида {name}, {{count}}, %s, %d, :param, HTML-теги и символы переноса \n сохраняются в переводе. Если бы модель их перевела или потеряла, интерфейс сломался бы на подстановке значений.

  • Переводятся только значения, ключи неприкосновенны
  • Плейсхолдеры {name}, %s, :param остаются на месте
  • Вложенность и типы данных сохраняются
  • Результат проверяется на валидность JSON

Проверка результата

Перед сохранением результат разбирается как JSON. Если модель вернула что-то некорректное — например, обернула ответ в markdown-блок или потеряла скобку — обёртка снимается автоматически, а при неисправимой ошибке задача помечается как неуспешная.

Это важная деталь: получить внешне похожий, но сломанный файл хуже, чем получить честную ошибку. Поэтому в спорной ситуации инструмент сообщает о проблеме и предлагает попробовать файл поменьше или другую модель.

Как переводить большие файлы

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

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

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

Модели для перевода JSON

Для структурированных данных лучше брать модели посильнее — они аккуратнее следуют формату.

МодельНейросетьЧем хорошаПримерно
GPT-4oOpenAIНадёжно держит структуру JSON≈ 2 кр.
GPT-5OpenAIСложные файлы и длинные строки≈ 3–8 кр.
Gemini 3 ProGoogleБольшие файлы целиком≈ 1–4 кр.
DeepSeek V4 FlashDeepSeekЭкономичный вариант≈ 0.08 кр.

Цены ориентировочные и зависят от настроек генерации. Точная стоимость показывается в кабинете до запуска и списывается по факту.

Пример перевода файла

Обратите внимание: ключи и плейсхолдер {sum} остались без изменений.

GPT-4o · OpenAI

Запрос

{ "welcome": "Добро пожаловать!", "cart": { "empty": "Корзина пуста", "total": "Итого: {sum} ₽" } }

Результат

{ "welcome": "Welcome!", "cart": { "empty": "Your cart is empty", "total": "Total: {sum} ₽" } }

Частые вопросы

Ключи точно не изменятся?

Да. Модель получает прямое указание переводить только значения, а результат дополнительно проверяется на корректность JSON перед сохранением.

Что будет с плейсхолдерами {name} и %s?

Они сохраняются в переводе без изменений — иначе подстановка значений в приложении сломалась бы.

Поддерживается ли вложенность?

Да, любой глубины. Структура объекта полностью повторяется в результате.

Что если файл слишком большой?

Разбейте его по разделам: лимит на одну задачу — 60 000 знаков. Так же удобнее проверять результат по частям.

Начните работать с нейросетями сегодня

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

  • Стартовый баланс при регистрации
  • Без подписки — платите по факту
  • Все нейросети в одном окне