Должны ли изменения переводов в 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