背景
对于存储在数据库中的字段标签,我们有一些遗留的国际化,因此我尝试创建一个“合并”消息源。如果代码存在于数据库中,则返回,如果不存在,则使用 PluginAwareResourceBundleMessageSource 在 i18n 中查找。
问题
由于某种原因,cachedMergedPluginProperties 正在为区域设置缓存错误的文件。例如,如果我搜索 en_US,我会收到 pt_BR 消息(地图的键是 en_US,但属性是 pt_BR)。
我声明了我的 messageSource 如下:
messageSource(DatabaseMessageSource) {
messageBundleMessageSource = { org.codehaus.groovy.grails.context.support.PluginAwareResourceBundleMessageSource m ->
basenames = "WEB-INF/grails-app/i18n/messages"
}
}
内部 bean 是因为 Grails 不允许我有两个类型的 bean MessageSource
。
我是否声明PluginAwareResourceBundleMessageSource
与 Grails 的默认设置不同?在哪个 Grails 文件中我可以看到这个 bean 声明?