2012-11-01 24 views
1

如何在我自己的項目中使用包含程序包和區域設置目錄中的區域設置目錄。金字塔i18n使用兩個區域設置目錄

我的主要功能

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

回答

2

你可能誤會了什麼情況下它。引用金字塔詞彙表:

表示進行翻譯的「上下文」的字符串。 例如,如果 翻譯域是「程序設計語言」,則翻譯域可能會與「 翻譯域」爲「咖啡」時的翻譯域不同。翻譯域由 目錄中的一個或多個翻譯目錄 目錄中的.mo文件的集合來表示。

通過將上下文設置爲'mypackage1,mypackage2'之類的東西是不可能的。您需要做的是確保所有翻譯目錄具有相同的域,將其設置在配置中並使用多個目錄調用add_translation_dirs

+0

哇它的作品,謝謝 – uralbash