Liferay portlet添加属性包含不重新部署的翻译

时间:2013-08-08 13:05:42

标签: properties liferay portlet translate

我想创建并保存文件Language_mylang.properties包含我的翻译在线。但是当我这样做时,Liferay没有看到更改并使用默认语言.properties文件。只有在重新启动Liferay(重新部署我的portlet)后问题才会消失。有没有人知道如何添加自己的属性文件并实现Liferay看到它,而无需重新部署?

问候

1 个答案:

答案 0 :(得分:2)

如果您坚持使用属性文件,则重新部署是应用服务器的一项功能:如果没有重新部署,它不会对正在运行的系统中更改的文件进行任何更改。 JSP是一个值得注意的差异,但您不应该依赖此功能在生产系统中可用:它是一个开发时间功能。

也就是说,如果您想动态更新Liferay的翻译,您可以查看部署过程或尝试访问com.liferay.portal.language.LanguageResources,尽管此类不适用于插件。您可以尝试使用classloading magic访问它(请参阅com.liferay.portal.kernel.util.PortalClassInvoker,但要为丑陋的代码做准备(例如,它类似于反射)以动态更新翻译。

我确信还有其他可能性(它们甚至可能更好),但这些是我发现的第一个。