当前位置 : 主页 > 编程语言 > java >

Java语言资源国际化步骤解析

来源:互联网 收集:自由互联 发布时间:2021-05-13
这篇文章主要介绍了Java语言资源国际化步骤解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 语言资源国际化步骤: 1

这篇文章主要介绍了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);
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

网友评论