加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何翻译.java源文件中的文本?

发布时间:2020-12-15 03:09:20 所属栏目:Java 来源:网络整理
导读:我有这样的枚举 public enum CheckboxFeature { Option1(" choose this"),Option2(" or this"),Option3(" maybe this"),Option4(" lastly this"); @Getter private final String text; public static CheckboxFeature fromName(String v) { for (CheckboxFea
我有这样的枚举
public enum CheckboxFeature {

    Option1(" choose this"),Option2(" or this"),Option3(" maybe this"),Option4(" lastly this");

    @Getter
    private final String text;

    public static CheckboxFeature fromName(String v) {
        for (CheckboxFeature c: CheckboxFeature.values()) {
            if (c.name().equalsIgnoreCase(v)) {
                return c;
            }
        }
        throw new IllegalArgumentException(v);
    }
}

这将在Web视图中显示四个选项作为复选框

<form:checkboxes items="${features}" path="enabledFeatures" itemLabel="text" delimiter="<br/>"/>

我该如何翻译这些选项?我对Web视图中的其余翻译使用fmt:message.

我试过了

Option1(" <fmt:message key="text.test"/>"),

Option1(" ${option1}"),

<fmt:message key="text.select" var="option1"/>

在.jsp中.
它们都不起作用,所以它似乎无法以这种方式工作.翻译字符串的正确方法是什么?理想情况下使用fmt:message和i18n资源(lang.properties文件)到位并处理其余的servlet?

解决方法

最理想的是,您从枚举中获取资源键,并查看它.
public enum CheckboxFeature {
    Option1("label.option1.key"),Option2("label.option2.key"),Option1("label.option3.key"),Option2("label.option4.key");

    private final String key;
    [...]

我不知道如何在itemLabel属性中嵌套l10n查找,所以我会写如下:

<c:forEach items="Options.values()" var="current">
    <form:checkbox path="selectedOptions" value="${current.name()}"/> <fmt:message key="${current.getKey()}"/>
</c:forEach>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读