如何覆盖django管理员翻译的列标题(字段的verbose_name)

时间:2012-09-07 05:41:59

标签: model internationalization django-admin field verbose

我只想将自己的翻译用于名字列标题。就是这样。

我的研究引导我到django自己的消息文件,其中包含:

#: models.py:235
msgid "first name"
msgstr "nombre propio"

所以我创建了文件

  

./网站/项目/区域/ ES / LC_MESSAGES / django.po

并提出我的新3行

#: models.py:235
msgid "first name"
msgstr "nombre"

我已经尝试了所有可能出现在我脑海中的位置:

  

LOCALE_PATHS =('/ home / djdev / site / project / locale',)

但是,管理员用户列表显示名字的默认翻译。

我使用的解决方法是创建一个函数并在* list_display *中调用它,如下所示:

def my_full_name(self, obj):
    try:
        return obj.last_name + ' ' + obj.first_name
    except CustomProfile.DoesNotExist:
        return ''
my_full_name.admin_order_field = 'last_name'

list_display = ('username', 'my_full_name', 'email')

...这对我来说已经足够了,但我仍然很好奇,因为这只是列表视图的解决方法而不是表单。

此致

1 个答案:

答案 0 :(得分:0)

请记住始终运行python manage.py compilemessages来实际创建显示翻译内容所需的二进制django.mo文件。