如何在我自己的项目中使用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()
答案 0 :(得分:2)
你可能误解了它的上下文。引用金字塔词汇表:
表示进行翻译的“上下文”的字符串。 例如,单词“java”可能会被翻译成不同的 翻译域是“编程语言”,而不是 翻译域名是“咖啡”。翻译域将被重新编辑 一个或多个翻译目录中的.mo文件集合 目录。
通过将上下文设置为'mypackage1,mypackage2'来累积上下文是不可能的。您需要做的是确保所有翻译目录都具有相同的域名,在配置中进行设置并使用多个目录调用add_translation_dirs
。