How can I translate the application name in the Django CMS admin?
See the screenshot:
更新:对于 Django 3+ 导入gettext_lazy
而不是ugettext_lazy
. 像这样:from django.utils.translation import gettext_lazy as _
好的。我找到了如何在不更改数据库名称的情况下翻译应用程序名称。示例(在apps.py
您要翻译的应用程序内部):
from django.apps import AppConfig
from django.utils.translation import ugettext_lazy as _
class MyAppConfig(AppConfig):
name = 'MyApp'
verbose_name = _('Transalation of MyApp here')
运行makemessages -a
并更改django.po
运行后compilemessages
,您就完成了。在管理员中点击刷新,您的应用名称将被翻译。
回答这个问题可能为时已晚,但我正在分享我的经验。
将以下提及代码添加到 model.py
VERBOSE_NAME = _('Appname')
使用后这个
django-admin.py makemessages -a
django-admin.py compilemessages
这将向 django.po 添加条目。
我相信下面的答案对于 Django 1.4 或 1.5 是正确的。有关更现代的答案,请参阅https://stackoverflow.com/a/32431808/1067717
看看这个以前问过的关于 Django 国际化的类似主题的问题。
在内部,它用于Model._meta.app_label
显示应用程序名称。检查管理视图及其模板以获取更多信息。
我不知道您使用的是哪个 CMS,所以我只是在下面给您一个示例代码。也许您可以像这样更改 models.py 文件中的字段:
class Entry(models.Model):
title = models.CharField(u'标题',max_length=300)
# other fields here
上面的代码在我的项目(django 1.4.2)中运行良好,CharField()中的第一个参数(字符串)将显示在我的管理视图中,我认为它对你有用。
我项目中的完整代码:https ://github.com/tianyu0915/pythoner.net/blob/master/pythoner/wiki/models.py#L69