如何将 gettext 中的 msgid 复制到 msgstr 以进行 django i18n/翻译?

Cha*_*eon 6 django translation gettext internationalization django-i18n

在 JavaScript“djangojs”的 Django i18n 中,有一个错误的假设,即只有语言是英语 - https://code.djangoproject.com/ticket/20280

由于此限制,如果我的语言不是英语,我必须在字符串提取后将所有 msgid 复制到 msgstr。我在互联网上搜索但没有找到任何相关内容。

是否有任何工具可以在 *.po 文件上运行,将所有 msgid 复制到 msgstr?

我需要将波兰语翻译成波兰语,因为如果我不这样做,Django 就会将波兰语 JavaScript 翻译成英语——出了什么问题。欢迎您提出所有建议。


示例 - 波兰语 *.po:

msgid "Polski"
msgstr ""
Run Code Online (Sandbox Code Playgroud)

应该:

msgid "Polski"
msgstr "Polski"
Run Code Online (Sandbox Code Playgroud)

如果不这样做: Polski = 波兰语无效:

如果完成了 Polski = Polski!

这种需要是因为如果波兰语翻译为空,Django 首先加载英语而不是更新翻译,即使不需要,也不会翻译任何内容。除英语以外的所有语言都应该用这个技巧来完成。

小智 5

是的,它是 gettext 的一部分,称为 msgen: http://www.gnu.org/software/gettext/manual/html_node/msgen-Inspiration.html