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