Java语言资源国际化步骤

语言资源国际化步骤:

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

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

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

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

D:\Adobe\eclipse\JavaObject\jdbc_pool_dao_shop\etc>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.\u7528\u6237\u767b\u5f55
user.reg.info=2.\u7528\u6237\u6ce8\u518c

工具类

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);
    }
}

猜你喜欢

转载自www.cnblogs.com/lyang-a/p/11748374.html