我已經繼承了一個需要i18n的Django項目。我已經完成了i18n所需的所有常規操作,我通常在其他項目中執行此操作並且通常可以正常工作。但在這一個它不工作,這是Django 1.3,所以我去了國際化的文檔,並遵循所有的步驟,但它不工作。如何調試Django i18n?
我不知道會出現什麼問題,因爲我沒有自己設置所有的項目,我不知道它的哪一部分可能會打破國際化。
在base.html文件我加了典型的語言從文檔中選擇+的LANGUAGE_CODE標籤能得到一些反饋:
<form action="/i18n/setlang/" method="post">
{% csrf_token %}
<input name="next" type="hidden" value="{{ redirect_to }}" />
<select name="language">
{% get_language_info_list for LANGUAGES as languages %}
{% for language in languages %}
<option value="{{ language.code }}">{{ language.name_local }} ({{ language.code }})</option>
{% endfor %}
</select>
Lang:{{ LANGUAGE_CODE }}
<input type="submit" value="Go" />
</form>
無論我做什麼,在LANGUAGE_CODE總是返回默認EN-US或任何我設置在設置中。
我該檢查哪些東西?從哪裏開始,要改變什麼?
我嘗試了使用和不使用LANGUAGE_CODE,使用runserver,使用Apache,守護進程和非守護進程...... – Bastian
在設置結束時打印出值是什麼給了你的? –
但感謝mutli設置文件的想法,我認爲他們很乾淨,但發現了一些恐怖現在,並且locale中間件沒有被導入! i18n現在可以運行:)我將立即清理它。 – Bastian