我有一个由 django 中的 View 呈现的 html 模板。并且模板具有 View 发送的一些动态值。
示例::
{{ text_to_be_translated.brand_name}}
上面的'text_to_be_translated.brand_name'是一个字典,有数千个像brand_name这样的键,它可以保存许多值,如'我的品牌','你的品牌'等
我无法翻译上述动态文本。
我尝试手动将文本的 msgids 放入 po 文件中
msgid "my brand"
msgstr "カードインフォメーション"
但它没有被翻译。
我做错了什么,请帮忙。
最佳答案
只是为了让某人受益而写。
我通过编写模板过滤器并使用“django with tag”强制翻译模板中的文本解决了问题
在 template.html 中
{% with card_details_trans=registration_card_details.card_details|template_trans %}
{% trans card_details_trans %}
{% endwith %}
模板标签内
@register.filter(name='template_trans')
def template_trans(text):
try:
return ugettext(text)
except:
return text
逻辑
- Django 不知道动态变量的内容需要翻译。
- with 标签根据应用的过滤器计算翻译后的值并给出翻译后的输出。
希望有帮助。干杯!!!
关于django - 翻译 django 模板中的动态内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45011440/