java 国际化文件_java文件国际化

本文介绍了Java中实现国际化的基本步骤,包括JVM如何根据操作系统设置读取语言资源,如何手动设置JVM的语言和地区,以及如何使用ResourceBundle加载不同语言的配置文件。文章还详细讲解了如何处理国际化文件中的占位符,使用MessageFormat进行动态显示,并展示了如何将中文转换为ASCII。此外,还提供了代码示例展示如何读取和格式化国际化消息。
摘要由CSDN通过智能技术生成

-Duser.language=en -Duser.region=US

java文件国际化 1: jvm 默认采用操作系统的语言国家设置 2: 可以手动来设置jvm语言和国家-Duser.country=FR -Duser.language=fr 3: 用resourceBundle 从国际化文件取配置的时候      3.1:如果对应的配置文件存在,从messageResources_ko_KR 取      3.2:  如果对应的配置文件不存在,根据jvm 设置国家和语言去找配置文件 messageResources_fr_FR 3.3 :  如果jvm 设置国家和语言 对应的配置文件不存在,直接从messageResources 查找 3.4   如果以上3条对应的配置文件都不存在,java.util.MissingResourceException: Can't find bundle for base name MessageResources,抛出异常 4: 如果国际化文件需要动态显示,需要在国际化文件设置占位符{0} 从0开始 要用到messageFormate,把对象数组传递给format方法,完成格式化 : MessageFormat mf = new MessageFormat(str); System.out.println(mf.format(new Object[]{"Jacky","123456"})); 对象数组长度少于占位符数量,不会设置,依次设置到占位符上,不会抛出异常 5: 中文的转换:JAVA_HOME/bin/native2ascii命令,可以转换单行,也可以转换整个文件 6: 在不同操作系统下转换,要把编码方式给传递进来,否则会出现乱码情况 例: 1.      MessageResources.properties文件内容      user.name=user name     MessageResources_fr_FR.properties文件内容      user.name= fr_FR user name     MessageResources_zh_CN.properties文件内容      user.name=\u7528\u6237\u540d{0}     MessageResources_ko_KR.properties文件内容      user.name= ko_KR user name:{0}  user password: {1} 2. mport java.text.MessageFormat; import java.util.Locale; import java.util.ResourceBundle; public class Test { public static void main(String[] args) { Locale locale =Locale.getDefault(); System.out.println(locale.getCountry()); System.out.println(locale.getLanguage()); //System.out.println(System.getProperties()); Locale locale1 =new Locale("ko","KR"); ResourceBundle bundle =ResourceBundle.getBundle("MessageResources", locale); String str =bundle.getString("user.name"); MessageFormat mf = new MessageFormat(str); System.out.println(mf.format(new Object[]{"Jacky","123456"})); } }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值