如何在Django CMS Admin中翻译应用程序标签?

vecaoik1  于 2023-06-25  发布在  Go
关注(0)|答案(5)|浏览(97)

如何在Django CMS管理中翻译应用程序标签?
请看屏幕截图:

ghhaqwfi

ghhaqwfi1#

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

wn9m85ua

wn9m85ua2#

现在回答这个问题可能为时已晚,但我正在分享我的经验。
将以下提及代码添加到model.py

VERBOSE_NAME = _('Appname')

在使用此

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

这将向django.po添加条目。

omqzjyyz

omqzjyyz3#

我相信下面的答案对于Django 1.4或1.5是正确的。有关更多现代答案,请参见https://stackoverflow.com/a/32431808/1067717
看看this previously asked question在Django中的国际化的类似主题。
在内部,它使用Model._meta.app_label来显示应用程序名称。检查管理视图及其模板以获取更多信息。

blpfk2vs

blpfk2vs4#

我不知道你用的是哪个CMS,所以我只是给予你一个下面的示例代码。也许你可以像这样更改www.example.com文件中的字段models.py:

class Entry(models.Model):
    title         = models.CharField(u'标题',max_length=300)

    # other fields here

上面的代码在我的项目(django 1.4.2)中运行良好,CharField()中的第一个参数(字符串)将显示在我的Admin视图中,我认为这对你很有用。
我的项目中的完整代码:https://github.com/tianyu0915/pythoner.net/blob/master/pythoner/wiki/models.py#L69

23c0lvtd

23c0lvtd5#

我使用Django 4.2.1,例如,您可以通过将verbose_name添加到my_app/apps.py中的MyAppConfig类来翻译应用程序标签,如下所示。* 你应该使用gettext_lazy()而不是gettext(),否则会出现错误,你可以看到我的答案解释如何在Django中翻译:

# "my_app/apps.py"

from django.apps import AppConfig
from django.utils.translation import gettext_lazy as _

class MyAppConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'my_app'
    verbose_name = _('my_app') # Here

然后,my_app被翻译成nom_app,用黄色表示,如下所示。* 我不知道如何翻译蓝色的型号标签persons

相关问题