Pyramid i18n使用两个语言环境目录

时间:2012-11-01 12:38:21

标签: python internationalization pyramid jinja2

如何在我自己的项目中使用include package和locale目录中的locale目录。

我的主要功能

settings = dict(settings)
settings.setdefault('jinja2.i18n.domain', 'mypackage1, mypackage2') #NOT WORK!!!

config.include("mypackage1")
config.add_jinja2_search_path(("mypackage1:templates",
                               "mypackage2:templates"))

config.add_translation_dirs("mypackage1:locale/",
                            "mypackage2:locale/")
config.add_jinja2_search_path(("mypackage1:templates",
                               "mypackage2:templates"))

return config.make_wsgi_app()

1 个答案:

答案 0 :(得分:2)

你可能误解了它的上下文。引用金字塔词汇表:

  

表示进行翻译的“上下文”的字符串。   例如,单词“java”可能会被翻译成不同的   翻译域是“编程语言”,而不是   翻译域名是“咖啡”。翻译域将被重新编辑   一个或多个翻译目录中的.mo文件集合   目录。

通过将上下文设置为'mypackage1,mypackage2'来累积上下文是不可能的。您需要做的是确保所有翻译目录都具有相同的域名,在配置中进行设置并使用多个目录调用add_translation_dirs