我有Grails 2应用程序,我已经添加了i18n / messages_ru.properties。所以,根据文档我使用request?lang = ru(f.e.userOperations / index?lang = es)但没有改变。语言仍然是默认语言,未创建lang cookie。 怎么了?我该如何解决这个问题?
PS。我在Ubuntu上使用Oracle Java7
答案 0 :(得分:0)
您有什么期望改变?如果你查看默认索引页面(列出控制器的那个页面等)它不使用消息 - 它们都是硬编码的。
我刚刚测试过,它在2.0.3中适用于我。这是我做的:
创建的gsp将具有以下内容:
<g:message code="yourDomainClass.name.label" default="Name" />
现在,如果我不做任何事情并查看页面,即使使用lang = ru或lang = es,它仍然会说出Name。但后来我进入并在messages_es.properties文件中添加了以下内容:
yourDomainClass.name.label=Nombre
当我刷新页面时,它会显示“Nombre”而不是“Name。”
某些消息(例如“default.home.label”)的消息文件中有默认值,当我使用lang = es时,那些确实会改变为西班牙语,就像没有我做任何事情一样。
答案 1 :(得分:0)
问题是您配置了url(或者它是默认的“/”(view:“index”))映射到没有控制器直接渲染视图。创建一个控制器并在其中呈现一个视图。没有控制器就不起作用!