from django.apps import AppConfig
from django.utils.translation import ugettext_lazy as _
class MyAppConfig(AppConfig):
name = 'MyApp'
verbose_name = _('Transalation of MyApp here')
# "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
5条答案
按热度按时间ghhaqwfi1#
***更新:***对于Django 3+,导入
gettext_lazy
而不是ugettext_lazy
。像这样:好的。我已经找到了如何在不改变数据库名称的情况下翻译应用程序名称。示例(在您要翻译的应用程序的
apps.py
内):运行
makemessages -a
,修改django.po
后运行compilemessages
,就完成了。点击admin中的刷新,您的应用程序名称将被翻译。wn9m85ua2#
现在回答这个问题可能为时已晚,但我正在分享我的经验。
将以下提及代码添加到model.py
在使用此
这将向django.po添加条目。
omqzjyyz3#
我相信下面的答案对于Django 1.4或1.5是正确的。有关更多现代答案,请参见https://stackoverflow.com/a/32431808/1067717
看看this previously asked question在Django中的国际化的类似主题。
在内部,它使用
Model._meta.app_label
来显示应用程序名称。检查管理视图及其模板以获取更多信息。blpfk2vs4#
我不知道你用的是哪个CMS,所以我只是给予你一个下面的示例代码。也许你可以像这样更改www.example.com文件中的字段models.py:
上面的代码在我的项目(django 1.4.2)中运行良好,CharField()中的第一个参数(字符串)将显示在我的Admin视图中,我认为这对你很有用。
我的项目中的完整代码:https://github.com/tianyu0915/pythoner.net/blob/master/pythoner/wiki/models.py#L69
23c0lvtd5#
我使用Django 4.2.1,例如,您可以通过将verbose_name添加到
my_app/apps.py
中的MyAppConfig
类来翻译应用程序标签,如下所示。* 你应该使用gettext_lazy()而不是gettext(),否则会出现错误,你可以看到我的答案解释如何在Django中翻译:然后,
my_app
被翻译成nom_app
,用黄色表示,如下所示。* 我不知道如何翻译蓝色的型号标签persons
: