国际化程序开发

这篇博客介绍了Java中实现国际化程序开发的方法,包括使用Locale类描述区域和语言,ResourceBundle类读取资源文件,以及如何根据不同的地区设置来读取对应的配置信息。同时,还讲解了如何处理资源文件中的占位符,通过MessageFormat类进行文本格式化显示,展示了如何在英文和中文之间切换以显示不同语言的内容。
摘要由CSDN通过智能技术生成

国际化程序开发

只是学习笔记,如果有错误,请在评论区指出,谢谢

一、Locale类

1.描述区域和语言

2.代码

package com.yyr.Localetest;

import java.util.Locale;

public class LocaleTest {
    public static void main(String[] args) {
        Locale loc=Locale.ENGLISH;   //设置为英
        System.out.println(loc);
    }
}

二、ResourceBundle类

1、是一个抽象类,用来进行资源文件的读取

2.如果想进行此类的对象的实例化,可以直接利用该类提供的static方法完成:

  1. baseName:描述的是资源文件的名称,但是没有后缀.
package com.yyr.ResourceBUndle;

import java.util.ResourceBundle;

//读取资源文件
//ResourceBundle类,抽象类
public class ResourceTest {
    public static void main(String[] args) {
        ResourceBundle resource=ResourceBundle.getBundle("com.yyr.message.Message");//配置文件的路径
        String val=resource.getString("info"); //info是配置文件的内容
        System.out.println(val);
    }
}

输出
小强

在这里插入图片描述

配置文件路径

在这里插入图片描述

代码

package com.yyr.ResourceBUndle;

import java.util.ResourceBundle;
import java.util.Locale;
//读取资源文件
//ResourceBundle类,抽象类
public class ResourceTest {
    public static void main(String[] args) throws  Exception {

        ResourceBundle resource=ResourceBundle.getBundle("com.yyr.message.Message");//配置文件的路径
        String val=resource.getString("info");
        System.out.println(val);
    }
}

输出:因为配置文件内我设置的内容为小强

小强

三、国际程序开发

1.配置好中文和英文模式的配置文件

2.设置想要的区域和语言

​ 3.读取资源文件

package com.yyr.ResourceBUndle;

import java.util.Locale;
import java.util.ResourceBundle;
//配合locale实现国际化程序开发
//读取资源文件
//ResourceBundle类,抽象类
public class ResourceBundleLocale {

    public static void main(String[] args) throws  Exception {
        Locale loc=new Locale("en","US");
        ResourceBundle resource=ResourceBundle.getBundle("com.yyr.message.Message",loc);//配置文件的路径
        String val=resource.getString("info");
        System.out.println(val);
    }
}

配置文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6TT8PaAx-1625750726986)(C:\Users\杨怡然\Desktop\图片\71.png)]

输出:因为我设置了Locale(“en”,“US”),所以输出的是英文,如果没有更改,会输出默认区域和语言的配置文件的内容

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8qYdciYt-1625750726989)(C:\Users\杨怡然\Desktop\图片\72.png)]

四、格式化文本显示

占位符的描述

范例:修改资源文件,{0}、{1}等都是占位符

中文资源文件:com.yyr.message.Message_zh_CN.propertiesinfo=欢迎{0}的访问!当前日期{1}
英文资源文件:com.yyr.message.Message_en_US.propertiesinfo=Welcome{0},date:{1}

此时只会将占位符一同打印,需要利用MessageFormat类进行格式化处理

package com.yyr.ResourceBUndle;

import java.text.MessageFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.ResourceBundle;

//格式化文本实现
//资源配置下选择区域和文件对配置文件占位符的一同打印
public class ResourceLocaleFormat {


    public static void main(String[] args) throws  Exception {
        Locale loc=new Locale("en","US");
        ResourceBundle resource=ResourceBundle.getBundle("com.yyr.message.Message",loc);//配置文件的路径
        String val=resource.getString("info");
        System.out.println(MessageFormat.format(val," to 中国",new SimpleDateFormat("yyyy-MM-dd").format(new Date())));
    }
}

输出结果

Welcome to 中国,date:2021-07-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值