为 Grails 应用程序进行国际化时出错

Error while doing internationalization for Grails application

我正在为我的 Grails 应用程序做国际化,这在我的域中:

category (nullable:false, inList:Holders.config.categories)

Config.groovy 文件中的这个:

categories=['cat1', 'cat2', 'cat3']

这是 messages.properties 文件中的内容:

 ads.category.cat1=category 1
 ads.category.cat2=category 2
 ads.category.cat3=category 3 

显示视图中的内容:

<g:if test="${adsInstance?.category}">
            <li class="fieldcontain">
                <span id="category-label" class="property-label"><g:message code="ads.category.label" default="Category" /></span>

                    <span class="property-value" aria-labelledby="category-label"><g:fieldValue   bean="${adsInstance}" field="category"/></span>

            </li>
            </g:if>

所有视图都显示正确的单词,除了 show 显示 cat1(这是在配置文件中找到的内容)以及保存在数据库中的内容,因为它应该显示和保存messages.properties 文件 category 1 中的内容。我该如何解决?

使用

<g:message code="ads.category.${adsInstance.category}" />

而不是

<g:fieldValue bean="${adsInstance}" field="category"/>