public class PropertyMessageResourcesFactory implements MessageResourcesFactory {
private Map mrMap = new HashMap();
public MessageResources getInstance(String filename,Locale locale){
MessageResources messageResources = (MessageResources) mrMap.get(filename);
if(null!=messageResources){
return messageResources;
}
ResourceBundle rb = ResourceBundle.getBundle(filename, locale);
messageResources = new PropertyMessageResources(rb);
mrMap.put(filename, messageResources);
return messageResources;
}
public MessageResources getInstance(String filename,String language,String country){
return getInstance(filename,new Locale(language,country));
}
}
public class PropertyMessageResources implements MessageResources {
private ResourceBundle resourceBundle;
public ResourceBundle getResourceBundle() {
return resourceBundle;
}
public void setResourceBundle(ResourceBundle resourceBundle) {
this.resourceBundle = resourceBundle;
}
public PropertyMessageResources(ResourceBundle resourceBundle){
this.resourceBundle = resourceBundle;
}
private String getString(String key){
return resourceBundle.getString(key);
}
}
public class MessageFormatIin18 {
public static void main(String[] args) {
MessageResourceFactory factory = MessageResourceFactory.getInstance();
MessageResource res = factory.createMessageResource("message",
new Locale("en", "US"));
String value = res.getString("button.add");
System.out.println(value);
String value_args = res.getString("message", new Object[] { "C", "12" });
System.out.println(value_args);
}
}
分享到:
相关推荐
在Java开发中,资源文件(Resource Bundle)是一种用于国际化和本地化应用程序的重要机制。它允许开发者将界面文本、配置信息和其他资源与代码逻辑分离,从而支持多语言环境。本文将详细介绍Java中资源文件的基本...
该项目为基于SpringBoot框架开发的Java后端国际化解决方案源码,集成了33个文件,...该解决方案实现了对数据库内容的国际化翻译,并利用Resource Bundle技术处理了提示信息的国际化问题,支持多语言环境下的提示显示。
properties-resource-bundle-editor.jar
Hibernate Resource Bundle是一个专为Hibernate对象关系映射(ORM)框架设计的开源资源管理工具。这个资源包旨在提供一种高效、灵活的方式来管理和处理应用程序中的数据资源,尤其是在持久化层的操作中。Hibernate ...
该应用程序的主要用例是使开发团队能够专注于单一语言的开发,同时通过电子邮件自动将新的本地化需求传达给指定的翻译人员并为实际翻译过程提供Web用户界面。 资源束翻译站点可以用作独立的转换Web应用程序,以从源...
ResourceBundleEditor 资源文件编辑器 eclipse的资源文件编辑插件 经常在做国际化的时候编辑properties文件。转换文件字符总是让人比较繁琐。有了这个插件所见即所得。我们输入中文的时候自动就转换完毕了。...
Get the resource bundle associated with the implementing class (usually an action). ResourceBundle getTexts(String aBundleName) Get the named bundle, such as "com/acme/Foo". boolean ...
jar包,亲测可用
3. **加载Resource Bundle**:在Java代码中,使用`ResourceBundle.getBundle()`方法来加载相应的Resource Bundle。这个方法需要传入基础名称(通常是类路径下的包名+资源文件名,不包括后缀)和Locale对象。例如: ...
1. **Resource Bundle编辑器**:ResourceBundleEditor_v0.7.7是这个插件的核心组件,它提供了一个图形化的界面,使得开发者能够轻松创建、编辑和管理Resource Bundle文件。这个编辑器支持.properties文件的编辑,这...
1. **Resource Bundle配置**:通过资源绑定文件(Resource Bundle)实现多语言支持。 - **Resource Bundle文件**:通常以.properties格式存放,每个语言版本一个文件,如`messages_en.properties` 和 `messages_zh_...
在Java中,这通常通过使用Resource Bundle(资源包)来实现,Resource Bundle是一个包含键值对的文件,键对应于程序中的标识符,值则是不同语言下的文本内容。 在Struts2中实现国际化,你需要遵循以下步骤: 1. ...
总的来说,"Struts-Localization-Example.zip_localization"示例可能包含了创建和使用Resource Bundle的步骤,以及如何在Struts应用中进行本地化配置的实践。通过学习和分析这个例子,开发者可以更好地理解和掌握...
jar包,亲测可用
而"工具"可能指的是IDE插件或其他辅助工具,它们可以帮助管理Resource Bundle,如Eclipse的Properties Editor或IntelliJ IDEA的Resource Bundle支持。 总结,Struts2的国际化支持使得开发者能够轻松地为多种语言的...
集成方式通常是将它们添加到项目的类路径(Classpath)中,然后在代码中通过特定的机制(如Resource Bundle或I18N框架)来加载和使用对应的资源。 总的来说,理解和处理这样的资源文件是软件国际化和本地化过程中的...
这通常通过使用Resource Bundle(资源包)来实现,其中包含了根据不同语言版本替换的文本和数据。 1. **Resource Bundle**:这是Java国际化的核心。一个Resource Bundle是一组键值对,其中键是不变的,值是可以根据...
1. **Resource Bundle**:这是Java中处理国际化的主要手段,它是一个包含特定语言版本资源的容器,如字符串、图像等。在J2ME中,我们通常会为每种语言创建一个对应的Resource Bundle,里面包含了该语言下的所有本地...
ResourceBundle bundle = ResourceBundle.getBundle("bundleName", Locale.CHINA, new ResourceBundleControl() { @Override public String getEncoding(Locale locale) { return "UTF-8"; } }); ``` 4. **使用...