Переведите django.po, затем проверьте каждую строку
makemessages записывает locale/en/LC_MESSAGES/django.po с переменными %(name)s и множественными записями. Переведите %(name)s или удалите его, и шаблон вызовет ошибку или ничего не покажет. KAERIS заполняет каждый msgstr и оставляет переменные так, как ожидает Django.
Эту страницу перевёл KAERIS и проверил каждую строку обратным переводом. Носитель языка ещё не проверял. Оригинал на английском
%(name)s остается на месте
Каждый msgid получает свой msgstr; в заголовке указываются Language и правило множественного числа для целевого языка.
msgid "Welcome back, %(name)s!"
msgstr ""
msgid "Save changes"
msgstr ""
msgid "Welcome back, %(name)s!" msgstr "Willkommen zurück, %(name)s!" msgid "Save changes" msgstr "Änderungen speichern"
Что KAERIS делает с этим
Формы множественного числа для каждого языка
Записи
ngettextполучают столько формmsgstr, сколько необходимо целевому языку: три для русского, одну для китайского.Переменные проверяются без ИИ
После перевода простая проверка сравнивает каждую переменную и тег с оригиналом. Строка, потерявшая один, помечается и отображается сверху.
Каждая строка переведена обратно
Другая модель, GPT-4o mini, переводит каждую строку обратно на ваш язык, а DeepSeek V3.2 на американских серверах (DeepInfra, DigitalOcean, Google) оценивает, изменился ли смысл. Вы читаете, что теперь говорит каждая строка.
Вопросы
Что мне запустить потом?
Поместите файл в locale/<lang>/LC_MESSAGES/ и запустите compilemessages как обычно.
Сохраняется ли msgctxt?
Да. Записи с одинаковым текстом, но разным контекстом остаются отдельными.
Это бесплатно?
Да, без учетной записи: 10 000 символов на файл и до 8 языков за запуск. Бесплатный API-ключ увеличивает лимит файлов до 50 000 символов. Пожизненная лицензия стоит $79 один раз, при использовании вашего собственного ключа OpenRouter; ежемесячные планы начинаются от $19. Цены
Могу ли я запускать его из терминала или в CI?
Да. pip install kaeris, затем kaeris translate с вашим файлом и --langs de,ja. GitHub Action открывает pull request при появлении новых ключей. Документация