django - 如何使我的数据库中的字符串显示在 Django 的本地化 .po 文件中?
问题描述
在我的一个 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
模板标签文档所述
不能在 {% translate %} 内的字符串中混合模板变量。如果您的翻译需要带有变量(占位符)的字符串,请改用 {% blocktranslate %}。
所以你可以使用blocktranslate
{% blocktranslate %}
{{ country.Name_fr}}
{% endblocktranslate %}
对于您的用例来说,更简单的方法是将变量传递给翻译
{% translate %} 模板标签翻译常量字符串(用单引号或双引号括起来)或变量内容
{% translate country.Name_fr %}
推荐阅读
- c - 在 C Linux 中将二进制文件转换为可读的文本文件
- javascript - 在 ionic 4 中使用 .js 文件
- arrays - React native expo:如何使用 fetch、POST 方法发送到 json 数组
- java - 为什么 ScheduledThreadPoolExecutor 不提供有限队列?
- konvajs - 如何使用 KonvaJs 插件获取多边形等形状的中心点?
- dialogflow-es - 如何将分数作为一个实体捕获?
- reactjs - React:我们可以用 props 扩展 styled-components 吗?
- c - 在 C 中移动实现
- python - 如何在 Django 中将 @classmethod 作为 Celery 任务运行?
- javascript - 如何将按钮更改为可点击的文本,与按钮执行的操作相同