2017-04-12 5 views
0

Je développe une page d'aide à la traduction dans mon application basée sur la pyramide. Nouvelle traduction enregistrer dans le fichier .po et .mo par ceci:recharger le fichier de traduction en pyramid web framwork

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')) 

mais une nouvelle traduction pas utiliser jusqu'à ce que je remets en marche l'application. i besoin de recharger le fichier de traduction juste après que le nouveau fichier de traduction enregistrer sans application de redémarrage wsgi

réservoirs pour tout type d'aide

Répondre

0

Les traductions sont mises en cache pour une performance à Pyramid mais vous pouvez pserve de configuration pour redémarrer automatiquement le serveur wsgi lorsque les fichiers changent. Ajoutez simplement la directive watch_files à votre fichier ini. L'observateur utilise le module python glob et donc ce qui est supporté dépend si vous êtes sur python2 ou python3 mais vous pouvez expérimenter pour trouver une regex qui fonctionne. (Par exemple, ** n'est pas supporté sur python 2).

[pserve] 
watch_files = myapp/locales/**/*