Java本地化的实现

一.国际化 缩写 i18N(来源于国际化的单词缩写以i开始N结束的18位英文),让开发的程序适应世界上不同国家或地区的过程。

二.本地化 (使程序能适应某个地区或语言的使用习惯的过程)

•本地化是通过添加特定语言环境的文本和组件来创建适合特定语言和地区的应用程序的机制。

•本地化可以在不同类型的数据上实现,比如日期、货币和文本。

•为了本地化不同类型的数据,有必要确定语言和国家

•为了确定语言,Java提供了一组预定义的语言代码,如zh代表中文,en代表英文和国家代码,如AU代表澳大利亚,CN代表中国。

实现:

对于本地化,java的Locale类。Util包的使用方法如下

 Locale l=new Locale ("de","DE"); 
  //第一个参数:语言代码;  第二个参数:城市代码
CountryLanguage CodeCountry Code
Chinazn or zhZN or CN
GermanydeDE
United StatesenUS
FrenchfrFR
RussianruRU
JapanesejaJP
IndiaHiIN

Localizing Date 本地化时间

本地化日期,需要在格式化日期时指定语言和国家。

DateTimeFormatter localFormater=
	    DateTimeFormatter.ofPattern("yyyy/MM/dd E a HH:mm:ss", new Locale("en", "US"));
		System.out.println(LocalDateTime.now().format(localFormater));
/*
output:
2021/05/26 Wed PM 19:45:49
*/

Localizing Currency 本地化货币

同本地化时间的写法

NumberFormat nft=NumberFormat.getCurrencyInstance(new Locale("en", "US"));
		String fro=nft.format(100000);
		System.out.println("RMB:"+fro);
/*
OutPut:
$100,000.00
*/

Localizing Number 本地化数字

NumberFormat nft1=NumberFormat.getNumberInstance(new Locale("en", "US"));
		NumberFormat nft2=NumberFormat.getNumberInstance(new Locale("zh", "CN"));
		NumberFormat nft3=NumberFormat.getNumberInstance(new Locale("ru", "RU"));
		String  fro1=nft1.format(12345600);
		System.out.println("NUM:"+fro1); //美国
		String  fro2=nft2.format(12345600);
		System.out.println("NUM:"+fro2); //中国
		String  fro3=nft3.format(12345600);
		System.out.println("NUM:"+fro3); //俄语
/*
output:
NUM:12,345,600
NUM:12,345,600
NUM:12?345?600
*/

Localing Text 本地化文本

  1. 在对应项目的src中new-file-写文件名
    在这里插入图片描述
    在这里插入图片描述

命名规则:

自定义名字__语言代码.properties

  1. 然后创建文件成功。可以在文件内写内容 使用如下语句可以使内容显示对应的语言在输入栏

            Locale locale=new Locale("zh", "CN"); //选择中文
    		ResourceBundle rbl=     //对应文件名字 对应的本地化语言
                  ResourceBundle.getBundle("MessagesBundle", locale); 
    		System.out.println(rbl.getString("message"));
               //输出文件中对应message的信息
    

    在MessagesBundle文件中写入 对应message 的内容

    message=\u65E9\u4E0A\u597D
    
  2. 最终输出: 早上好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值