如何使数据库中的字符串显示在 Django 的本地化 .po 文件中?
How to make strings from my database show up in my localisation .po file in Django?
在我的一个 python 项目中,我正在遍历存储在我的 SQLite 数据库中的国家列表:
{% if europe %}
{% for country in europe %}
<figcaption>{{ country.Name_fr }}</figcaption>
{% endfor %}
{% endif %}
我正在使用本地化,所以我有一个包含 .po 文件的区域设置文件夹,我用它来处理不同的翻译。但是,我想让数据库字符串(来自 {{ country.name_fr }})显示在这些 .po 文件中。这意味着我必须包含一个翻译标签,但如果我尝试它,它会显示错误。这个:
<figcaption>{% translate {{ country.Name_fr }} %}</figcaption>
导致这个:
TemplateSyntaxError at /
Could not parse the remainder: '{{' from '{{'
如有任何帮助,我们将不胜感激
如 translate
模板标签文档所述
It’s not possible to mix a template variable inside a string within {%
translate %}. If your translations require strings with variables
(placeholders), use {% blocktranslate %} instead.
所以你可以使用 blocktranslate
{% blocktranslate %}
{{ country.Name_fr}}
{% endblocktranslate %}
对于您的用例来说,更简单的方法是将变量传递给翻译
The {% translate %} template tag translates either a constant string
(enclosed in single or double quotes) or variable content
{% translate country.Name_fr %}
在我的一个 python 项目中,我正在遍历存储在我的 SQLite 数据库中的国家列表:
{% if europe %}
{% for country in europe %}
<figcaption>{{ country.Name_fr }}</figcaption>
{% endfor %}
{% endif %}
我正在使用本地化,所以我有一个包含 .po 文件的区域设置文件夹,我用它来处理不同的翻译。但是,我想让数据库字符串(来自 {{ country.name_fr }})显示在这些 .po 文件中。这意味着我必须包含一个翻译标签,但如果我尝试它,它会显示错误。这个:
<figcaption>{% translate {{ country.Name_fr }} %}</figcaption>
导致这个:
TemplateSyntaxError at /
Could not parse the remainder: '{{' from '{{'
如有任何帮助,我们将不胜感激
如 translate
模板标签文档所述
It’s not possible to mix a template variable inside a string within {% translate %}. If your translations require strings with variables (placeholders), use {% blocktranslate %} instead.
所以你可以使用 blocktranslate
{% blocktranslate %}
{{ country.Name_fr}}
{% endblocktranslate %}
对于您的用例来说,更简单的方法是将变量传递给翻译
The {% translate %} template tag translates either a constant string (enclosed in single or double quotes) or variable content
{% translate country.Name_fr %}