zoukankan      html  css  js  c++  java
  • 语言资源国际化

    语言资源国际化步骤:

      1、定义资源文件(如:language),需要使用命令native2ascii命令进行转码;(native2ascii是jdk中的转码工具,在jdk的bin目录下)

      2、定义工具类(LangusgeUtils)读取资源文件;

      3、定义调用资源文件类(TestResourceBundle)

    注意native2ascii 命令必须进入到工程下面的资源文件夹发使用,例如:

    D:AdobeeclipseJavaObjectjdbc_pool_dao_shopetc>native2ascii -encoding UTF-8 language language_zh_CN.properties

    # 设置资源编码
    # -encoding UTF-8 对源文件(language)进行编码,编码的方式为UTF-8
    # 转码之后的文件language_zh_CN.properties  zh表示语言为简体中文   CN表示国家
    native2ascii -encoding UTF-8 language language_zh_CN.properties
    

    相关配置文件

    # 编码之前的资源文件  language
    user.login.info=1.用户登录
    user.reg.info=2.用户注册
    
    # 编码之后的资源文件 language_zh_CN.properties
    user.login.info=1.u7528u6237u767bu5f55
    user.reg.info=2.u7528u6237u6ce8u518c
    

    工具类

    import java.util.Locale;
    import java.util.ResourceBundle;
    
    /**
     * 对象的序列化和反序列化
     */
    public class LanguageUtils {
    	
    	// private static ResourceBundle rBundle = ResourceBundle.getBundle("j0812",new Locale("en", "US"));
        // 注意:参数只写资源文件的前缀,不要写语言和国家相关的字符串
        //      没有向上面一样定义语言和国家,那么程序运行时会找到操作系统当前使用的语言和国家
        private static ResourceBundle rBundle = ResourceBundle.getBundle("language");
    	
    	public static String getResourceByKey(String key) {
    		return rBundle.getString(key);
    	}
    }
    
    

    测试调用工具类

    public class TestResourceBundle {
    	public static void main(String[] args) {
    		String loginInfo =LanguageUtils.getResourceByKey("user.login.info");
    		String regInfo =LanguageUtils.getResourceByKey("user.reg.info");
    		System.out.println(loginInfo);
    		System.out.println(regInfo);
    	}
    }
    
  • 相关阅读:
    Scanner类
    每日总结-05-17
    栈的基本操作 出栈与入栈
    Angularjs1.x 项目结构
    【树形dp小练】HDU1520 HDU2196 HDU1561 HDU3534
    [ACM] hdu 1251 统计难题 (字典树)
    Asakura的魔法世界
    distcp导致个别datanode节点数据存储严重不均衡分析
    Redis集群主备模式部署
    java的输入输出流(一)
  • 原文地址:https://www.cnblogs.com/lyang-a/p/15078515.html
Copyright © 2011-2022 走看看