2013-12-10 63 views
1

我有我的项目,它有两种语言(en,fi)。但是当我尝试访问一个没有语言环境的文件时,它会将我指向页面。但是onActiavat我强制persistentLocalefi如果用户没有选择任何。这将使页面中的所有链接指向fi页面,但不是当前页面。有关如何实现这一点的任何建议。我不希望浏览器语言成为默认或其他任何东西。系统将通过阅读用户配置文件强制用户登录语言。但在登录之前,如果用户没有选择任何语言首选项(在persistentLocale.get() == null的情况下),我想显示fi页面。在挂毯中使用语言环境

回答

1

把它放在你的模块中。此代码装饰了ThreadLocale,并且它将threadLocale设置为您的首选区域设置(如果它尚未设置)(URL不含区域设置)。

@Decorate(serviceInterface = ThreadLocale.class)  
public ThreadLocale decorateThreadLocale(final ThreadLocale threadLocale, 
     final PersistentLocale persistentLocale) 
{ 
    return new ThreadLocale() 
    { 
     @Override 
     public void setLocale(Locale locale) 
     { 
      threadLocale.setLocale(locale); 
     } 

     @Override 
     public Locale getLocale() 
     { 
      if (!persistentLocale.isSet()) 
      { 
       setLocale(new Locale("fi")); 
      } 
      return threadLocale.getLocale(); 
     } 

    }; 
} 
1

为什么不把你的芬兰译文page.properties并把你的英文译本中page_en.properties

+0

我这样做了,因为我的浏览器是英文的,所以它还是加载了我的英文单词。 – dinesh707