每日一课 | Java – ResourceBundle示例

    科技2025-02-18  12

    java.util.ResourceBundle是用于国际化(多种语言)的库。它能够根据为系统配置的默认语言环境返回消息。当人们开发要在全世界范围内使用的系统时,就会使用这种功能。

    1.如何运作?

    该库根据属性命名中使用的语言环境和名称后缀读取属性文件。例如,考虑一个名为MyLabels_en_US.properties的标签文件。当“区域设置”设置为“ en_US”(代表美国英语)时, ResourceBundle实用程序将读取此文件。

    语言环境代表具有其属性的区域或位置。语言环境通常用于维护有关使用我们的应用程序的客户端的详细信息。语言环境包含位置和用于相应位置的语言的属性。因此,区域设置通过确定用户所属的位置来辅助ResourceBundle选择正确的标签文件。

    2.例子

    让我们看下面的示例,以使该主题更加清晰:

    package com.mkyong; import java.util.Locale; import java.util.ResourceBundle; public class Application {   public static void main(String[] args) {     // en_US     System.out.println("Current Locale: " + Locale.getDefault());     ResourceBundle mybundle = ResourceBundle.getBundle("MyLabels");     // read MyLabels_en_US.properties     System.out.println("Say how are you in US English: " + mybundle.getString("how_are_you"));     Locale.setDefault(new Locale("ms", "MY"));     // read MyLabels_ms_MY.properties     System.out.println("Current Locale: " + Locale.getDefault());     mybundle = ResourceBundle.getBundle("MyLabels");     System.out.println("Say how are you in Malaysian Malaya language: " + mybundle.getString("how_are_you"));   } }

    执行此代码后,我们得到以下输出: 

    Current Locale: en_US Say how are you in US English: How are you? Current Locale: ms_MY Say how are you in Malaysian Malaya language: apa khabar

    从输出中可以看出,这取决于语言环境集的默认值。该实用程序主要用于Web应用程序中,其中Web浏览器可帮助了解远程用户的语言环境。这样就可以尽可能以特定语言显示网站。 

    参考文献:

    语言环境Javadocs

    ResourceBundle Javadocs

    可用语言环境

    翻译自: https://mkyong.com/java/java-resourcebundle-example/

    推荐阅读--

    每日一课 | Java 中如何将 ArrayList 与 HashSet 互相转换?

    每日一课 | JavaScript基础

    每日一课 | JavaScript的事件

    每日一课 | JavaScript的内置对象

    球分享

    球点赞

    球在看

    Processed: 0.013, SQL: 8