Java JSF中的本地化。来自导入jar的消息始终是英文的

Java JSF中的本地化。来自导入jar的消息始终是英文的,java,jsf,jar,internationalization,locale,Java,Jsf,Jar,Internationalization,Locale,我有一个java和web应用程序,其中国际化工作得非常好。 但我想导入另一个.jar,它也具有国际化功能,在桌面应用程序中使用时,它可以完美地工作 当我将jar放在JavaWAR文件的lib文件夹中并运行webapp时,除了导入的jar中的消息之外,所有webapp国际化都可以完美地工作 导入的jar使用的是服务器的语言环境,但是在这种情况下如何继续。我想要两者,jar和war使用浏览器区域设置。我需要在faces-config.xml中配置一些额外的文件吗 谢谢。不应根据每个用户的请求切换默认

我有一个java和web应用程序,其中国际化工作得非常好。 但我想导入另一个.jar,它也具有国际化功能,在桌面应用程序中使用时,它可以完美地工作

当我将jar放在JavaWAR文件的lib文件夹中并运行webapp时,除了导入的jar中的消息之外,所有webapp国际化都可以完美地工作

导入的jar使用的是服务器的语言环境,但是在这种情况下如何继续。我想要两者,jar和war使用浏览器区域设置。我需要在faces-config.xml中配置一些额外的文件吗


谢谢。

不应根据每个用户的请求切换默认语言环境。也许您必须使用servlet上下文修补
Locale.getDefaultLocale()
,或者重新传输它们的消息:

复制他们的包以供您自己翻译

使用根区域设置(“”)保留一个bundle,使用


它将密钥转换为自身,并可能添加参数。

您能给我发一份关于此转换的教程吗?当一个罐子来自第三部分时,我怎么翻译呢?反向工程。如果jar返回要传递的字符串;上面的过程可以工作(通过解压缩jar)。如果它是一个有自己文本的组件,那么只有AOP拦截器或其他黑客可能会工作。他们没有论坛吗?我不确定我是否能很好地表达这些问题。让我再试一次:如果浏览器请求在德国,为什么lib文件夹中的jar不会像整个应用程序一样在德国抛出消息?这是默认行为吗?库文件夹中的jar始终使用服务器区域设置而不是浏览器区域设置?在我看来似乎是合乎逻辑的,但我想确认一下。在JSF中,可以保存一个区域设置,甚至可以设置它:
FacesContext.getCurrentInstance().getViewRoot().setLocale(新区域设置(“eo”);
。如果该库不是为JSF使用而设计的,那么您必须搜索它们的API。
key1=key1
key2=key2

# Now a message format:
key3=key3\u2622{0}\u2622{1}