【问题标题】:reload translation file in pyramid web framework在金字塔网络框架中重新加载翻译文件
【发布时间】:2017-09-08 07:13:35
【问题描述】:

我在基于金字塔的应用程序中开发了一个翻译帮助页面。 新翻译通过以下方式保存在.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 应用程序。

【问题讨论】:

    标签: translation pyramid mo


    【解决方案1】:

    翻译在 Pyramid 中被缓存以提高性能,但您可以设置 pserve 以在文件更改时自动重新启动 wsgi 服务器。只需将 watch_files 指令添加到您的 ini 文件中。观察者使用 python glob 模块,因此支持的内容取决于您使用的是 python2 还是 python3,但您可以尝试找到一个有效的正则表达式。 (例如,** 在 python 2 上不受支持)。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-14
      • 2021-11-22
      • 2019-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-18
      • 1970-01-01
      相关资源
      最近更新 更多