每个区域设置的 Stripe Grails 配置

发布于 2024-12-03 03:13:29 字数 285 浏览 2 评论 0原文

Grails 中有没有办法按区域设置条带化配置?

例如,这样:

locale {
    fr-FR {
        grails.serverURL = "http://www.mysite.fr"
    }
    en-GB {
        grails.serverURL = "http://www.mysite.co.uk"
    }
}

我们开始针对多个国家/语言对我们的网站进行国际化,并且某些配置必须针对特定国家/地区。

谢谢

Is there a way in Grails to stripe the config by locale?

eg like this:

locale {
    fr-FR {
        grails.serverURL = "http://www.mysite.fr"
    }
    en-GB {
        grails.serverURL = "http://www.mysite.co.uk"
    }
}

We are starting to internationalise our site for multiple country/language and some configuration will have to be country specific.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

护你周全 2024-12-10 03:13:29

如果配置值是字符串(如上所述),您可以将它们放入 message*.properties 文件中,而不是 Config.groovy 中。然后,您可以使用 messageSource Spring bean 或 消息 标记来检索当前区域设置的值。

更新

除了下面关于在资源包中混合配置信息的评论之外,另一种方法是以编程方式执行此操作 - 请记住 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;        
}

If the configuration values are strings (as above) you could put them in the message*.properties files instead of Config.groovy. You can then use either the messageSource Spring bean or the message tag to retrieve the values for the current Locale.

Update

Further to the comment below about mixing config information in resource bundles, an alternative is to do it programatically - remember Config.groovy is a .groovy file, so you can mix code with your configuration data. Something like the following should work:

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
}

If you have several config parameters that you want to vary by Locale, something like the following would be neater

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;        
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文