- Java国际化(i18n)简介
- Java国际化(i18n) Locale类
- Java国际化(i18n) Locale类详细示例
- Java国际化(i18n)显示语言
- Java国际化(i18n)ResourceBundle类
- Java国际化(i18n)NumberFormat类
- Java国际化(i18n)格式化货币
- Java国际化(i18n)格式化百分比
- Java国际化(i18n)设置最小/最大精度
- Java国际化(i18n)设置舍入模式
- Java国际化(i18n)解析数字
- Java国际化(i18n)DecimalFormat类
- Java国际化(i18n)格式化模式
- Java国际化(i18n)区域设置特定的DecimalFormat
- Java国际化(i18n)DecimalFormatSymbols类
- Java国际化(i18n)分组数字
- Java国际化(i18n)DateFormat类
- Java国际化(i18n)格式化日期
- Java国际化(i18n)格式化时间
- Java国际化(i18n)格式化日期时间
- Java国际化(i18n)SimpleDateFormat类
- Java国际化(i18n)特定于区域的格式化日期
- Java国际化(i18n)DateFormatSymbols类
- Java国际化(i18n)日期格式模式
- Java国际化(i18n)UTC
- Java国际化(i18n)字符串与Unicode转换
- Java国际化(i18n)Reader/Writer与Unicode转换
Java国际化(i18n)ResourceBundle类
ResourceBundle类用于存储区域设置敏感的文本和对象。 通常使用属性文件来存储特定于语言环境的文本,然后使用ResourceBundle
对象来表示它们。 以下是在基于Java的应用程序中使用特定于语言环境的属性文件的步骤。
第1步:创建属性文件
假设我们需要英文语言环境的属性文件。创建属性文件名称为:XXX_en_US.properties
,其中XXX
是文件的名称,en_US
表示英语(美国)的语言环境。
文件:Messages_en_US.properties -
message=Welcome to zyiz.net!
现在为法语区域设置创建属性文件。创建一个属性文件名称为:XXX_fr_FR.properties
,其中XXX
是文件的名称,fr_FR
表示法语(法国)的语言环境。
文件:Messages_fr_FR.properties -
message=Bienvenue sur zyiz.net!
在这里可以看到键(message
)是相同的,但是这个值在属性文件中是特定于语言环境的。
第2步:创建ResourceBundle对象
使用以下语法创建具有属性文件名和区域设置的ResourceBundle
对象。
ResourceBundle bundle = ResourceBundle.getBundle("Messages", Locale.US);
第3步:从ResourceBundle对象获取值。
通过传递键,然后从ResourceBundle
对象获取值。
String value = bundle.getString("message");
示例
以下示例说明如何使用ResourceBundle
对象来显示来自属性文件的特定于区域的值。
文件:IOTester.java -
import java.util.Locale; import java.util.ResourceBundle; public class I18NTester { public static void main(String[] args) { ResourceBundle bundle = ResourceBundle.getBundle("Messages", Locale.US); System.out.println("Message in "+Locale.US +": "+bundle.getString("message")); bundle = ResourceBundle.getBundle("Messages", Locale.FRANCE); System.out.println("Message in "+Locale.FRANCE +": "+bundle.getString("message")); } }
它会打印下面的结果 -
Message in en_US: Welcome to zyiz.net! Message in fr_FR: Bienvenue sur zyiz.net!
命名约定注意事项
以下是属性文件的命名约定。
- 对于映射到默认语言环境的属性文件,不需要前缀。
message_en_US.properties
等同于message.properties
。 - 对于映射到语言环境的属性文件,可以通过两种方式附加前缀。
message_fr.properties
等同于message_fr_FR.properties
。
- Java教程
- Vim教程
- Swing教程
- Spring教程
- Spring Web Services教程
- Spring MVC教程
- Spring JDBC教程
- Spring Cloud教程
- Spring Boot教程
- Spring Boot CLI教程
- Spring Batch教程
- Spring AOP教程
- PDFBox教程
- JSP教程
- JSF教程
- JPA教程
- Java面向对象设计
- Java设计模式
- Java虚拟机教程
- Java泛型教程
- Java正则表达式教程
- Java数据类型教程
- Java并发编程教程
- Java密码学教程
- Java多线程教程
- Java国际化(i18n)教程
- JavaFX教程
- Java9教程
扫描二维码
程序员编程王