0

我有 Grails 2 应用程序,我已经在其中添加了 i18n/messages_ru.properties。因此,根据文档,我使用 request ?lang=ru (fe userOperations/index?lang=es) 但没有任何改变。语言仍然是默认设置,没有创建语言 cookie。怎么了?我该如何解决?

PS。我在 Ubuntu 上使用 Oracle Java7

4

2 回答 2

0

问题是您配置了 url(或者它是默认的“/”(view:“index”))映射以直接呈现视图而无需控制器。创建一个控制器并在其中渲染一个视图。没有控制器就不行!

于 2012-10-26T12:29:25.187 回答
0

你期望改变什么?如果您查看默认索引页面(列出控制器等的页面),它不会使用消息 - 它都是硬编码的。

我刚刚测试过,它在 2.0.3 中对我有用。这是我所做的:

  1. 创建新应用程序
  2. 使用单个字段(字符串名称)创建域类
  3. 为该类运行“全部生成”
  4. 创建的 gsp 将具有以下内容:

     <g:message code="yourDomainClass.name.label" default="Name" />
    

现在,如果我什么都不做并查看页面,即使使用 lang=ru 或 lang=es,它仍然会显示名称。但后来我进去并在 messages_es.properties 文件中添加了以下内容:

    yourDomainClass.name.label=Nombre

当我刷新页面时,它显示“Nombre”而不是“Name”。

对于某些消息,例如“default.home.label”,消息文件中有默认值,当我使用 lang=es 时,它们确实会更改为西班牙语,就像他们应该做的那样,而无需我做任何事情。

于 2012-05-11T23:23:41.457 回答