Должны ли изменения переводов в Django Rosetta автоматически распространяться на фронтенд?

Когда я делаю или изменяю переводы в Rosetta в бэкэнде Django, файлы po и mo обновляются. Тем не менее, я не вижу их непосредственно во внешнем интерфейсе.

Док Розетты говорит:

НОВИНКА: если ваш веб-сервер поддерживает его, вы можете принудительно перезагружать переведенный каталог при каждом сохранении изменения. Смотрите примечание относительно переменной ROSETTA_WSGI_AUTO_RELOAD

Итак, какие условия должен выполнить веб-сервер, чтобы это работало?

2 ответа

Решение

Насколько я понял, вы должны настроить свой сервер с помощью wsgi (например, Apache mod_wsgi), чтобы использовать эту функцию.

ROSETTA_WSGI_AUTO_RELOAD и ROSETTA_UWSGI_AUTO_RELOAD: при запуске режима демона WSGI с использованием mod_wsgi 2.0c5 или более поздней версии этот параметр определяет, будет ли содержимое файлов каталога gettext автоматически перезагружаться процессами WSGI при каждой их модификации. Из соображений производительности этот параметр следует отключить в производственных средах. По умолчанию False.

Вам просто нужно добавить ROSETTA_WSGI_AUTO_RELOAD = True и ROSETTA_UWSGI_AUTO_RELOAD = True в ваш файл settings.py. Если у вас есть несколько файлов settings.py, добавьте эти строки для всех ваших файлов настроек. Пример:

      ROSETTA_WSGI_AUTO_RELOAD = True
ROSETTA_UWSGI_AUTO_RELOAD = True
Другие вопросы по тегам