Если значения конфигурации являются строками (как указано выше), вы можете поместить их в файлы message*.properties
вместо Config.groovy
. Затем вы можете использовать либо messageSource
Spring bean, либо тег message , чтобы получить значения для текущей локали.
Обновление
В дополнение к приведенному ниже комментарию о смешивании информации конфигурации в комплектах ресурсов, альтернативой является сделать это программно - помните, что Config.groovy - это файл .groovy, так что вы можете смешивать код с данными конфигурации. Должно работать что-то вроде следующего:
locale {
def serverUrls = [Locale.FRANCE: "http://www.mysite.fr",
Locale.UK: "http://www.mysite.co.uk"]
def currentLocale = org.springframework.context.i18n.LocaleContextHolder.locale
def serverlUrl = serverUrls[currentLocale]
assert serverUrl, "no serverUrl found for Locale $currentLocale"
grails.serverURL = serverUrl
}
Если у вас есть несколько параметров конфигурации, которые вы хотите изменить в зависимости от локали, то что-то вроде следующего будет лучше
def currentLocale = org.springframework.context.i18n.LocaleContextHolder.locale
switch (currentLocale) {
case Locale.FRANCE:
// config params for France
break;
case Locale.UK:
// config params for UK
break;
}