【问题标题】:How to change the default message.properties如何更改默认的 message.properties
【发布时间】:2013-09-08 04:12:46
【问题描述】:

假设我们有以下代码行:

<p>    <g:message code="nav.usuario.show"  />    </p>

如果我们使用的是意大利计算机,Grails 将首先查看messages_it.properties。如果 grails 在那里找不到nav.usuario.show=textLabel,将尝试在messages.properties 中找到它。我想更改此行为以查看 message_es.properties 而不是默认 messages.properties(但仅当标签不是当前区域设置语言时强>)

我尝试了以下代码,但没有看到任何变化。 resources.groovy:

beans = {   
    localeResolver(org.springframework.web.servlet.i18n.SessionLocaleResolver) {
        defaultLocale = new Locale("it","")
        java.util.Locale.setDefault(defaultLocale)
    }   
}

【问题讨论】:

    标签: grails internationalization


    【解决方案1】:

    只需将默认语言的代码(例如messages_es.properties)复制到默认的messages.properties文件中即可。

    如果您想保留英文,您必须创建一个名称类似于messages_en.properties 的新文件。把messages.properties的代码移到那里。

    【讨论】:

    • 实际上,在下面的代码中,默认属性什么时候有用? &lt;g:message code="some.label" default="Some Text" /&gt;@dmahapatro @crudolf ?
    【解决方案2】:

    如果您想修复语言环境,请将以下几行放入您的 BootStrap.groovy 的 init 闭包中:

    TimeZone.setDefault(TimeZone.getTimeZone("CET"))
    Locale.setDefault(new Locale("it"));
    

    Locale.setDefault(new Locale("es"));
    

    【讨论】:

    • 我不想修复语言环境。我想使用计算机浏览器的语言环境。当在当前语言环境消息中找不到标签时,我想更改默认的messages.properties。在我的问题中更好地解释!
    【解决方案3】:
    beans = {   
        localeResolver(org.springframework.web.servlet.i18n.SessionLocaleResolver)   
    }
    

    然后设置一个过滤器以根据请求更改默认语言环境。

    //Filter
    class LocaleFilters {
        def localeResolver
    
        def filters = {
            localize(controller: '*') {
                before = {
                     Locale.setDefault(localeResolver.resolveLocale(request))
                     return true
                }
            }
        }
    }
    

    如果本地上下文是Spanish,则默认设置为_es,依此类推,其他区域设置取决于访问应用程序的区域设置。

    【讨论】:

    • 我想我听不懂你。您发布的代码看起来是默认的 Grails 行为,是吗?如果找不到本地语言,我想更改默认语言!
    • 我想到了解决方案。我认为这很容易!我只是没有意识到。我会发布它。
    猜你喜欢
    • 2012-07-03
    • 2012-02-03
    • 1970-01-01
    • 1970-01-01
    • 2016-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多