Ошибки формы django на китайском языке (или на любом другом языке, кроме английского?) - PullRequest
1 голос
/ 20 сентября 2011

Я хочу знать, могут ли ошибки формы отображаться на китайском или других языках?

Вот как я получаю свои ошибки

{{ form.field_name.errors }}

Ответы [ 3 ]

2 голосов
/ 20 сентября 2011

Если вы установите язык в представлении, сообщения об ошибках будут напечатаны на выбранном языке:

    from django.utils.translation import activate
    activate('de')
2 голосов
/ 20 сентября 2011

Сначала несколько быстрых объяснений:

Ошибки вашего поля формы происходят из

raise forms.ValidationError(_("My Error Message"))

В Django (возможно, также и в других местах) часто можно увидетьthis:

from django.utils.translation import ugettext_lazy as _

Это превращает _ в ugettext_lazy, т.е. приведенный выше код ДЕЙСТВИТЕЛЬНО:

raise forms.ValidationError(ugettext_lazy("My Error Message"))

, но во избежание ввода ugettext_lazy (или вашей функции перевода)снова и снова, мы просто сопоставляем его с _.

Ответ на ваш вопрос

Наконец, чтобы ответить на ваш вопрос о том, могут ли ошибки отображаться вКитайский (или другие языки).Это зависит от того, передано ли сообщение об ошибке проверки в django.utils.translation.ugettext.В приведенном выше примере «Моё сообщение об ошибке» будет отображаться на китайском языке, если для пользователя LANGUAGE_CODE задано значение zh-tw или zh-cn.

Ниже приведен пример, в котором не было бы перевода:

raise forms.ValidationError("My Error Message")

Я настоятельно рекомендую прочитать: https://docs.djangoproject.com/en/1.3/topics/i18n/internationalization/, поскольку вам потребуется выполнить дополнительную работу, чтобы получитьпереводы отображаются правильно.

0 голосов
/ 20 сентября 2011

если вы используете _ в сообщениях формы, сообщение будет отображаться на правом языке! но если вы хотите проверить, какой язык работает в шаблоне, вы можете использовать:

{% if LANGUAGE_CODE != "ch" %}

{% endif %}

для получения дополнительной информации об использовании _ в вашей форме, проверьте это: https://docs.djangoproject.com/en/1.3/ref/forms/validation/#form-subclasses-and-modifying-field-errors

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...