JSP 国际化 (i18n)

JSP 国际化是指能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据

继续学习之前,我们先来了解几个重要的概念

名词 解释
国际化(i18n 一个页面能够根据访问者的语言或国家来呈现不同的翻译版本
本地化(l10n) 向网站添加资源,以使它适应不同的地区和文化
区域 指特定的区域、文化和语言
通常是一个地区的语言标志和国家标志通过下划线连接起来

如果我们的网站希望全球都能正确的浏览,那么我们就需要关心 网站国际化 的问题

JSP 区域检测

JSP 容器能够根据 request 的locale 属性来提供正确地页面版本

下面是如何通过request对象来获得Locale对象的语法

java.util.Locale request.getLocale()

检测区域设置 (Locale) 的方法

下表列出的 Locale对象中的方法可以用于检测request对象的地区,语言,和区域

方法 & 描述
String getCountry()
返回国家/地区码的英文大写,或 ISO 3166 2-letter 格式的区域
String getDisplayCountry()
返回要显示给用户的国家名称
String getLanguage()
返回语言码的英文小写,或ISO 639 格式的区域
String getDisplayLanguage()
返回要给用户看的语言名称
String getISO3Country()
返回国家名称的3字母缩写
String getISO3Language()
返回语言名称的3字母缩写

范例: 如何在 JSP 中显示语言和国家

webapp/internationalization.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.Locale" %>
<%@ page import="javax.servlet.*,javax.servlet.http.* "%>
<%
    String title = "检测区域设置 - JSP 基础教程 | 简单教程(www.twle.cn)";
   //获取客户端本地化信息
   Locale locale = request.getLocale();
   String language = locale.getLanguage();
   String country = locale.getCountry();
%>
<!doctype html>
<title><% out.print(title); %></title>
<p><% out.print(title); %></p>
<p><% out.println("Language : " + language  + "<br />"); %></p>
<P><% out.println("Country  : " + country   + "<br />"); %></P>

在浏览器上输入 http://localhost:8080/jsp/internationalization.jsp 显示如下

更多区域设置

范例 描述
JSP 国际化 - 语言 使用特定区域的语言来显示内容
JSP 国际化 - 日期 根据指定的区域来格式化日期和时间
JSP 国际化 - 货币 根据指定区域来格式化货币
JSP 国际化 - 百分比 根据指定的区域来格式化百分比

JSP 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.