2014-10-30 101 views

回答

3

你的方法幾乎是完美的,但正如你所說,最好避免污染res命名空間:爲了達到目標,您可以使用專爲此目的設計的屬性res.locals。接下來是我附加到響應對象中的一個片段,該對象是我的應用程序的翻譯器。

app.use(function(req, res, next){ 

     function Translator (lang) {   
      this.lang = lang ? lang : 'it'; 

      this.translate = function (sentence) {  
       var d = dictionaries.get; 

       var translation = d[this.lang] ? d[this.lang][sentence] : d['it'][sentence];   
       return translation ? translation : sentence; 
      };     
      this.setLang = function (l) { 
       this.lang = l; 
      }; 
     }; 

     res.locals.translator = new Translator(); 
     next(); 
}); 
+0

感謝您的回答! – Erik 2014-10-30 13:08:33

相關問題