美文网首页
涉及国外的项目怎么办?带你把项目国际化

涉及国外的项目怎么办?带你把项目国际化

作者: Java联盟 | 来源:发表于2018-02-02 20:29 被阅读0次

各位小伙伴

今天我们来分享的就是

项目的国际化

那么我们开始吧!

国际化的概念

在我们开发 javaWEB 项目的时候,项目可能涉及到在国外部署或者应用,也有可能会有国外的用户对项目进行访问 ,那么在这种项目中,为客户展现的页面或者操作的信息就需要使用不同的语言,这就是我们所说的项目国际化

( Internationalization 简称: i18n ).

国际化的原理

国际化的核心基础,就是我们在 http 请求的时候,在 request 里面存在一个locale 对象来标识用户浏览器的习惯语言,我们可以通过浏览器的语言设置来查看用户的浏览器习惯语言.

比如:

语言设置为简体中文 locale = zh_CN

语言设置为美式英文 locale = en_US

对于我们在控制台输出的信息 ,后台代码往前台页面输出的提示信息,页面显示信息,我们都可以用一个代号来标识,当我们需要根据不同语言显示的时候,我们将这个代号在不同语言中对应的值显示.

map_CN 对象 Map  

map_US 对象 Map

springMVC 国际化的实现

制作国际化资源文件(properties)

需要显示多少种语言,就必须提前制作好每个语言对应的国际化资源文件

国际化资源文件的有个统一的命名规范:baseName+locale标识

比如:

i18n_zh_CN 

代表中文资源文件

i18n_en_US 

代表英文文资源文件

现在我们就把来做两个简单的资源文件

注意:

汉字在properties文件中是以Unicode编码的形式存在的

国际化资源文件制作好以后,在 springmvc 的配置文件中进行国际化配置

引入spring标签,将需要国际化的信息用标签显示

这是我们的在 java 后台获取对应 key 的 value 值,jsp 页面会通过 spring 提供国际化标签来转会 key 对应的 value

下面我们来测试一下效果(设置浏览器语言的过程就不演示了),浏览器语言这是中文(简体),就是显示汉语界面,设置英语(美式).就是出现英语.

当然在实际的项目中,我们看到一些网站上会有一些按钮,点击就可以切换网页的显示语言.下面我们来做一下.

切换网站语言

需求:

不需要更改浏览器的语言设置,在页面设置一个链接来更改展现的语言

根据上面的学习,我们知道国际化主要是根据 http 请求里面的 locale 对象来获取浏览器设置的语言,再通过页面来设置页面使用哪种语言,我们需要设置一个全局变量 (session) 来保存我们链接跳转需要的语言

每个 handler 都要获取 session 里面的语言设置  ---- 拦截器

SpringMVC 实现此种需求的原理

首先:

springmvc 默认了一个国际化解析器 (LocaleResolve) ,当我们从 http 请求的头文件中获取 locale 信息,就调用这个默认的解析起来解析国际化资源

对于此种需求,springmvc 支持装备一个拦截器,来动态的修改 locale 信息,然后在拦截器里面将 locale 信息存入 session

在页面添加两个链接附带 locale 信息.

回顾一下操作步骤:

配置sessionLocaleReslover

配置这个拦截器 ,拦截带有locale信息的参数

在 url 请求中添加 locale 信息,处理对应的国际化信息请求

其他不变,jsp 和 java 的显示内容步骤不变

看一下页面效果:

好了,我们的项目国际化就完成了,总体来说,国际化就是一个体力活,你想支持几种语言你就做几个 properties 文件,当然你要是针对几种语言开发几套项目,我只能说土豪,我们做朋友吧!

友情提示

难度不算太大

但是实现起来

需要很大的耐心

有时间就给自己的项目

做个国际化吧!

拜拜!

相关文章

  • 涉及国外的项目怎么办?带你把项目国际化

    各位小伙伴 今天我们来分享的就是 项目的国际化 那么我们开始吧! 国际化的概念 在我们开发 javaWEB 项目的...

  • Android分享-微信、Facebook、Google

    前言:因为项目涉及到国际化,故而国内需要集成微信分享,国外需要集成Facebook、Google,这里大致记录下集...

  • iOS本地化(国际化)

    本文将简要描述一个ios项目国际化的过程,在这个过程中大概分为三个步骤,我将一步一步的带你实现项目国际化 1.创建...

  • 使用 vue-i18n 完成国际化

    国际化,就是你的项目有国外客户.你要根据用户处在的地理位置,在你的项目中显示当地的语言.仅此而已. 比如: 中国人...

  • 国际化语言包工具

    由于在项目中多次涉及到国际化的支持(技术栈中国际化使用Vuex-i18n,然而针对于开发人员来说,做国际化支持的难...

  • v-cli实现国际化

    1. 前言 最近的一个项目要给到国外的运营人员使用,所以需要实现国际化。这里就简单介绍一下v-cli实现国际化的原...

  • xib文件国际化不显示的问题

    最近做的项目是一个老挝的项目,项目需要做国际化。由于项目中有许多xib文件,于是就设计到了给xib文件做国际化的问...

  • iOS-项目配置国际化

    这篇文章统一归纳一下项目中用到的国际化,方便自己使用,不管是做下列那种国际化,项目中都要添加国际化项目。 名称国际...

  • Vue项目实现国际化

    Vue项目实现国际化 一:自己配置 i18n 完成国际化 1、创建项目,在项目中安装 vue-i18n 2、在ma...

  • SpringBoot的国际化使用

    在项目中,很多时候需要国际化的支持,这篇文章要介绍一下springboot项目中国际化的使用。 在这个项目中前端页...

网友评论

      本文标题:涉及国外的项目怎么办?带你把项目国际化

      本文链接:https://www.haomeiwen.com/subject/rbtyzxtx.html