我的项目有两种语言( en,fi )。但是当我尝试访问一个没有语言环境的文件时,它会指向 en 页面。但onActiavat
如果用户未选择任何内容,我强迫persistentLocale
为 fi 。这将使页面中的所有链接指向 fi 页面,但不会指向当前页面。有关如何实现这一目标的任何建议。我不希望浏览器语言是默认语言或其他任何东西。系统将通过读取用户配置文件强制用户登录语言。但在登录前如果用户未选择任何语言首选项(如果是persistentLocale.get() == null
),我想显示 fi 页面。
答案 0 :(得分:1)
将其放入您的模块中。此代码修饰了ThreadLocale,如果没有设置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 :(得分:1)
为什么不将您的芬兰语翻译放在page.properties
中,并将您的英文翻译放在page_en.properties
。