SpringMVC国际化

java分享会

分享人:北京分院 姚远

1.背景介绍

2.知识剖析

3.编码实战

4.常见问题

5.解决方案

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

国际化(Internationalization)指的是同一个网站可以支持多种不同的语言,以方便不同国家,不同语种的用户访问。 关于国际化我们想到的最简单的方案就是为不同的国家创建不同的网站,比如苹果公司,他的英文官网是:http://www.apple.com而中国官网是http://www.apple.com/cn

苹果公司这种方案并不适合全部公司,而我们希望相同的一个网站,而不同人访问的时候可以根据用户所在的区域显示不同的语言文字,而网站的布局样式等不发生改变。

于是就有了我们说的国际化,国际化总的来说就是同一个网站不同国家的人来访问可以显示出不同的语言。

国际化的英文Internationalization,但是由于拼写过长,有人想了一个简单的写法叫做I18N,代表的是Internationalization这个单词,以I开头,以N结尾,而中间是18个字母,所以简写为I18N。以后我们说I18N和国际化是一个意思。

2.知识剖析

首先我们需要知道,用户使用的是哪种语言,这个问题最好解决,因为浏览器在发送请求时会发送如下请求头:Accept-Language: zh-CN,en-US

下一步需要我们根据不同的语言显示不同的内容.

那我们想一下,如果说我们在页面中把这些诸如:用户名、密码等信息都写死了,那么,将不能再修改

所以在页面中这些需要国际化的内容都是需要动态获取的,也就是他们实际上都是变量。

我们一般采取的方式是将这些需要国际化的内容写到一个资源配置文件中,然后程序根据不同的语言加载不同的文件,就达到了一个国际化的目的。

3.编码实战

4.常见问题

为什么在properties文件里输入中文是乱码呢?

5.解决方案

转换成Unicode码

6.拓展思考

7.参考文献

http://983836259.blog.51cto.com/7311475/1770930

http://www.cnblogs.com/grefr/p/6088570.html

鸣谢

感谢观看,如有出错,恳请指正

BY : 北京分院 姚远