我可以翻译 Django Admin 除了模型标签之外的内容,因为我不知道如何在 Django Admin 中翻译模型标签。
那么,如何在 Django Admin 中翻译模型标签?
您应该在所有模型的元数据中使用 ugettext_lazy util
from django.db import models
from django.utils.translation import ugettext_lazy as _
class Book(models.Model):
...
class Meta:
verbose_name = _("My Book")
verbose_name_plural = _("My Books")
您应该使用 gettext_lazy() 并将其设置为 verbose_name 和 verbose_name_plural 在 Django Admin 中翻译模型标签,如下所示。 *你可以看我的回答详细解释如何在Django中翻译:
# "models.py"
from django.db import models
from django.utils.translation import gettext_lazy as _
class Person(models.Model):
...
class Meta:
verbose_name = _("person") # Here
verbose_name_plural = _("persons") # Here
您也可以覆盖 admin.ModelAdmin 仅在管理中自定义模型名称,而不更改模型元
def __init__(self, model: type, admin_site: AdminSite) -> None:
super().__init__(model, admin_site)
self.opts.verbose_name = 'your custom model name'
self.opts.verbose_name_plural = 'your custom title plural'