2010-08-08 58 views
0

我使用的是django i18n,並且我成功地將我的html tempate中的字符串和變量翻譯爲{% trans "some string" %}Django:如何有效翻譯整個頁面內容

但我想翻譯整個頁面的內容,而不僅僅是一些字符串,我的問題是:什麼是最好的方式來做到這一點。

我試過{% blocktrans %} html content {% endblocktrans %},但這是一種非常低效的方式,尤其是當我想稍後管理內容時。

我想過是這樣的:

<form action="/i18n/setlang/" method="post"> 
<input name="next" type="hidden" value="/next/page/" /> 
<select name="language"> 
{% for lang in LANGUAGES %} 
<option value="{{ lang.0 }}">{{ lang.1 }}</option> 
{% endfor %} 
</select> 
<input type="submit" value="Go" /> 
</form> 

在那裏你可以參考價值的翻譯內容的副本。但我不想有兩個相同的HTML頁面,我目前使用「django-localeurl」

我也聽說過「django-rosetta」?

回答

0

如果你真的想要動態翻譯(類似CMS的文本),你應該看看django-multilangual,基本的i18n更適合短的靜態字符串,而不適合長時間的動態字符串。

+0

感謝您的反饋。 在我的特殊情況下,我有很長的靜態內容需要翻譯(免責聲明)。 所以我認爲沒有比在適當的django.po文件中只翻譯一次更好的方法。 – saeed 2010-08-13 08:31:31