Java国际化资源文件的选择

(一)在Java环境下有以下资源文件:

message_zh_CN.properties

message_zh_TW.properties

message_zh.properites

message.properties

如果Locale为zh_CN,查找资源文件的顺序为:

  1. message_zh_CN.properties
  2. message_zh.properites
  3. message.properties

如果上述三个资源文件都不存在,则抛出异常,不会使用message_zh_TW.properties。

如果Locale为zh,查找资源文件的顺序为:

  1. message_zh.properites
  2. message_zh_CN.properties
  3. message.properties

如果上述三个资源文件都不存在,则抛出异常,不会使用message_zh_TW.properties

(二)在Java环境下有以下资源文件:

message_en_US.properties

message_en_GB.properties

message_en.properites

meaage.properties

如果Locale为en_US,查找资源文件的顺序为:

  1. message_en_US.properties
  2. message_en.properites
  3. meaage.properties

如果上述三个资源文件都不存在,则抛出异常,不会使用message_en_GB.properties。

如果Locale为en,查找资源文件的顺序为:

  1. message_en.properites
  2. meaage.properties

如果上述三个资源文件都不存在,则抛出异常,不会使用message_en_US.properties、message_en_GB.properties

问题:在Locale为zh的时候会使用message_zh_CN.properties资源文件,Locale为en时,不会使用message_en_US.properies,这里的规则是什么?

时间: 2024-12-25 17:50:22

Java国际化资源文件的选择的相关文章

Struts2的国际化(一)-国际化资源文件的配置及国际化信息的访问

一.概述: 1)国际化是一种技术:在程序设计领域,把在无需改写源代码即可让开发出来的应用程序能够支持多种语言和数据格式的技术称为国际化. 2)本地化是一个动作:与国际化对应的是本地化,指让一个具备国际化支持的应用程序支持某个特定的地区. 3)Struts2 国际化是建立在 Java 国际化基础上的: >为不同国家/语言提供对应的消息资源文件 >Struts2 框架会根据请求中包含的Locale 加载对应的资源文件 >通过程序代码取得该资源文件中指定 key 对应的消息 二.如何配置国际化

Eclipse中建立Maven项目后,Java Resources资源文件下没有src/main/java文件夹

当建立好一个Maven项目后,在Java Resources资源文件夹下没有看到src/main/java文件夹,然后手动去创建Source Folder时,提示该文件已存在,如图: 有一个解决办法:选择项目“test”右键-->Build Path-->Configure Build Path,选择Libraries-->JRE System Library-->Editor,然后选择Workspace default JRE. 最后就可以在Java Resources资源文件夹

SpringMVC验证框架Validation自定义注解实现传递参数到国际化资源文件

关于SpringMVC验证框架Validation的使用方法,不是本篇的重点,可参见博文SpringMVC介绍之Validation 在使用Validation时,一定有朋友遇到过一个问题,那就是:无法传递参数到国际化资源文件properties错误描述中. 举个例子: User类中 @NotEmpty(message="{password.empty.error}") private String password; 资源文件validation_zh_CN.properties中为

Struts2的国际化(二)-利用超链接实现动态加载国际化资源文件

原理:程序是根据Locale来确定国际化资源文件,因此关键之处在于知道 Struts2 框架是如何确定 Local 对象的 ! 由于Struts2 使用 i18n 拦截器处理国际化,并且将其注册在默认的拦截器中,因此,可以通过阅读 I18N 拦截器知道. 具体确定 Locale 对象的过程: > Struts2 使用 i18n 拦截器 处理国际化,并且将其注册在默认的拦截器栈中 > i18n拦截器在执行Action方法前,自动查找请求中一个名为 request_locale 的参数. 如果该参

【Struts2系列】Struts2 国际化资源文件的机制原理

[Struts2国际化资源文件定义的3种范围方法] 1)全局的国际化资源文件,对所有的Action和View都有效 定义方式: 在struts.xml中增加全局资源文件定路径定义:        <constant name="struts.custom.i18n.resources" value="globalMessage"></constant> 对应的资源文件为classpath根目录位置: globalMessage.propert

Java读写资源文件类Properties

Java中读写资源文件最重要的类是Properties 1) 资源文件要求如下: 1.properties文件是一个文本文件 2.properties文件的语法有两种,一种是注释,一种属性配置. 注    释:前面加上#号 属性配置:以“键=值”的方式书写一个属性的配置信息. 3.properties文件的一个属性配置信息值可以换行,但键不可以换行.值换行用“\”表示. 4.properties的属性配置键值前后的空格在解析时候会被忽略. 5.properties文件可以只有键而没有值.也可以仅

*_zh_CN.properties 国际化资源文件 struts 防乱码等

国际化资源文件在struts中须要写以下代码: <!-- 设置Web应用的默认Locale为zh_CN --> <constant name="struts.locale" value="zh_CN" /> <!-- 设置Struts2应用的国际化资源文件,多个文件中间可用逗号分隔 --> <constant name="struts.custom.i18n.resources" value="

java util工具读取国际化资源文件

Locale ResourceBundle Locale读取资源文件 package yycg.util; import java.io.Serializable; import java.text.MessageFormat; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.ResourceBundle;

Java IO流 之 ResourceBundle 读取国际化资源文件

http://www.verejava.com/?id=16994867037422 /** java.util.ResourceBundle : 用来读取资源文件的类(*.properties) 资源文件里面的内容是Key=value 键值对 注意: 1. 根据Locale来读取资源文件时,如果没有找到以 baseName_language_country.properties 形式定义的资源文件, 就从 baseName.properties 资源文件读取 */ import java.ut