2016-07-27 2 views
1

У меня есть файл шаблона templates/admin/base_site.html который содержит один trans тег: {% trans "Event List" %}.Django {% trans%} не работает, несмотря на создание django.po

settings.py включает в себя:

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

Страницы Джанго-администратора правильно переведены на шведский, помимо текста в trans тега.

Когда я бегу 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 снова, строка не переведены на веб-страницу.

Остальная страница администрирования все еще переведена на шведский язык, как и раньше.

Что мне не хватает?

+0

У вас есть 'django.middleware.locale.LocaleMiddleware', добавленный в ваш' MIDDLEWARE_CLASSES'? – OptimusCrime

ответ

1

django.po файлы предназначены только для редактирования. Вы должны скомпилировать их django.mo файлы, так что они интерпретируются:

python manage.py compilemessages 

Смотрите также Django docs.

0

Вы перезапустили веб-сервер? Он не будет обслуживать вновь скомпилированные файлы po, если вы этого не сделали.

Редактировать: и не забудьте перезапустить сервер Django после того, как вы это сделаете.

+0

Я написал, что я запускал сервер с 'python manage.py runningerver', что подразумевает, что я еще не использую Apache/Nginx. – fadedbee