我正在用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国际化有疑问 –