避免 msgstr 中的动态内容翻译

Rav*_*pal 5 django transactions

我正在使用 makemessage 对 ja 和 de 进行 Django 翻译。有一个翻译是我不想翻译de中的动态内容。

我正在使用以下翻译。

msgid " and %(level3)s subgroups"
msgstr "und aller Untergruppen von %(level3)s "
Run Code Online (Sandbox Code Playgroud)

但现在我不想在 msgstr 中使用动态内容“level3”。我只是需要需要und aller Untergruppen von

所以我把它改为

msgid " and %(level3)s subgroups"
msgstr "und aller Untergruppen von "
Run Code Online (Sandbox Code Playgroud)

但是在执行compilemessages时出现错误

CommandError: Execution of msgfmt failed: /Users/treeni/treeni_produts/sustain-online/so-web/locale/de/LC_MESSAGES/django.po:4409: a format specification for argument 'level3' doesn't exist in 'msgstr'
msgfmt: found 1 fatal error
Run Code Online (Sandbox Code Playgroud)

小智 2

删除以所需#, python消息之前开头的任何注释。

例子:

前:

#: venv/lib/python3.10/site-packages/django/db/models/fields/__init__.py:129
#, python-format
msgid "Value %(value)r is not a valid choice."
msgstr ""
Run Code Online (Sandbox Code Playgroud)

后:

#: venv/lib/python3.10/site-packages/django/db/models/fields/__init__.py:129
msgid "Value %(value)r is not a valid choice."
msgstr ""
Run Code Online (Sandbox Code Playgroud)

再会!