Перевод Django с использованием Rosetta не отражает изменений

В настоящее время у меня есть небольшая проблема с использованием Saleor:

Сначала я установил следующую конфигурацию в saleor/settings.py:

# other settings config
LANGUAGE_CODE = 'pt_BR'
PROJECT_ROOT = os.path.normpath(os.path.join(os.path.dirname(__file__), '..'))
LOCALE_PATHS = ( 
    os.path.join(PROJECT_ROOT, "locale"),
)
USE_I18N = True
USE_L10N = True
USE_TZ = True

Затем я создал дерево каталогов /locale/pt_BR/LC_MESSAGES в корне проекта.

После этого я открыл rosetta и начал переводить все в мой языковой код (pt_BR). Все работало, как и ожидалось, но я не вижу изменений, которые я сделал на сайте.

Я уже попробовал:

  • перезапуск сервера (python manage.py runserver)
  • ручной запуск python manage.py compilemessages без ошибок в моем отредактированном.po файле.

Он генерирует файлы.po и.mo внутри ожидаемой папки, но, похоже, ничего не меняется (все по-прежнему на английском)

Дополнительная информация: Django версия 1.9.3 Python версия 2.7

У кого-нибудь есть такая же проблема? Спасибо

----- Редактировать -----

Это мой последний (с решенной проблемой) файл.po:

http://pastebin.com/EwrMYYyA

1 ответ

Решение

Моя проблема была:

Мой файл django.po не был заполнен правильным языковым кодом:

"Language: \n"

поэтому я изменился на

"Language: pt_BR\n"

после перекомпиляции сообщений (python manage.py compilemessages) все работало хорошо.

Кроме того, я обнаружил, что для настройки LOCALE_PATHS требуется косая черта после пути, подобного следующему:

LOCALE_PATHS = ( 
    os.path.join(PROJECT_ROOT, "locale/"),
)
Другие вопросы по тегам