0

我只想对名字列标题使用我自己的翻译。只是。

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

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

所以我创建了文件

./site/project/locale/es/LC_MESSAGES/django.po

并把我的新 3 行

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

我已经尝试了我想到的所有可能的位置,并且在设置中:

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

但是管理员用户列表总是显示first name的默认翻译。

我使用的解决方法是创建一个函数并在 *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')

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

问候,

4

1 回答 1

0

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

于 2012-09-13T07:21:55.257 回答