zoukankan      html  css  js  c++  java
  • I18N 国际化

    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="http://java.sun.com/jsp/jstl/fmt" 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 值,读取失败的时配置项会使用缺省值。【最方便的地方】

  • 相关阅读:
    软件工程课堂二
    大二下学期第三周总结
    大二第二个学期的自我介绍
    如何将非ARC的项目转换成ARC
    UIScrollView
    关于nil和 null和NSNull的区别及相关问题
    提高iOS开发效率的第三方框架等--不断更新中。。。
    iOS中常见的设计模式(MVC/单例/委托/观察者)
    TCP/IP、Http、Socket的区别
    iOS使用AVFoundation实现二维码扫描
  • 原文地址:https://www.cnblogs.com/123ing/p/4139146.html
Copyright © 2011-2022 走看看