Grails:更改生产中message.properties(i18n)的内容

时间:2014-05-23 11:07:51

标签: grails internationalization properties-file

在没有重新部署/重新启动的生产环境中,可以修改message.properties中的文本。

2 个答案:

答案 0 :(得分:3)

这很有可能,但您需要使用ReloadableResourceBundleMessageSource替换默认的messageSource bean。您可以通过在grails-app / conf / spring / resources.groovy中配置新的messageSource bean定义来完成此操作,如下所示:

beans = {
      messageSource(org.springframework.context.support.ReloadableResourceBundleMessageSource) {
        basenames = ["classpath:grails-app/i18n/myApp", "file:grails-app/i18n/messages", "WEB-INF/grails-app/i18n/messages"]
    }
}

以上内容适用于开发和生产。您可能还想使用ReloadableResourceBundleMessageSource来研究其他可用选项。

答案 1 :(得分:2)

如果使用默认的messageSource bean,则无法执行此操作。如果要执行此操作,可以选择将消息存储在数据库中而不是属性文件中。以下是一些支持此功能的插件(我自己从未使用过任何一个插件)

或者,将默认的messageSource bean替换为支持重新加载的bean,例如: ReloadableResourceBundleMessageSource