翻译

翻译 django.po,然后检查每一行

makemessages 使用 %(name)s 变量和复数条目编写 locale/en/LC_MESSAGES/django.po。翻译 %(name)s 或删除它,模板就会引发错误或显示为空。KAERIS 会填充每个 msgstr 并按 Django 期望的方式保留变量。

KAERIS 翻译了此页面,并通过回译检查了每一行。尚未经过母语人士审阅。 英文原文

%(name)s 保持原样

每个 msgid 都有其 msgstr;标头包含目标语言的 Language 和复数规则。

之前locale/en/LC_MESSAGES/django.po
msgid "Welcome back, %(name)s!"
msgstr ""

msgid "Save changes"
msgstr ""
之后locale/de/LC_MESSAGES/django.po
msgid "Welcome back, %(name)s!"
msgstr "Willkommen zurück, %(name)s!"

msgid "Save changes"
msgstr "Änderungen speichern"

KAERIS 的处理方式

问题

之后我该运行什么?

将文件放入 locale/<lang>/LC_MESSAGES/ 并像往常一样运行 compilemessages。

是否保留 msgctxt?

是的。文本相同但上下文不同的条目将保持独立。

免费吗?

是的,无需账户:每个文件 10,000 个字符,每次运行最多 8 种语言。免费的 API 密钥可将文件限制提高到 50,000 个字符。一次性付费 79 美元,使用您自己的 OpenRouter 密钥;月度套餐起价为 19 美元。价格

我可以在终端或 CI 中运行它吗?

可以。pip install kaeris,然后使用您的文件和 --langs de,ja 运行 kaeris translate。当有新密钥时,GitHub Action 会打开一个 pull request。文档