2014-10-19 36 views
1

我使用Ux.locale.Manager類來實現本地化。從下拉菜單中更改語言並調用.updateLocale(value)方法並使用window.location.reload()重新加載頁面後,它將再次選擇以前的默認語言。如何在Extjs 4.2中實現本地化

實現它的最佳方式是什麼?

回答

0

一種選擇是將afterrender監聽器添加到您的語言選擇一些代碼從您的網址檢測語言參數是這樣的:

listeners : { 
    afterrender : function(component) { 
     var url = window.location.search, 
      urlParams = Ext.Object.fromQueryString(url); 
     if (urlParams.language) component.setValue(urlParams.language); 
    }, 
    change : function(cb, value) { 
     Ux.locale.Manager.updateLocale(value); 
    } 
} 

並確保你面前追加語言參數的url重新加載它。

選項2:你可以做同樣的事情與餅乾

listeners : { 
    afterrender : function (component) { 
     var language = Ext.util.Cookies.get("language"); 
     if (language) { 
      component.setValue(language); 
     } 
    }, 
    change : function(cb, value) { 
     Ux.locale.Manager.updateLocale(value); 
     Ext.util.Cookies.set("language", value); 
    } 
}