【问题标题】:How to translate a custom eforms field如何翻译自定义 eforms 字段
【发布时间】:2018-02-26 10:50:16
【问题描述】:

我的目标是自定义现有的 eforms 字段(更具体地说,文件上传字段的“文件扩展名”属性),以便其属性之一不允许为空。为此,我复制了一些现有的类和 html 文件并对其进行了调整以适应我们的需要。该字段现在已正确验证并根据需要进行视觉标记。到目前为止一切顺利。

我一直在努力让验证翻译按预期工作。由于我们使用的是 Hippo 10,因此该手册页似乎很相关:https://www.onehippo.org/10/library/enterprise/enterprise-features/enterprise-forms/validation-rules.html

它提到了以下内容:“这些验证消息可以被覆盖......”。 我认为这意味着资源包“eforms”应该被复制到我们项目特定版本的 com.onehippo.cms7.eforms.hst.messages 包(在我们的例子中位于:“/src/main/resources/ com/onehippo/cms7/eforms/hst/messages”)。这就是我所做的,在添加“validation.message.regexp.fileuploadfield”翻译键/值对之前,并专门指示我们的 PatternValidator 后代将键添加到 ValidationError 实例。

很遗憾,这个新密钥没有被拾取。我尝试将密钥更改为默认使用的其他三个或四个密钥变体之一,但无济于事。

有没有人碰巧知道如何以正确的方式完成这项工作?如果可能,我想避免使用 ValidationError::setMessage 方法。

提前致谢。

【问题讨论】:

    标签: translation hippocms


    【解决方案1】:

    很抱歉让这个问题离开这么久。您需要做的就是创建/src/main/resources/com/onehippo/cms7/eforms/hst/messages/eforms.properties。你似乎在做。

    我不知道你做了什么的唯一一点是你创建它的地方。它必须在站点模块中。此外,您的 pom 必须指定包含属性文件,但我认为应该是这种情况。否则添加

      <resource>
        <directory>src/main/java</directory>
        <filtering>false</filtering>
        <includes>
          <include>**/*.properties</include>
        </includes>
      </resource>
    

    到您网站 pom 中的构建资源

    我在一个 10.2 项目上对此进行了测试,它可以工作。

    【讨论】:

    • 感谢您的帮助!我没有意识到 eforms.properties 文件应该在站点模块中,我把它放在 /plugins/customictsplugin-eforms/customictsplugin-eforms-cms/src/main/resources/com/onehippo/cms7/eforms/ hst/消息。我已将其移至站点模块的子模块。不过还是没有雪茄。
    • 我希望这能奏效。我必须看看你做了什么,很可能它很简单,一旦你看到它就会很明显(像往常一样)。
    • 虽然你可能对我忽略了一些显而易见的事情是正确的,但我最终通过在我的 FileuploadFieldPropertiesPanel.html 旁边创建一个 FileuploadFieldPropertiesPanel 资源包来解决这个问题,其中包含以下键/值对:validation.message.regexp .fileuploadfield=请输入有效的文件上传扩展名fileupload.property.fileextensions=文件上传扩展名
    • 很抱歉,我无法提供更多帮助。你做的应该和我说的一样,但显然不是。很高兴听到你解决了它。
    猜你喜欢
    • 1970-01-01
    • 2019-08-02
    • 2017-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-17
    • 2013-05-17
    • 1970-01-01
    相关资源
    最近更新 更多