2013-05-09 85 views
2

我想要翻譯在Django模板的字符串:Django的模板翻譯與變階

{% trans "Thank you. You may <a href=\"/logout\">log out</a> now." %} 

因此,在英語中,結果將是:

Thank you, You may <log out> now. 

但是 - 在德國爲例,我需要:

Vielen Dank. Sie können sich nun <ausloggen>. 

其中<>中的文字是超鏈接。現在的問題是,單詞的順序已經改變,我不知道如何做到這一點。我在文檔中看到,這可以用Python代碼和「佔位符」來完成。但我需要在模板中。有沒有辦法做到這一點?另外,爲了簡化翻譯,我不喜歡我的翻譯文件中的HTML。任何幫助,高度讚賞!

+0

也許這將幫助http://stackoverflow.com/questions/4640084/django-templates-best-practice-for-translating-text-block-with-html-in-它 – fsw 2013-05-09 19:59:31

+0

我不明白你的問題。只需以任何您想要的順序在翻譯中寫下單詞。絕對沒關係,字符串中有一個超鏈接。 – 2013-05-10 08:50:51

回答

0

由於@fsw建議,請參閱this

您不應硬編碼「/註銷」,您必須使用{% url "urlname" %}標籤。 見here

也許呢? (我沒有測試它)

{% url "logout" as logoutvar %} 

{% blocktrans with logoutvar as logoutvar %} 

"Thank you. You may <a href="{{ logoutvar }}">log out</a> now." 

{% endblocktrans %} 
+0

丹尼爾,你是否用bloktrans解決了單詞順序?我與西班牙文有類似的問題 - 英文 – Daniel 2014-05-30 21:39:42