1

如何在我自己的项目中使用包含包和语言环境目录中的语言环境目录。

我的主要功能

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()
4

1 回答 1

2

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

表示进行翻译的“上下文”的字符串。例如,如果翻译域是“programming-languages”,则单词“java”的翻译可能与翻译域是“coffee”不同。翻译域由一个或多个翻译目录中的一组 .mo 文件表示。

无法通过将其设置为“mypackage1,mypackage2”来累积上下文。您需要做的是确保所有翻译目录具有相同的域,在配置中设置它并add_translation_dirs使用多个目录调用。

于 2012-11-05T10:37:58.403 回答