Перекласти

Переклад файлів gettext .po

Файл .po має текстові ключі: англійське речення є ключем. Контексти, форми множини та змінні у стилі Python розташовані навколо цього тексту. KAERIS зберігає їх і записує форми множини, необхідні для цільової мови.

KAERIS переклав цю сторінку та перевірив кожен рядок зворотним перекладом. Носій мови ще не переглядав її. Оригінал англійською

Як побудований файл .po

Кожен запис має msgid (оригінальний текст) і msgstr (переклад). msgctxt розрізняє два однакові речення. Для множини використовують msgid_plural і по одному msgstr[n] для кожної форми, а рядок Plural-Forms у заголовку вказує, скільки форм має мова.

Файл джерелаen.po
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#: app/views.py:12
msgid "Welcome back, %(name)s!"
msgstr ""

#: app/views.py:20
msgid "%(count)d file"
msgid_plural "%(count)d files"
msgstr[0] ""
msgstr[1] ""

msgctxt "menu"
msgid "Open"
msgstr ""

msgctxt "verb"
msgid "Open"
msgstr ""

На що звертати увагу у перекладах .po

Реальний запуск: перекладено німецькою та перевірено

Реальний запуск, 27 жовтня 2026, без ручних правок: kaeris translate en.po --langs de з kaeris 0.2.35, 3.9 секунди, модель google/gemini-2.5-flash-lite, стандарт безкоштовного рівня. Нижче — німецький файл, який він створив, і що каже kaeris check про нього.

Результат німецькоюde.po
# Generated by KAERIS i18n Tool
# Language: de
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: de\n"

msgid "Welcome back, %(name)s!"
msgstr "Willkommen zurück, %(name)s!"

msgid "%(count)d file"
msgid_plural "%(count)d files"
msgstr[0] "%(count)d Datei"
msgstr[1] "%(count)d Dateien"

msgctxt "menu"
msgid "Open"
msgstr "Öffnen"

msgctxt "verb"
msgid "Open"
msgstr "Öffnen"
kaeris checkexit code 0
$ kaeris check --source en.po --langs de
✓ de: complete & placeholder-safe
✓ all locales complete & placeholder-safe

Що KAERIS робить з цим

Запустіть у три кроки

  1. Встановіть CLI

    Виконайте pip install kaeris.

  2. Перекладіть каталог

    Запустіть kaeris translate django.po --langs de,ja. Вихідні файли названі за мовою.

  3. Перевірте результат

    Завантажте оригінал і перекладений .po файл на безкоштовній сторінці перевірки, щоб побачити втрачені змінні та невідповідності термінів.

pip install kaeris
kaeris translate locale/en/LC_MESSAGES/django.po --langs de,ja --verify

Запитання

Чи підтримує він форми множини для російської чи арабської?

Заголовок множини і кількість msgstr[n] слотів записуються для цільової мови. У прикладі з російською джерельний файл створив nplurals=3 і три слоти.

А як щодо msgctxt?

Контекст залишається прикріпленим до запису, тому два однакові джерела з різними контекстами — це окремі рядки. Перевірка попереджає, якщо вони повертаються з різними перекладами.

Це безкоштовно?

Так, без облікового запису: 10 000 символів на файл і до 8 мов за один запуск. Безкоштовний API-ключ збільшує ліміт файлу до 50 000 символів. Довічна ліцензія коштує $79 один раз, за вашим власним ключем OpenRouter; місячні плани починаються від $19. Ціни

Чи можу я запускати його з терміналу або в CI?

Так. pip install kaeris, потім kaeris translate django.po --langs de,ja. Див. також Django. GitHub Action виконує той самий переклад у pull request. Документація CLI · GitHub Action

Продовжуйте

Довідник CLI · Довідник перевірки · Переклад у браузері · Безкоштовна перевірка · Конвертація форматів · Псевдолокалізація

Інші формати: JSON · YAML · ARB · XLIFF · .strings · .xcstrings · .properties · .resx · CSV · Markdown · Fluent · Android XML