• Java程序设计——国际化


    目录

    一、Locale类

    二、ResourceBundle类


    一、Locale类

    通过设定Locale可以为特定的国家或地区提供符合当地文化习惯的字体、符号和图标等

    一个Locale实例代表一种特定的语言和地区

    通过Locale对象输出对应语言和地区的时间、数字等格式

    构造方法功能
    new Locale(String language)构造指定语言的Locale对象
    new Locale(String language,String country)构造指定语言、国家的Locale对象


    常用方法功能
    String getCountry()返回国家(地区)代码
    String getDisplayCountry返回国家(地区)名称
    String getLanguage()返回语言代码
    String getDisplayLanguage()返回语言名称
    Static Locale getDefault()返回当前系统的Locale对象
    Static void setDefault(Locale locale)重新设置默认的Locale对象
    1. import java.util.Locale;
    2. public class MainClass_Locale_1 {
    3. public static void main(String[] args){
    4. Locale locale1 = new Locale("en","US");
    5. System.out.println("语言编码:"+locale1.getLanguage());
    6. System.out.println("语言名称:"+locale1.getDisplayLanguage());
    7. System.out.println("国家编码:"+locale1.getCountry());
    8. System.out.println("国家名称:"+locale1.getDisplayCountry());
    9. Locale locale2 = Locale.getDefault();
    10. System.out.println("语言编码:"+locale2.getLanguage());
    11. System.out.println("语言名称:"+locale2.getDisplayLanguage());
    12. System.out.println("国家编码:"+locale2.getCountry());
    13. System.out.println("国家名称:"+locale2.getDisplayCountry());
    14. }
    15. }

    二、ResourceBundle类

    ResourceBundle类用于加载国家和语言的资源包

    资源文件命名方式:

    • baseName_language_country.properties
    • baseName_language.properties
    • baseName.properties
    • baseName:资源文件的名称
    • language/country :java支持的语言/国家
    方法功能
    public static final ResourceBundle getBundle(String baseName)使用指定基本名称、默认的语言环境和调用者的类加载器获取资源包
    public static final ResourceBundle getBundle(String baseName,ResourceBundle.Control control)使用指定基本名称、默认的语言环境和指定控件返回一个资源包

    public abstract Enumeration<String> getKeys()

    返回键的枚举
    public Locale getLocale()返回此资源包的语言环境
    public final Object getObejct(String key)从此资源包或某个父包中获取给定键的对象
    public final String getString(String key)从此资源包或某个父包中获取给定键的字符串
    public final String[ ]  getStringArray(String key)从此资源包或某个父包中获取给定键的字符串数组
    public boolean containsKey(String key)判断key是否包含在此ResourceBundble及其父包中
    public Set<String> keySet()返回此ResourceBundle及其父包中包含的所有键的Set
    • 新建3个资源文件

     

    • 写入相关内容

    1. import java.util.Locale;
    2. import java.util.ResourceBundle;
    3. public class TestResourceBundle {
    4. public static void main(String[] args) {
    5. // 1.读取默认资源文件,跟Locale默认值有关
    6. ResourceBundle resourceBundle1 = ResourceBundle.getBundle("myProperties",
    7. Locale.getDefault());
    8. System.out.println(resourceBundle1.getBaseBundleName());
    9. System.out.println(resourceBundle1.getString("name"));
    10. System.out.println("-------------------------------------");
    11. // 2.英语资源文件
    12. Locale locale2 = new Locale("en","US");
    13. ResourceBundle resourceBundle2 = ResourceBundle.getBundle("myProperties_en_US", locale2);
    14. System.out.println(resourceBundle2.getBaseBundleName());
    15. System.out.println(resourceBundle2.getString("name"));
    16. System.out.println("-------------------------------------");
    17. // 3.中文资源文件
    18. Locale locale3 = new Locale("zh","CN");
    19. ResourceBundle resourceBundle3 = ResourceBundle.getBundle("myProperties_zh_CN", locale3);
    20. System.out.println(resourceBundle3.getBaseBundleName());
    21. System.out.println(resourceBundle3.getString("name"));
    22. System.out.println("-------------------------------------");
    23. }
    24. }

  • 相关阅读:
    VS编译的时候不生成Release文件夹
    代码随想录算法训练营第1天|二分查找|移除元素
    三个线程交替打印的几种实现方式
    【牛客网-前端笔试题】——Javascript专项练习5
    【kubernetes】kubernetes中的安全和认证
    数字孪生智慧能源:风光储一体化能源中心
    从 Pulsar Client 的原理到它的监控面板
    【MySQL】MySQL8.0安装教程
    Docker(三)—— 容器的基本命令
    在Visual Studio Code中配置C++编译器的一般步骤
  • 原文地址:https://blog.csdn.net/Mr_Morgans/article/details/125497652