I18N 国际化
发布日期:2021-10-23 19:22:44 浏览次数:4 分类:技术文章

本文共 1586 字,大约阅读时间需要 5 分钟。

http://blog.sina.com.cn/s/blog_6c7e59770101p7w9.html

一、I18N 在 J2EE 中的应用

【转载:http://blog.csdn.net/changzhang/article/details/2164753】

1. 加 standard.jar 和 jstl.jar 文件到/WEB-INF/lib

 

2. 配置web.xml文件,加入如下内容:

<context-param>

        <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
        <param-value>messages.page.resource</param-value><!--assign package & prefix -->
</context-param> 

3. 编写国际化文件 resource_zh_CN.properties 并放之于/WEB-INF/classes(src) 对应的包里面

 

4. 将 properties 文件进行编码,cmd:native2ascii resource_zh_CN.txt resource_zh_CN.properties(.txt -> .properties,否则出现乱码)

 

5. 设置语言地区

(1) web.xml 内设置

<context-param>

        <param-name>javax.servlet.jsp.jstl.fmt.fallbackLocale</param-name>
        <param-value>en</param-value>
</context-param>  

(2) 在 jsp 页面设置(locale 写入了另外的配置文件,可通过发来的请求读取 locale 值)

<fmt:setLocale value="zh_CN"/>

 

6. jsp文件应用

<%@ page contentType="text/html;charset=UTF-8"%>

<%@ taglib uri="" prefix="fmt" %>
<html>
...
<fmt:message key="test" /><!--可用于 html 和 JS 中-->
...
</html>

 

二、I18N 在 J2SE 中的应用

【参考:http://blog.csdn.net/haiyan0106/article/details/2257725】

1、引入必要的文件

import java.util.Locale;

import java.util.ResourceBundle;

 

2、将 properties 文件放置于 src 目录下(否则 Cann't find Bundle for base name)

 

3、Locale、ResourceBundle的设置

Locale locale = new Locale("en", "US"); 

ResourceBundle resb = ResourceBundle.getBundle(src, locale);

myName = resb.getString(MY_NAME_KEY).trim();

Locale 指明本地化情况,决定从"property_en.properties"中去读取配置项。若不存在,则默认从"property.properties" 中获取。

ResourceBundle在遇到“#”行(注释)时会忽略。

getString() 自动读取资源文件中相应的 key 值,读取失败的时配置项会使用缺省值。【最方便的地方】

转载于:https://www.cnblogs.com/123ing/p/4139146.html

转载地址:https://blog.csdn.net/weixin_30624825/article/details/98937415 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:php的一些问题
下一篇:Hadoop2.7.1安装与配置

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月02日 18时30分54秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章