У меня есть модель с полем, которое называется phone
. По русски это будет выглядеть так:
телефон
Иногда, когда я пытаюсь сделать запрос, приложение выдает мне такие сообщения об ошибках:
User with field phone already exists
Если я установлю LANGUAGE_CODE
в настройках на ru-RU
, тогда я добавлю Meta
класс, который имеет правильное подробное имя, предыдущее исключение теперь выдаст такое сообщение:
Пользователь с таким телефон уже существует
Что не так.
В контексте этого сообщения поле phone
должно называться телефоном
. В конце есть лишние буквы.
В некоторых языках, например в русском, слова могут иметь разные окончания в зависимости от контекста предложения.
Я пытаюсь использовать gettext
и сгенерированный po
файл, в котором есть следующие строки кода:
#: .\main\models\users.py:77
msgid "phone"
msgstr ""
Однако я не знаю, как написать несколько вариантов перевода в этом коде.
Можно ли сделать разные случаи перевода имен полей? Можно ли переопределить найденную ошибку специально для этой модели?
================== UPDATE =========================
Я нашел стандартное сообщение Django, которое используется для этого сообщения об исключении:
#, python-format
msgid "%(model_name)s with this %(field_label)s already exists."
msgstr "%(model_name)s с таким %(field_label)s уже существует."
Возможно ли переопределить это сообщение специально для этого phone
поля ??