有一些多行字符串呈现给用户并存储为 Heredocs。因此,使用 ConfigSlurper 使用的基于 groovy 的(参见此处)而不是“普通”(Java)属性文件,并且效果很好。对不起,如果这是一个愚蠢的问题,但这可以很容易地国际化吗?如果是这样,你能概述一下这是如何实现的吗?
问问题
220 次
2 回答
1
我的解决方案:ConfigSlurper
您应该将密钥存储到内部化字符串中。注入messageSource
并localResolver
在您的控制器/服务中,从您获取密钥并在您的i18n messages.property 文件ConfigSlurper
中找到本地化字符串。示例(不确定代码是否正确,但这是主要思想):
def config = new ConfigSlurper().parse(new File('src/Config.groovy').toURL())
//localized string1 value
def msg = messageSource.getMessage(config.data1.string1, null, localeResolver.defaultLocale)
于 2013-09-13T07:46:58.607 回答
0
据我所知ConfigSlurper
,i18n 没有特别支持。您可以通过为每个语言环境创建一个环境闭包
来利用它对环境的支持来实现它。例如:
environments {
english {
sample {
hello = "hello"
}
}
spanish {
sample {
hello = "hola"
}
}
}
创建时,ConfigSlurper
您需要传递所需的语言:
def config = new ConfigSlurper("spanish")
于 2013-09-13T07:37:17.457 回答