(快速参考)

国际化

4.0.2

国际化

365bet地区365bet地区通过利用底层的Spring MVC国际化支持立即支持国际化。使用365bet地区,您可以基于用户的Locale自定义视图中显示的文本。当地

语言环境对象表示特定的地理政治或文化区域。需要语言环境执行其任务的操作称为语言环境敏感,并使用语言环境为用户定制信息。例如,显示数字是语言环境敏感的操作,应格式化数字根据用户所在国家或地区的习俗

语言环境由一个语言代码还有一个国家代码例如,en US是美国英语的代码,而en GB是英国英语的代码

了解消息包

365bet地区现在您已经有了在365bet地区中使用它们的语言环境的想法,您将创建包含希望呈现的不同语言的消息包文件,365bet地区中的消息包位于内部。365bet地区应用程式n目录,是简单的Java属性文件

每个捆绑包都以名称开头讯息365bet地区按照约定并以语言环境结尾365bet地区附带了几个消息包,这些消息包针对365bet地区应用程式n目录例如

  • 消息属性

  • 物业职位

  • 消息es属性

  • 消息fr属性

  • …​

365bet地区默认情况下,365bet地区会查看消息属性GB属性中的邮件英式英语

变更地区

默认情况下,从传入的消息中检测到用户区域设置接受语言header您可以通过简单地传递一个名为的参数,为用户提供切换语言环境的功能

//久了

365bet地区365bet地区将自动切换用户的语言环境,后续请求将使用切换后的语言环境

365bet地区默认情况下,365bet地区使用SessionLocaleResolver作为localeResolve豆角,扁豆

您可以轻松更改默认语言环境

grails app conf春季资源groovy
进口 在SessionLocaleResolver中使用org springframework Web servletbean localeResolver SessionLocaleResolver defaultLocale 当地('')
    }
}

其他localeResolve可用,例如,您可以使用将切换的语言环境保存在Cookie中

grails app conf春季资源groovy
进口 组织Springframework Web servlet在CookieLocaleResolverbean localeResolver CookieLocaleResolver defaultLocale 当地('')
    }
}

或修复语言环境

grails app conf春季资源groovy
进口 组织springframework Web servlet在FixedLocaleResolver豆localeResolver FixedLocaleResolver 当地(''))
}

阅读讯息

在视图中阅读消息

您最需要消息的地方是视图内信息为此标签

<> ="我的本地化内容" />

只要您有钥匙消息属性带有适当的语言环境后缀(例如下面的语言),365bet地区将查找该消息

我本地化的内容您好,我叫约翰,今天是星期天

消息还可以包含参数,例如

<> ="我的本地化内容" args="胡安星期一" />

消息声明指定了动态指定的位置参数

我的本地化内容您好,我叫0今天是1}.

使用MessageSource阅读365bet地区工件中的消息

您可以在365bet地区工件中注入messageSource并使用方法getMessage使用参数message code message arguments default message和locale来检索消息

进口 org springframework上下文MessageSource
进口 在LocaleContextHolder中的org springframework上下文

 MyappControllerMessageSource messageSource定义 节目() {
        定义msg messageSource getMessage'我的本地化内容', ['Juan', '星期一']  宾语[], '预设讯息'LocaleContextHolder语言环境

在带有消息标签的控制器和标签库中读取消息

此外,您可以使用以下命令在控制器和标签库中阅读消息讯息标签但是,使用message标记依赖于GSP支持,365bet地区应用程序可能不一定具有其余应用程序

在控制器中,您可以将标签作为方法调用

定义 节目() {
    定义讯息: "我的本地化内容", args: ['Juan', '星期一'])
}

可以在标签库但是如果您的代码库使用自定义那么您必须在呼叫前加上G:

定义myTag属性主体定义讯息g讯息: "我的本地化内容", args: ['Juan', '星期一'])
}

脚手架和我

ils子脚手架控制器和视图的模板完全了解n GSP使用信息标签按钮等的标签和控制器消息用于解决特定于区域设置的消息

脚手架包括域类和域字段的特定于语言环境的标签,例如,如果您有一个域类标题领域

  {
    标题

脚手架将使用带有以下键的标签

图书标签Libro图书标题标签T书名

如果您愿意或想出自己的一个,可以使用此属性模式。标签作为脚手架使用的惯例以外的其他关键