繁体   English   中英

翻译django模板中的动态内容

[英]Translating dynamic content in django templates

我有一个由django中的视图呈现的html模板。 模板具有视图发送的一些动态值。

例::

{{ text_to_be_translated.brand_name}}

上面的'text_to_be_translated.brand_name'是一个包含brand_name等数千个键的字典,它可以包含许多值,如“我的品牌”,“您的品牌”等

我无法将上述动态文本翻译过来。

我试图在po文件中手动输入msgids文本

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

逻辑

  1. Django不知道需要翻译动态变量的内容。
  2. with标签计算应用过滤器的转换值并给出转换后的输出。

希望能帮助到你。 干杯!!!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM