翻译默认"已经存在"信息

时间:2015-03-28 08:14:41

标签: django

添加unique_together约束时,表单的clean()方法将执行唯一性检查,如果不唯一,则会抛出错误消息,如:

  带有(Field1),(Field2)et(Field4)的

(Object)已经存在。

我没有在我的Django项目中使用.mo / .po文件进行翻译;无论如何,我的所有自定义验证消息都以我的语言翻译。

为此设置翻译的正确方法是什么(一次,项目范围内)?最好不要使用.PO文件翻译路径。

注意:有趣的是,上面错误引用中的and一词已翻译成我的语言(et)。

使用Django 1.7.7。

1 个答案:

答案 0 :(得分:1)

这已添加到Django 1.7

  

您可以通过将NON_FIELD_ERRORS键添加到ModelForm内部Meta类的error_messages字典来覆盖模型验证引发的NON_FIELD_ERRORS错误消息

可以将以下Meta类添加到DefaultForm(然后将其用作所有其他表单的父级):

class Meta:
    error_messages = {
        NON_FIELD_ERRORS: {
            'unique_together': "%(model_name)s's %(field_labels)s are not unique.",
        }
    }