Как это работает

Взгляд под капот на то, как TranslateBot обрабатывает ваши переводы.

Сканирование

Находит все .po-файлы в ваших каталогах локалей

Diff

Находит записи с пустыми значениями msgstr

Перевод

Отправляет пакеты выбранной вами модели ИИ

Запись

Обновляет ваши .po-файлы переводами

Сохранение плейсхолдеров

Django использует специальные плейсхолдеры для динамических значений. Их повреждение ломает приложение. TranslateBot сохраняет их без изменений.

Вход (msgid) Welcome back, %(username)s! You have %(count)d new messages.
Выход (msgstr — французский) Bon retour, %(username)s ! Vous avez %(count)d nouveaux messages.
%(name)s Именованная строка
%(count)d Именованное целое
%s Позиционная строка
{0} Индекс формата

Зачем нужен dry run?

Перед запуском полного перевода используйте --dry-run, чтобы увидеть, что именно будет переведено — без вызовов API и изменений файлов.

$ python manage.py translate --target-lang nl --dry-run
ℹ️ Found 3 untranslated entries
🔍 Dry run mode: skipping LLM translation

✓ Would translate 'Welcome to our platform'
✓ Would translate 'Save changes'
✓ Would translate 'Delete account'

Dry run complete: 3 entries would be translated
Никаких расходов на API
Показывает, что нуждается в переводе
Без изменений файлов

Готовы автоматизировать переводы?