我正在用django製作中文博客。我寫了一些我可以用中文控制的內容,例如發佈文章,博客標題,博客導航,評論和聯繫人表單的標籤標籤。我無法控制的唯一情況是提交錯誤的表單,例如「此欄位必填。」,「輸入有效的電子郵件地址」。因爲我使用django評論框架和表單庫來創建我的評論表單和聯繫人表單,所以我不知道如何將該英文版本替換爲中文版本。django國際化:翻譯字符串未完全翻譯
所以我訴諸django國際化。繼Django的文檔,我的一些翻譯字符串添加到形式是Django提供給我原來的HTML文件,如
{% for error in field.errors %}
<li>{% trans error %}</li>
{% endfor %}
{% for error in form.sender.errors %}
<li>{% trans error %}</li>
{% endfor %}
然後我把消息文件在我的項目的根目錄,並添加「django.middleware.locale。 LocaleMiddleware'設置爲MIDDLEWARE_CLASSES。
在.po文件中,字符串常量有記錄,如{%反式「歡迎來到我的網站」%}有記載:
msgid "Welcome to my site."
msgstr ""
但像{%反式誤差%}變量內容沒有記錄。
我還在繼續,並重新加載我的博客。我看到'這個字段是必需的'。被翻譯成中文,包括評論表格和聯繫我表格,但「輸入有效的電子郵件地址」仍然是英文。我嘗試手動添加新記錄,如
msgid "Enter a valid email address."
msgstr "XXXXXXX"
對.po文件,但沒有效果。
爲什麼django翻譯一些錯誤信息並忽略其他錯誤信息?
如果django無法自動翻譯一些字符串,或者我只是不喜歡翻譯django自動提供給我,我可以提供自己的翻譯嗎?如果是這樣,我在哪裏放置翻譯後的字符串,因爲.po文件沒有相應的記錄?
感謝您的建議。現在按照你的方法,我的問題已經解決了。但我仍然對django國際化有疑問 –