尽管生成了django.po,Django {%trans%}仍无法正常工作

时间:2016-07-27 10:54:04

标签: python django django-i18n

我有一个模板文件templates/admin/base_site.html,其中包含一个trans代码:{% trans "Event List" %}

settings.py包括:

LANGUAGE_CODE = 'sv'
LOCALE_PATHS = (
    '/srv/mysite/locale/',
)

trans标记中的文字外,Django-admin页面已正确翻译为瑞典语。

当我运行python manage.py makemessages -l sv时,它会正确生成一个locale/sv/LC_MESSAGES/django.po文件,其最后几行是:

#: templates/admin/base_site.html:9
msgid "Event List"
msgstr "Event List"
然后我将其更改为:

#: templates/admin/base_site.html:9
msgid "Event List"
msgstr "Händelselista"

当我再次运行python manage.py runserver时,字符串不会在网页上翻译。

管理页面的其余部分仍然会像以前一样翻译成瑞典语。

我错过了什么?

2 个答案:

答案 0 :(得分:1)

django.po个文件仅用于编辑目的。您必须将它们编译为django.mo个文件,以便对它们进行解释:

python manage.py compilemessages

另见Django docs

答案 1 :(得分:0)

你重启了网络服务器吗?如果你没有,它将不会提供新编译的po文件。

编辑并确保在您执行完毕后重新启动Django服务器。