Java的国际化:

资源文件的命名可以有如下三种形式:
baseName _ language _country.properties
baseName _language.properties
baseName.properties
其中baseName是资源文件的基本名,用户可以自由定义。而language和country都不可随意变化,必须是Java所支持的语言和国家。

Java代码:

package org.ah.action;

import java.text.MessageFormat;
import java.util.Locale;
import java.util.ResourceBundle; public class Test {
public static void main(String[] args) {
// 通过共名访问资源文件,系统会自动匹配当前语言(例如:zh CN)
ResourceBundle rb = ResourceBundle.getBundle("lan");
// 取值
String str1 = rb.getString("msg1");
System.out.println(str1);
// 取值传参,使用MessageFormat.format设置参数数组
String str2 = MessageFormat.format(rb.getString("msg2"), new String[] {
"杰克", "安迪" });
System.out.println(str2); // 强改国籍
Locale locale2 = new Locale("ja", "JP");
printMsg1(locale2); Locale locale3 = new Locale("en", "US");
printMsg1(locale3); // 强改到不存在的国家资源文件,显示当前国家语言
Locale locale4 = new Locale("ko", "KA");
printMsg1(locale4);
// 如果当前国家语言不存在,使用无后缀的资源文件(lan.properties),可以把zh_CN删了再试试
} private static void printMsg1(Locale locale) {
ResourceBundle rb = ResourceBundle.getBundle("lan", locale);
String str = rb.getString("msg1");
System.out.println(locale.toString() + ":" + str);
}
}

资源文件【放在src下】

lan.properties

msg1=freedom
msg2=hello,{0},I'm{1}

lan_zh_CN.properties

自由
你好,杰克,我是安迪

msg1=\u81EA\u7531
msg2=\u4F60\u597D\uFF0C{0},\u6211\u662F{1}

lan_ja_JP.properties

じゆう

よろしくお願いします,{0},私は{1}です

msg1=\u3058\u3086\u3046
msg2=\u304A\u306F\u3088\u3046\u3054\u3056\u3044\u307E\u3059,{0},\u79C1\u306F{1}\u3067\u3059

lan_en_US.properties

msg1=color
msg2=hello,{0},I'm{1}

运行结果:

自由
你好,杰克,我是安迪
ja_JP:じゆう
en_US:color
ko_KA:自由

  

Java:国际化的更多相关文章

  1. Java国际化(i18n)

    Java国际化(i18n) 最近在做一个网站国际化的功能.用Java做开发,使用spring+velocity. Java提供了对i18n的支持,spring对其做了集成,可以很方便的配置.主要思想就 ...

  2. Java 国际化 语言切换

      Java国际化 我们使用java.lang.Locale来构造Java国际化的情境. java.lang.Locale代表特定的地理.政治和文化.需要Locale来执行其任务的操作叫语言环境敏感的 ...

  3. java——国际化详解

    深入理解Java国际化 假设我们正在开发一个支持多国语言的Web应用程序,要求系统能够根据客户端的系统的语言类型返回对应的界面:英文的操作系统返回英文界面,而中文的操作系统则返回中文界面--这便是典型 ...

  4. Java国际化号码验证方法,国内手机号正则表达式

    Java国际化号码验证方法,国内手机号正则表达式 中国电信号段 133.149.153.173.177.180.181.189.199 中国联通号段 130.131.132.145.155.156.1 ...

  5. Java 国际化

    国际化英文单词为:Internationalization,又称I18N,I为因为单词的第一个字母,18为这个单词的长度,而N代表这个单词的最后一个字母.国际化又称本地化(Localization,L ...

  6. (转)JAVA国际化

    转:http://www.cnblogs.com/jjtech/archive/2011/02/14/1954291.html 国际化英文单词为:Internationalization,又称I18N ...

  7. java国际化

    import java.util.Locale; import org.junit.Test; /** * 使用指定的国际化文件 */ public class Demo { @Test public ...

  8. 42、Java国际化

    简介 国际化的英文单词是Internationalization,有时检测I18N,类似于I18N还有L10N,是Location本地化的简写. Java或计划主要通过如下三个类实现 1.java.u ...

  9. Java 国际化标准程序实现

    国际化程序实现 所谓的国家化应用指的就是根据当前的语言环境读取指定的语言资源文件. 如果要想实现国际化的操作,那么首先要解决的问题就是如何读取资源文件的问题:所谓的资源文件 就是指文件后缀名称为:&q ...

  10. java国际化之时区问题处理

    原文:https://moon-walker.iteye.com/blog/2396035 在国际化的项目中需要处理的日期时间问题主要有两点: 1.日期时间的国际化格式问题处理: 2.日期时间的时区问 ...

随机推荐

  1. 《Android深度探索HAL与驱动开发》第二章阅读心得

    按照书中所讲的步骤,第一步先准备好搭建Android开发环境所需要的工具:JDK6或以上版本:Eclipse3.4或以上版本:ADT:CDT:Android SDK:Android NDK;交叉编译环 ...

  2. nohup使用(转)

    在启动weblogic的时候我们经常看到如下的命令: nohup ./startWebLogic.sh >out.log 2>&1 & 其中 0.1.2分别代表如下含义:  ...

  3. centos svn 升级

    在服务器的/etc/yum.repos.d/下新建个文件夹,wandisco-svn.repo [WandiscoSVN]name=Wandisco SVN Repobaseurl=http://op ...

  4. Chapter 2: Design the user experience

    Apply the user interface design for a web application 介绍了Css的常用属性和html5的新element,以及Htmlhelper的简单方法,如 ...

  5. WIN7 WIN8 WIN10你们的WmiPrvSE.exe系统占用资源厉害吗?

    大家一起来做个实验吧.把你的支付宝安全控件和支付宝数字证书两个东东都卸掉.试试看电脑是否年轻几岁? 出处:百度贴吧原帖

  6. Vim的分割窗口split命令

    显示两个不同的文件:或者同时显示一个文件的两个不同地方:又或者并排比较两个文件.这一切都可以通过分割窗口实现. 打开新窗口最简单的命令如下: :split (水平分割) || :vsplit (垂直分 ...

  7. unity, Shader.Find的一个坑

    所以对于没有被任何东西引用,只靠在游戏运行时使用Shader.Find换上去的shader,为了双保险,可以首先放到resources文件夹里,另外,再在ProjectSettings->Gra ...

  8. js中的replace全局替换

    比如想把str中的所有“&”替换成“&” replace (\&\,"&");只是替换第一个,那么怎么全部都替换呢? replace(new Reg ...

  9. Linux入侵检查思路及其命令 转自https://yq.aliyun.com/articles/24250?spm=5176.100239.blogcont24249.12.rbBrIh

    摘要: 若Linux操作系统被非法入侵,那么有哪些思路和系统命令用于检查系统当前的状态呢?主要包括对关键进程.关键服务.关键文件的检测,同时及时备份硬盘数据用于持续分析.详细的检查思路和Linux命令 ...

  10. eclipse简单使用

    1.10个快捷键: 1. ctrl+shift+r:打开资源       Control-Shift-T: 打开类型(Open type) Control-Shift-F: CodeàJavaàPre ...