springMVC之本地化和国际化

spring框架的大部分都支持国际化,就像springMVC一样。DispatcherServlet使你能够动态的通过客户端的本地语言进行配置。这是通过LocaleResolver完成的。
   当一个请求到达,DispatcherServlet就会寻找LocaleResolver,如果找到就会试图通过它进行本地化。通过RequestContext.getLocale()方法我们可以得到locale resolver解释的本地化语言。
   Locale resolvers和拦截器定义在org.springframework.web.servlet.i18n包中,并且可以在application context中进行配置。下面是本地化解析器的配置部分。

一、AcceptHeaderLocaleResolver
   这个Locale resolvers依据 accept-language请求头信息进行解析处理,通常这个头信息包含客户端操作信息的本地标示。
二、CookieLocaleResolver
   这个解析器通过cookie寻找客户端特定的语言信息。如果找到,则使用这个配置。使用这个Locale resolvers的一些属性,我们可以指定这个cookie的名称甚至是最大存活时间。下面是一个配置实例:
e.g.

[html] view plaincopy

  1. <bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
  2. <property name="cookieName" value="clientlanguage"/>
  3. <!-- in seconds. If set to -1, the cookie is not persisted (deleted when browser shuts down) -->
  4. <property name="cookieMaxAge" value="100000">
  5. </bean>

下面是CookieLocaleResolver的属性列表
 property default   description
      cookieName classname+LOCAL  cookie的名称
 cookieMaxAge Integer.MAX_INT  最大存活时间
 cookiePath /   限制可以访问cookie的程序路径。

三、 SessionLocaleResolver
   这个解析器允许你通过session解析本地设置。
四、LocaleChangeInterceptor
   通过配置LocaleChangeInterceptor,我们可以动态改变本地语言。它会检测请求中的参数并且改变地区信息。它调用LoacalResolver.setLocal()进行配置。下面的例子显示了,调用所有的*.view资源包含一个名字叫做siteLanguage的变量,来改变地区信息。所以下面的URL:http://www.sf.net/home.view?siteLanguage=nl 将会改变站点语言为荷兰语。
e.g.

[html] view plaincopy

    1. <bean id="localeChangeInterceptor"
    2. class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
    3. <property name="paramName" value="siteLanguage"/>
    4. </bean>
    5. <bean id="localeResolver"
    6. class="org.springframework.web.servlet.i18n.CookieLocaleResolver"/>
    7. <bean id="urlMapping"
    8. class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    9. <property name="interceptors">
    10. <list>
    11. <ref bean="localeChangeInterceptor"/>
    12. </list>
    13. </property>
    14. <property name="mappings">
    15. <value>/**/*.view=someController</value>
    16. </property>
    17. </bean>
时间: 2024-11-08 20:36:34

springMVC之本地化和国际化的相关文章

AngularJS开发指南7:AngularJS本地化,国际化,以及兼容IE低版本浏览器

AngularJS本地化,国际化 国际化,简写为i18n,指的是使产品快速适应不同语言和文化. 本地化,简称l10n,是指使产品在特定文化和语言市场中可用. 对开发者来说,国际化一个应用意味着将所有的文字和其他因地区而异的数据从应用中抽离出来. 本地化意味着为这些抽离的数据和文字提供翻译和转变成本地的格式. 目前,AngularJS支持日期,数字和货币的国际化和本地化. 另外,AngularJS还通过ngPluralize指令支持本地多元化. 所有的AngularJS本地化组件都依赖于$loca

软件本地化/国际化解决方案 - 多语种代码生成工具

提起程序信息本地化/国际化解决方案(本地化和国际化是指让软件支持多国语言的显示), 很多人首先可能会想到大名鼎鼎的GNU GetText, 的确这是一个很优秀的解决方案.另外,还有一种方式是操作程序的资源文件. 对于这2种方案, 大家可以百度,谷歌一大堆.当然这2种方案都存在优点和缺点, 这里不做评论, 每个项目都有各自的特性,选择适合自己的,每个人的思维习惯也不同, 可能你认为好的别人认为不好. 下面开始说明本文的解决方案,同样, 我只列出特点, 优点和缺点让使用者去评论. 由于本人目前的时间

本地化(国际化)

1. 本地化(国际化) 为解决同一app在设备的不同语言下显示对应语言的内容. 实现本地化可分为“可视化”,“纯代码”两种方式. 可视化方式:     > 点击工程名,在Info(注意是Project下,而不是Targets下) 下,在Localizations 栏目下,添加语言 > 点击xib或storyboard ,在最右侧中选择File Inspector(第一个选项卡),在Localization 栏目下,选择语言,会发现原来的xib,storyboard 文件会自动创建对应语言下的文

iOS开发——高级技术&amp;本地化与国际化详解

本地化与国际化详解 效果如下: 英语:                                                                    中文:   具体实现如下: 一.先做准备:设置程序本地化 在xcode点击程序图标:点击Info选项->Localizationn,点击“+”,选择要添加的语言,简体中文选择Chinese(zh-Hans) 你会在你工程目录下发现多了个文件夹,“zh-Hans.lproj",x-code使用.lproj作为其本地化文件

本地化和国际化测试

如果你是一个有竞争力的软件测试员,并且熟练掌握除英语之外的一门外语,你就有了很有价值的技能. 1.使文字和图片有意义 软件的国际化 除了语言,还需要考虑地域(region或locale)——用户的国家和地理位置. 使软件适应特定地域特征,照顾到语言.方言.地区习俗和文化的过程称为本地化(localization)或国际化(internationalization).测试此类软件称为本地化测试. 2.翻译问题 尽管翻译只是整个本地化工作的一部分,但是从测试角度看这是重要的一环,最明显的问题是如何测

iOS 语言切换、本地化,国际化

什么是本地化处理? 本地化处理就是我们的应用程序有可能发布到世界的很多国家去,因为每个国家应用的语言是不一样的,所以我们要把我们的应用程序的语言要进行本地化处理一下. 本地化处理需要处理那些文件? (1):本地化应用程序名称(我的的项目名称) (2):本地化字符串处理(项目中所涉及的字符串) (3):本地化图片 (4):XIB文件本地化处理 (5):其他文件 下面进行本地化处理: 1 . 设置我们的工程支持多语言 为什么:因为只有设置成支持多语言了,我们才能在展示项目名称和项目中的字符串等将语言

本地化与国际化

Locale为本地化类 Locale locale=Locale.getDefault();//获取当前系统默认的环境 国际化 1:静态数据国际化 国际化软件: 1:存储所有国家显示的文本的字符串 a>文件:properties 命名:基础名_语言简称_国家简称_properties;  例如:msg_zh_CN.properties 2:程序中获取 ResourceBundle国际化类 ResourceBundle resource=ResourceBundle.getBundle("包

SpringMVC(8)国际化

在SpringMVC(七)格式化显示中我们讲了数据的格式化显示,Spring在做格式化展示的时候已经做了国际化处理,那么如何将我们网站的其它内容(如菜单.标题等)做国际化处理呢?这就是本篇要将的内容->国际化. 一.基于浏览器请求的国际化实现: 首先配置我们项目的springservlet-config.xml文件添加的内容如下: <bean id="messageSource" class="org.springframework.context.support

IOS 实现界面本地化(国际化)

在制作应用程序的时候,可以使用本地化功能,将应用程序的内容翻译成多种语言,在不同的区域显示不同的语言.下面就通过简体中文本地化设置来讲解一下本地化的简单使用. 一.让应用程序支持中文语言环境 选择需要本地化的资源 点击finish完成,中文添加成功 左侧列表中刚才选择本地化的资源文件,也发生变化 二.Storyboard/xib本地化 设置模拟器语言环境,运行显示不同的结果 三.应用程序名称本地化 四.图片本地化 . 作者:杰瑞教育出处:http://www.cnblogs.com/jerehe