Перевод 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:
1 ответ
Моя проблема была:
Мой файл django.po не был заполнен правильным языковым кодом:
"Language: \n"
поэтому я изменился на
"Language: pt_BR\n"
после перекомпиляции сообщений (python manage.py compilemessages
) все работало хорошо.
Кроме того, я обнаружил, что для настройки LOCALE_PATHS требуется косая черта после пути, подобного следующему:
LOCALE_PATHS = (
os.path.join(PROJECT_ROOT, "locale/"),
)