【发布时间】:2018-06-29 10:40:55
【问题描述】:
我有一个模型,其字段名为phone。在俄语中,它看起来像这样:
телефон
有时当我尝试进行查询时,应用程序会向我抛出那种错误消息:
User with field phone already exists
如果我在设置中将LANGUAGE_CODE 设置为ru-RU,那么我添加了具有正确详细名称的Meta 类,以前的异常现在会抛出这种消息:
Пользователь с таким телефон уже существует
这是不对的。
在此消息的上下文中,字段 phone 应称为 телефоном。它最后有多余的字母。
在某些语言中,例如俄语,单词会根据句子的上下文有不同的结尾。
我正在尝试使用 gettext 并生成 po 文件,其中包含以下代码行:
#: .\main\models\users.py:77
msgid "phone"
msgstr ""
但是,我不知道如何在这段代码中编写多个翻译案例。
是否可以对字段名称进行不同的翻译?是否可以专门为此模型覆盖未找到的错误?
===================更新=========================
我找到了用于此异常消息的标准 Django 消息:
#, python-format
msgid "%(model_name)s with this %(field_label)s already exists."
msgstr "%(model_name)s с таким %(field_label)s уже существует."
是否可以专门针对 phone 字段覆盖此消息??
【问题讨论】:
-
您可以翻译整个句子。检查这个答案:stackoverflow.com/questions/28462268/…
-
@neverwalkaloner 我知道,但这句话是从异常消息中生成的。当此字段发生异常时是否可以覆盖此消息?
-
我没试过,但看起来有可能stackoverflow.com/questions/7878028/…
标签: python django internationalization gettext