java.util.ResourceBundle是用于国际化(多种语言)的库。它能够根据为系统配置的默认语言环境返回消息。当人们开发要在全世界范围内使用的系统时,就会使用这种功能。
该库根据属性命名中使用的语言环境和名称后缀读取属性文件。例如,考虑一个名为MyLabels_en_US.properties的标签文件。当“区域设置”设置为“ en_US”(代表美国英语)时, ResourceBundle实用程序将读取此文件。
语言环境代表具有其属性的区域或位置。语言环境通常用于维护有关使用我们的应用程序的客户端的详细信息。语言环境包含位置和用于相应位置的语言的属性。因此,区域设置通过确定用户所属的位置来辅助ResourceBundle选择正确的标签文件。
让我们看下面的示例,以使该主题更加清晰:
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/
推荐阅读--
球分享
球点赞
球在看