Перезагрузить файл перевода в веб-пирамиде
Я разрабатываю страницу помощника по переводу в своем приложении на основе пирамиды. Новый перевод сохраняется в .po
а также .mo
файлы через это:
po = polib.pofile(join(root, 'locale', lang, 'LC_MESSAGES', 'myapp.po'))
.....
po.save(join(root, 'locale', lang, 'LC_MESSAGES', 'myapp.po'))
po.save_as_mofile(join(root, 'locale', lang, 'LC_MESSAGES', 'myapp.mo'))
Но новый перевод не вступит в силу, пока я не перезапущу приложение.
Мне нужно перезагрузить файл перевода сразу после сохранения нового файла перевода без перезапуска приложения wsgi.
1 ответ
Переводы кэшируются для повышения производительности в Pyramid, но вы можете настроить pserve для автоматического перезапуска сервера wsgi при изменении файлов. Просто добавь watch_files
директива на ваш INI-файл. Наблюдатель использует модуль python glob, поэтому поддерживаемое зависит от того, используете ли вы python2 или python3, но вы можете поэкспериментировать, чтобы найти регулярное выражение, которое работает. (Например, **
не поддерживается на Python 2).
[pserve]
watch_files = myapp/locales/**/*