如何在 DRF 中仅翻译自定义错误消息?

在 DRF 中,所有默认错误消息都已翻译。但是我需要翻译我自己的错误信息。我做了什么:

  1. 将我所有的错误信息放入_(),哪里_gettext

  2. 在设置中设置LOCALE_PATHSlocale文件夹

  3. python manage.py makemessages -l ru

这创建了 .po 文件,这里是第一个麻烦。在 .po 文件中是我的消息,除此之外还有很多我不想翻译的默认 Django 消息。(我不想覆盖翻译,我想扩展它)

我在 .po 文件中翻译了我的消息,然后我运行python manage.py compilemessages创建了 .mo 文件。这是第二个麻烦。

我所有的消息现在都已翻译,但默认的 DRF 消息(它们不在 .po 文件中,有 Django 消息,而不是 DRF)尚未翻译,它们只有英文(例如Authentication credentials were not provided,This field is required等)


隔江千里
浏览 85回答 1
1回答

慕容3067478

需要从 venv 中的包中排除消息。例如- 忽略python manage.py makemessages -l ru --ignore=envpython manage.py compilemessages -l ru --ignore=env
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python