2013-05-02 177 views
2

也許這個問題被問到,但我找不到。我是Vaadin的新手。我如何設置Vaadin應用程序的默認區域設置。爲Vaadin應用程序設置默認語言環境

+0

可能是這可以幫助:http://stackoverflow.com/questions/9023460/changing-application-locale-makes-changes-to-all-users-vaadin – 2013-05-02 05:49:01

回答

6

Vaadin 6:Application#setLocale(Locale)

Vaadin 7:VaadinSession#setLocale(Locale)例如VaadinSession.getCurrent().setLocale();

Vaadin 7的示例代碼,可能在UI的init方法中使用。

Locale locale = Locale.CANADA_FRENCH; 
this.setLocale(locale); // Call to affect this current UI. Workaround for bug/issue: http://dev.vaadin.com/ticket/12350 
this.getSession().setLocale(locale); // Affects only future UI instances, not current one. See workaround in line above. 
// VaadinSession.getCurrent().setLocale(locale); // Alternative to "this.getSession". 
+0

這個答案我啓發擴大Vaadin關於此主題的Wiki頁面:[請記住設置語言環境](https://vaadin.com/wiki//wiki/Main/Remember+to+the+set+the+Locale)。我添加了示例代碼和一些討論。 – 2014-07-28 00:34:55

+0

請注意,Vaadin 7有嚴重的設計問題**(或錯誤)([ticket#12350](http://dev.vaadin.com/ticket/12350)),在VaadinSession上設置語言環境不會產生適當的效果在已經存在的UI對象中。解決方法很簡單:[a]在當前UI上調用'setLocale'來影響它們,以及[b]在VaadinSession中調用'setLocale'來影響未來的UI對象。請參閱我上面評論中的維基鏈接,瞭解討論和示例應用。 – 2014-07-28 01:55:36

相關問題