时髦的异端文档可以国际化吗?



有一些多行字符串呈现给用户并存储为Heredocs。 因此,与其说是一个"普通的"(Java)属性文件,不如使用一个由ConfigSlurper使用的基于时髦的属性文件(见这里),并且效果很好。 对不起,如果这是一个愚蠢的问题,但这可以很容易地国际化吗? 如果是这样,你能概述一下是如何实现的吗?

我的解决方案:在您的ConfigSlurper中,您应该存储内部化字符串的密钥。在控制器/服务中注入messageSourcelocalResolver,从ConfigSlurper获取密钥,并在 i18n messages.property 文件中查找本地化字符串。示例(不确定代码是否正确,但这是主要思想):

def config = new ConfigSlurper().parse(new File('src/Config.groovy').toURL())
//localized string1 value
def msg = messageSource.getMessage(config.data1.string1, null, localeResolver.defaultLocale)

我所知,ConfigSlurper没有对i18n的特殊支持。
您可以通过利用其对环境的支持来实现它,方法是为每个区域设置创建环境闭包。例如:

environments {
  english {
    sample {
      hello = "hello"
    }
  }
  spanish {
    sample {
      hello = "hola"
    }
  }
}

创建ConfigSlurper时,您需要传递所需的语言:

def config = new ConfigSlurper("spanish")

相关内容

  • 没有找到相关文章

最新更新