Grails 2.4.4 - 将i18n设置为引用与/ grails-app / i18n不同的目录

时间:2015-11-04 10:01:13

标签: grails internationalization

我试图实现这个目标:

  1. 我需要grails来引用i18n属性文件的不同目录
  2. 我需要将此目录放在war文件之外,以便在制作时轻松编辑

1 个答案:

答案 0 :(得分:1)

通过重新定义Grails的消息包bean,指定外部绝对路径,可以轻松实现这一点:

beans = {
    messageSource(org.springframework.context.support.ReloadableResourceBundleMessageSource) {
        basename = "file:/some/absolute/path/messages"
    }
}

如果您只需要特定环境的定义,比如生产,那么您只需要有条件地声明该定义,如下所示:

beans = {
    if (Environment.current == Environment.PRODUCTION) {
        messageSource(org.springframework.context.support.ReloadableResourceBundleMessageSource) {
            basename = "file:/some/absolute/path/messages"
        }           
    } 
}