5

How can I translate the application name in the Django CMS admin?

See the screenshot:

Screenshot

4

4 回答 4

32

更新:对于 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,您就完成了。在管理员中点击刷新,您的应用名称将被翻译。

于 2015-09-07T05:44:36.547 回答
4

回答这个问题可能为时已晚,但我正在分享我的经验。

将以下提及代码添加到 model.py

VERBOSE_NAME = _('Appname')

使用后这个

django-admin.py makemessages -a
django-admin.py compilemessages

这将向 django.po 添加条目。

于 2014-06-18T17:13:17.777 回答
2

我相信下面的答案对于 Django 1.4 或 1.5 是正确的。有关更现代的答案,请参阅https://stackoverflow.com/a/32431808/1067717


看看这个以前问过的关于 Django 国际化的类似主题的问题。

在内部,它用于Model._meta.app_label显示应用程序名称。检查管理视图及其模板以获取更多信息。

于 2013-10-03T21:47:43.337 回答
0

我不知道您使用的是哪个 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

于 2013-10-12T14:07:45.670 回答