在grails中,i18n文件中有一种方法可以引用一个常量值。我正在尝试做这样的事情:
constant.sitename=Fancy SiteName
intro.headline.label=Welcome to {constant.sitename}
home.headline=You're at {constant.sitename}
原因是如果我们决定更改名称,我不想更改每个字符串中的网站名称,我只想做一次。有没有办法完成这个要求?
我意识到我也可以在Config.groovy中设置一个常量,但那时需要在每个需要它的消息上传递参数,我宁愿不必这样做因为它会让开发人员生活差。
答案 0 :(得分:2)
您可以通过resources.groovy中的自定义实现覆盖Grails的标准messageSource bean。默认情况下,Grails i18n插件使用PluginAwareResourceBundleMessageSource。
因此,将其子类化并覆盖必要的代码以添加属性替换。不知道这些是什么确切的方法,但这应该很容易用调试器搞清楚。