Liferay 无法重写转换(日志语言)

Liferay 无法重写转换(日志语言),liferay,liferay-7,Liferay,Liferay 7,我想覆盖一些Liferay的模块转换。我在休闲: 它对所有字符串都有效,但并非所有字符串都有效。首先,我想覆盖journal lang模块(com.liferay.journal.lang)中的一些字符串,但该模块没有servlet上下文名称。我试着跳过这个,但是没有用。如何重写这些字符串 我还试图覆盖一些核心字符串(来自portal impl),但其中一些仍然未翻译。例如,定义新表单视图中的“添加字段”(添加字段)。任何可能的解决方案?journal lang是一种语言组件。为了覆盖其中的一些

我想覆盖一些Liferay的模块转换。我在休闲:

它对所有字符串都有效,但并非所有字符串都有效。首先,我想覆盖journal lang模块(com.liferay.journal.lang)中的一些字符串,但该模块没有servlet上下文名称。我试着跳过这个,但是没有用。如何重写这些字符串


我还试图覆盖一些核心字符串(来自portal impl),但其中一些仍然未翻译。例如,定义新表单视图中的“添加字段”(添加字段)。任何可能的解决方案?

journal lang
是一种语言组件。为了覆盖其中的一些字符串,您必须为bundle
com.liferay.journal.web
com.liferay.journal.service

journal lang
是一种语言组件。为了覆盖其中的一些字符串,您必须为bundle
com.liferay.journal.web
com.liferay.journal.service
创建一个带有扩展ResourceBundle的CustomResourceBundle

@Component(immediate = true, property = { "language.id=en_US" }, service = ResourceBundle.class)
public class DefaultCustomResourceBundle extends ResourceBundle {

    @Override
    public Enumeration<String> getKeys() {
        return _resourceBundle.getKeys();
    }

    @Override
    protected Object handleGetObject(String key) {
        return _resourceBundle.getObject(key);
    }

    private final ResourceBundle _resourceBundle = ResourceBundle.getBundle("content.Language", UTF8Control.INSTANCE);

}
@Component(immediate=true,property={“language.id=en_US”},service=ResourceBundle.class)
公共类DefaultCustomResourceBundle扩展了ResourceBundle{
@凌驾
公共枚举getKeys(){
返回_resourceBundle.getKeys();
}
@凌驾
受保护对象handleGetObject(字符串键){
返回_resourceBundle.getObject(键);
}
私有最终ResourceBundle\u ResourceBundle=ResourceBundle.getBundle(“content.Language”,UTF8Control.INSTANCE);
}

这将覆盖整个门户的翻译。

您必须使用扩展的ResourceBundle创建CustomResourceBundle

@Component(immediate = true, property = { "language.id=en_US" }, service = ResourceBundle.class)
public class DefaultCustomResourceBundle extends ResourceBundle {

    @Override
    public Enumeration<String> getKeys() {
        return _resourceBundle.getKeys();
    }

    @Override
    protected Object handleGetObject(String key) {
        return _resourceBundle.getObject(key);
    }

    private final ResourceBundle _resourceBundle = ResourceBundle.getBundle("content.Language", UTF8Control.INSTANCE);

}
@Component(immediate=true,property={“language.id=en_US”},service=ResourceBundle.class)
公共类DefaultCustomResourceBundle扩展了ResourceBundle{
@凌驾
公共枚举getKeys(){
返回_resourceBundle.getKeys();
}
@凌驾
受保护对象handleGetObject(字符串键){
返回_resourceBundle.getObject(键);
}
私有最终ResourceBundle\u ResourceBundle=ResourceBundle.getBundle(“content.Language”,UTF8Control.INSTANCE);
}
这将覆盖整个门户