我只想对名字列标题使用我自己的翻译。仅此而已。
我的研究让我找到了django自己的消息文件,其中包含:
#: models.py:235
msgid "first name"
msgstr "nombre propio"
所以我创建了文件
/site/project/locate/es/LC_MESSAGES/django.po
把我的新3行
#: models.py:235
msgid "first name"
msgstr "nombre"
我已经尝试了我脑海中所有可能的位置,并且在设置中:
LOCALE_PATHS=('/home/djdev/site/project/loce',)
但管理员用户列表总是显示名字的默认翻译。
我使用的解决方法是创建一个函数,并在*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')
这对我来说已经足够了,但我仍然很好奇,因为这只是列表视图的一个变通方法,而不是表单。
问候,
请记住始终运行python manage.py compilemessages
以实际创建显示翻译内容所需的二进制django.mo
文件。