我想在Django的一個(或多個)單獨文件中包含所有模板的實際非html文本。此刻我的模板是相當擠滿通過通道,如:如何將可翻譯的文本(包括英文)放入Django的文件中
{% if request.session.lang == "en" %}
Some text in English
{% else %}
Some text in the default language
{% endif %}
模板文本(主要語言或英語)獲取由其他人經常改變,所以我想只是有一些文件,這些文件等人們也可以編輯(而不必編輯實際的視圖文件)。 閱讀django文檔的本地化部分後,似乎仍然需要將文本(文檔示例中的英文)硬編碼到模板/視圖中。
從Django文檔實例生成.po文件:
msgid "Welcome to my site."
msgstr ""
我寧願是這樣的:
msgid APP-XY_VIEW-XY_INTRODUCTION
msgstr ""
當然,顯而易見的解決方案似乎是採用類似:
ugettext('APP-XY_VIEW-XY_INTRODUCTION') # in a view
但是,我想確定是否沒有其他解決方案(不創建一些自定義ID字符串文字,在每個視圖/模板中硬編碼)。
非常感謝!
/編輯,Django的版本1.4.5
{%trans APP-XY_VIEW-XY_INTRODUCTION%} does not help? – karthikr
對不起,我不清楚這一點。我的問題是,我寧願避免烹飪一些自定義ID,如示例(APP-XY_VIEW-XY_INTRODUCTION)。我編輯了開幕帖子。謝謝。 – qzr