语言资源国际化步骤:

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

Java语言资源国际化步骤的更多相关文章

  1. kohana 语言资源国际化、本地化

    语言配置开关: root@DESKTOP-I4OIMJC /cygdrive/e/html/tproject/framebota/platform # grep -n2 'I18n::lang' bo ...

  2. Android:认识R类、findViewById方法查找组件、@string查找字符、@color查找颜色、@drawable查找图片、@dimen某个组件尺寸定义、项目引入资源国际化

    导入 之前都是断断续续的看了一些于如何使用android开发的文章.资料等,到目前位置很多基础的东西都不清楚,于是去学习了别人的课程,才了认识了R类.findViewById方法查找组件.项目引入资源 ...

  3. java web项目中资源国际化

    有一些网站会有语言栏选项: 选择英文,内容就显示为英文: 选择中文,内容就显示文中文. 这里就用到了国际化资源. 先看效果图: 步骤: 1.建立资源包: mess_en_US.properties ( ...

  4. Java语言国际化

    事实上,Java语言不可能支持所有国家和语言,如需要获取Java语言所支持的语言和国家,可调用Locale类的getAvailableLocale方法获取,该方法返回一个Locale数组,该数组里包含 ...

  5. JAVA WEB开发中的资源国际化

    为什么要国际化? 不同国家与地区语言,文化,生活习惯等差异.在数字,时间,语言,货币,日期,百分数等的不同. 两个名词: I18N:即资源国际化,全称为Internationalization,因为首 ...

  6. ABP从入门到精通(5):.扩展国际化语言资源

    ABP的有些组件使用的该组件自带的语言包资源,所以在有些时候会因为我们当前使用的语言对应的语言包不全,而造成日志一直记录WARN.ABP给我们提供了扩展语言包资源的接口,可以解决这个问题. 以下示例代 ...

  7. 瘋耔java语言笔记

    一◐ java概述                                                                                        1.1 ...

  8. Struts2【UI标签、数据回显、资源国际化】

    Struts2UI标签 Sturts2为了简化我们的开发,也为我们提供了UI标签...也就是显示页面的标签..... 但是呢,Struts2是服务端的框架,因此使用页面的标签是需要在服务器端解析然后再 ...

  9. SpringMVC 资源国际化实现以及常见问题

    资源国际化可以很方便的实现web项目语言的切换,解决了web项目按需显示不同语言界面的问题. SpringMVC 的资源国际化基于JDK的java.util.ResourceBundle实现,经过Sp ...

随机推荐

  1. Excel表格内容导出到页面

    引入org.apache.poi.ss.usermodel   public void addExcelBooks() throws Exception { HttpServletRequest re ...

  2. [bzoj 2653][国家集训队]middle

    传送门 Description 一个长度为\(n\)的序列\(a\),设其排过序之后为\(b\),其中位数定义为\(b[n/2]\),其中\(a,b\)从\(0\)开始标号,除法取下整. 给你一个长度 ...

  3. go无缓冲通道

    package main import ( "fmt" "math/rand" "sync" "time" ) //wg ...

  4. [RK3399] Jack server installation not found

    CPU:RK3399 系统:Android 7.1 服务器上第一次编译 Android 7.1 的代码,提示 Jack server 没有安装. Jack server installation no ...

  5. ML_Homework_Porject_1_KMeans

    第一次机器学习的作业完成了,按照先前做实作的习惯来写一下总结和思考. 作业要求:对COIL20,Yale_32x32,data_batch_1(Cifar)三个数据集,分别运用KMeans对其中的图片 ...

  6. Mininet系列实验(四):基于Mininet测量路径的损耗率

    1 实验目的 熟悉Mininet自定义拓扑脚本的编写与损耗率的设定: 熟悉编写POX脚本,测量路径损耗速率 2 实验原理 在SDN环境中,控制器可以通过对交换机下发流表操作来控制交换机的转发行为,此外 ...

  7. Matlab注释的几个方法

    Matlab最简单的注释当然是 %x= %这是注释,无法运行 x= %结果为2 然而%只能注释一行,如何注释更加快捷简便地注释多行呢? %{ .这就是传说中的多行注释 .成功! %} 经常需要调试程序 ...

  8. flutter 引入第三方 Icon 图标(以阿里图标库为例)

    在fluttter中引入第三方图标库的具体方法: 1.在阿里图标库选好需要用的图标,添加进购物车将选好的图标打包下载到本地(下载代码),复制iconfont.ttf文件到项目中 2.存放途径:lib/ ...

  9. 阶段5 3.微服务项目【学成在线】_day16 Spring Security Oauth2_17-认证接口开发-申请令牌测试

    远程 调用Spring Security来申请令牌,然后把申请到令牌存储到redis里面 cookieMaxAge: ‐1   -1表示浏览器一关闭cookie就失效. 测试远程申请令牌 TestCl ...

  10. 【408】C函数中的ADT

    类似类的形式 boardADT.h:所有的宏.声明等部分写在这里 boardADT.c:只需要 #inclue "boardADT.h",不需要 include 其他系统头文件,然 ...