2

问题的设置很简单:

  • 用户选择语言首选项(可以从用户的会话中读取此首选项);
  • 基于此选择,从可用的翻译中加载适当的 .mo;
  • (没有设置单独的域,如果有什么不同的话)

问题:由于此返回必须在烧瓶应用程序范围之外完成,因此无法实例化并使用@babel.localeselector。相反,我使用了一个基于 webapp2 i18n' 扩展的简单函数,它使用 Babel 的支持函数加载给定的翻译并返回一个翻译实例(翻译:“PROJECT VERSION”)。(inb4 '为什么不使用 webapp2 呢?' 库已经太多了)。

从这一点开始,我不清楚如何处理这个实例。我怎样才能让 Babel 使用这个特定的实例?(目前,它总是使用默认的,不涉及'best_match')。

4

1 回答 1

0

通过仅使用烧瓶应用程序和我想要避免的方式来解决 - 在每个请求上,都有一个对应用程序实例和 localeselector 装饰器的回调,语言是先前在 flask.g 中的一个属性中设置的。基本上,我猜是看书。

于 2015-05-08T11:49:49.300 回答