国际化
编辑教程JSP 国际化
在开始前,需要解释几个重要的概念:
- 国际化(i18n):表明一个页面根据访问者的语言或国家来呈现不同的翻译版本。
- 本地化(l10n):向网站添加资源,以使它适应不同的地区和文化。某些网站的印度语版本。
- 区域:这是一个特定的区域或文化,通常认为是一种语言标志和国家标志通过下划线连接起来。例如“ en_US”代表美国英语地区。
如果章建立详细告诉您如何处理国际化问题,并发出了一些例子来加深理解。
JSP容器能够根据request的locale属性来提供正确的地域版本。随后调用了如何通过request对象来获得Locale对象的语法:
java.util.Locale request.getLocale()
检测语言环境
可以复制到本地名称对象中比较重要的方法,用于检测请求对象的地区,语言,和区域。所有这些方法都会在浏览器中显示国家名称和语言名称:
方法 | 描述 |
---|---|
字符串getCountry() | 返回国家/地区代码的英文大写, 或ISO 3166 2个字母的格式的区域 |
字符串getDisplayCountry() | 返回要显示给用户的国家名称 |
字符串getLanguage() | 返回语言码的英文小写,或ISO 639格式的区域 |
字符串getDisplayLanguage() | 返回要给用户看的语言名称 |
字符串getISO3Country() | 返回国家名称的3字母缩写 |
字符串getISO3Language() | 返回语言名称的3字母缩写 |
实例演示
这个例子告诉我们如何在JSP中显示语言和国家:
<%@ page import="java.io.*,java.util.Locale" %>
<%@ page import="javax.servlet.*,javax.servlet.http.* "%>
<% //获取客户端本地化信息
Locale locale = request.getLocale();
String language = locale.getLanguage();
String country = locale.getCountry(); %>
<html>
<head>
<title>Detecting Locale</title>
</head>
<body>
<center>
<h1>Detecting Locale</h1>
</center>
<p align="center">
<% out.println("Language : " + language + "<br />");
out.println("Country : " + country + "<br />");
%>
</p>
</body>
</html>
语言设置
JSP可以使用西欧语言来输出一个页面,某些英语,级别,位置,德语,法语,顺序等等。直接可见,设置Content-Language信息头来正确显示所有字符是很重要的。
第二点就是,需要使用HTML字符实体来显示特殊字符,某些“&#241;” 代表的是“?”,“&#161;”代表的是“?” :
<%@ page import="java.io.*,java.util.Locale" %>
<%@ page import="javax.servlet.*,javax.servlet.http.* "%>
<% // Set response content type response.setContentType("text/html");
// Set spanish language code. response.setHeader("Content-Language", "es");
String title = "En Espa?ol"; %>
<html>
<head>
<title><% out.print(title); %></title>
</head>
<body>
<center>
<h1><% out.print(title); %></h1>
</center>
<div align="center">
<p>En Espa?ol</p>
<p>?Hola Mundo!</p>
</div>
</body>
</html>
区域特定日期
可以使用java.text.DateFormat类和它的静态方法getDateTimeInstance()来格式化日期和时间。接下来的这个示例显示了如何根据指定的区域来格式化日期和时间:
<%@ page import="java.io.*,java.util.Locale" %>
<%@ page import="javax.servlet.*,javax.servlet.http.* "%>
<%@ page import="java.text.DateFormat,java.util.Date" %>
<% String title = "Locale Specific Dates";
//Get the client's Locale Locale locale = request.getLocale( );
String date = DateFormat.getDateTimeInstance(
DateFormat.FULL,
DateFormat.SHORT,
locale).format(new Date( )); %>
<html>
<head>
<title><% out.print(title); %></title>
</head>
<body>
<center>
<h1><% out.print(title); %></h1>
</center>
<div align="center">
<p>Local Date: <% out.print(date); %></p>
</div>
</body>
</html>
区域特定货币
可以使用java.text.NumberFormat类和它的静态方法getCurrencyInstance()来格式化数字。通常在区域特定货币中的长型和double型。接下来的例子显示了如何根据指定的区域来格式化货币:
<%@ page import="java.io.*,java.util.Locale" %>
<%@ page import="javax.servlet.*,javax.servlet.http.* "%>
<%@ page import="java.text.NumberFormat,java.util.Date" %>
<% String title = "Locale Specific Currency";
//Get the client's Locale Locale locale = request.getLocale( );
NumberFormat nft = NumberFormat.getCurrencyInstance(locale);
String formattedCurr = nft.format(1000000); %>
<html>
<head>
<title><% out.print(title); %></title>
</head>
<body>
<center>
<h1><% out.print(title); %></h1>
</center>
<div align="center">
<p>Formatted Currency: <% out.print(formattedCurr); %></p>
</div>
</body>
</html>
区域特定百分比
可以使用java.text.NumberFormat类和它的静态方法getPercentInstance()来格式化百分比。接下来的例子告诉我们如何根据指定的区域来格式化百分比:
<%@ page import="java.io.*,java.util.Locale" %>
<%@ page import="javax.servlet.*,javax.servlet.http.* "%>
<%@ page import="java.text.NumberFormat,java.util.Date" %>
<% String title = "Locale Specific Percentage";
//Get the client's Locale Locale locale = request.getLocale( );
NumberFormat nft = NumberFormat.getPercentInstance(locale);
String formattedPerc = nft.format(0.51); %>
<html>
<head>
<title><% out.print(title); %></title>
</head>
<body>
<center>
<h1><% out.print(title); %></h1>
</center>
<div align="center">
<p>Formatted Percentage: <% out.print(formattedPerc); %></p>
</div>
</body>
</html>
Mos固件,小电视必刷固件
ES6 教程
Vue.js 教程
JSON 教程
jQuery 教程
HTML 教程
HTML 5 教程
CSS 教程
CSS3 教程
JavaScript 教程
DHTML 教程
JSON在线格式化工具
JS在线运行
JSON解析格式化
jsfiddle中国国内版本
JS代码在线运行
PHP代码在线运行
Java代码在线运行
C语言代码在线运行
C++代码在线运行
Python代码在线运行
Go语言代码在线运行
C#代码在线运行
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。
大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
选择支付方式:
立即支付
¥
9.99
无法付款,请点击这里
金额: 0 元
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟