簡體   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