`

Java i18n的简单实现

    博客分类:
  • Java
阅读更多
package com.joshua.code.sample.i18n.bundle;

import java.util.Locale;
import java.util.ResourceBundle;

public class I18NUtils {

	private static final String ENGLISH_LANGUAGE = Locale.ENGLISH.getLanguage();

	private static ResourceBundle RES_BUNDLE;
	public static Locale LOCALE;

	static {
		Locale defLocale = Locale.getDefault();
		if (defLocale.getLanguage().equals(ENGLISH_LANGUAGE)) {
			Locale.setDefault(Locale.ENGLISH);
		}
		RES_BUNDLE = ResourceBundle.getBundle(
				"com.joshua.code.sample.i18n.bundle.resources.messages",
				defLocale);
		}
	}

	public static void setLocale(Locale loc) {
		LOCALE = loc;
		RES_BUNDLE = ResourceBundle.getBundle(
				"com.joshua.code.sample.i18n.bundle.resources.messages", loc);
	}
	
	public static String getResValue(String key) {
		if (key == null) return null;
		String resKey = key.replace(' ', '_');
		resKey = resKey.toLowerCase(java.util.Locale.ENGLISH);
		if (RES_BUNDLE.containsKey(resKey)) {
			return RES_BUNDLE.getString(resKey);
		} else {
			return null;
		}
	}
	
	public static void main(String[] args) {
//		I18NUtils.setLocale(Locale.GERMAN);
//		I18NUtils.setLocale(Locale.FRENCH);
//		I18NUtils.setLocale(Locale.JAPAN);
		I18NUtils.setLocale(Locale.CHINA);
//		I18NUtils.setLocale(Locale.TAIWAN);
		System.out.println(I18NUtils.getResValue("add"));
	}
	
}

 

所有工程相关的文件请从附件下载。

0
0
分享到:
评论

相关推荐

    java实现国际化I18N简单实例,没用任何框架.zip

    java实现国际化I18N简单实例,没用任何框架.zip java实现国际化I18N简单实例,没用任何框架.zip

    java国际化例子I18N.rar

    java国际化实例,内置源码,还有说明文档。源码包里有编译好的jar文件,已经可以执行,可以实现中文和英文界面的切换,无需要安装插件,调用系统资源,有需要的朋友们请下载吧。 个人体会:做项目时需要用到国际化的...

    积分管理系统java源码-pretty-boot-demo:全局枚举设置,i18n,全局异常句柄

    积分管理系统java源码 这只是一个 DEMO 一千个人心中有一千个哈姆雷特,一千个架构师心中有一千种完美架构,而这个项目,是我追求完美路上的一个初号机 初衷  设计这个项目初衷是对现在项目中的过度封装设计感觉...

    Webwork.in.Action.中文版 part1/3

    然后我们着眼于高级的特性,例如校验、数据类型转换、资源依赖、本地化(i18n)、Web应用组件的松耦合,以及大量应对Web开发中常见的挑战所需要的解决方案。  本书是一本从头至尾都使用现实世界例子讲述有关编写...

    Webwork.in.Action.中文版.part3/3

    然后我们着眼于高级的特性,例如校验、数据类型转换、资源依赖、本地化(i18n)、Web应用组件的松耦合,以及大量应对Web开发中常见的挑战所需要的解决方案。  本书是一本从头至尾都使用现实世界例子讲述有关编写...

    Webwork.in.Action.中文版.part2/3

    然后我们着眼于高级的特性,例如校验、数据类型转换、资源依赖、本地化(i18n)、Web应用组件的松耦合,以及大量应对Web开发中常见的挑战所需要的解决方案。  本书是一本从头至尾都使用现实世界例子讲述有关编写...

    Struts2 in action中文版

    11.1.2 Struts 2如何解决本地Java对i18n支持的问题 243 11.2 Struts 2 i18n示例 244 11.2.1 Struts 2 i18n快速展示 244 11.2.2 幕后一览 246 11.3 Struts 2 i18n详情 247 11.3.1 Struts 2默认的TextProvider Re-...

    jerrymouse:从我曾经参与过的项目中提取的一个简单的 Java 多线程应用程序容器

    特征应用生命周期状态机(受 tomcat 启发) 每个应用一个线程(低效丑陋的线程模型,有待改进) 每个应用程序的独立类加载器(受 tomcat 启发) 热部署(尚未实施) I18n(仍在研究中) 简单的会话管理线程级消息...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    17.4 i18n标签库 506 17.4.1 国际化标签 506 17.4.2 格式化标签 511 17.5 sql标签库 520 17.5.1 [sql:setdatasource] 520 17.5.2 [sql:query] 521 17.5.3 [sql:param] 524 17.5.4 [sql:dateparam] 525 17.5....

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    17.4 i18n标签库 506 17.4.1 国际化标签 506 17.4.2 格式化标签 511 17.5 sql标签库 520 17.5.1 [sql:setdatasource] 520 17.5.2 [sql:query] 521 17.5.3 [sql:param] 524 17.5.4 [sql:dateparam] 525 17.5....

    oxygen:一个轻量级Java框架,包含ioc,aop,config,cache,job,Jdbc,web等

    i18n国际化 资源文件加载,提供文件,jar,类路径等文件加载 类扫描器 基于构造器的轻量级依赖注入 缓存 提供基于注解Scheduled的定时任务 可使用注解Aspect或直接实现Interceptor编写切面 部分工具类 氧气瓶 小巧...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    17.4 i18n标签库 506 17.4.1 国际化标签 506 17.4.2 格式化标签 511 17.5 sql标签库 520 17.5.1 [sql:setdatasource] 520 17.5.2 [sql:query] 521 17.5.3 [sql:param] 524 17.5.4 [sql:dateparam] 525 17.5....

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    17.4 i18n标签库 506 17.4.1 国际化标签 506 17.4.2 格式化标签 511 17.5 sql标签库 520 17.5.1 [sql:setdatasource] 520 17.5.2 [sql:query] 521 17.5.3 [sql:param] 524 17.5.4 [sql:dateparam] 525 17.5....

    最新vRules4j-2.1.2-b20090622.zip下载

    项目概述: vRules4j是由个人发起的开源项目,它基于Apatche Licenses 2.0 免费发布。任何组织或者个人都可以查看其源码并根据自己的需要修改源码,同时在商业应用中具有最大的授权许可。...支持i18N.

    Java_Web开发实战1200例第1卷.part2

    8.2 JSTL I18N标签库 275 第9章 JavaScript技术 283 9.1 数据验证 284 9.2 字符串处理 304 9.3 日期时间处理 313 9.4 使用JavaScript控制DOM 321 第10章 Ajax技术 326 10.1 定时业务 327 10.2 改善用户体验 332 10.3...

    Java_Web开发实战1200例第1卷.part3

    8.2 JSTL I18N标签库 275 第9章 JavaScript技术 283 9.1 数据验证 284 9.2 字符串处理 304 9.3 日期时间处理 313 9.4 使用JavaScript控制DOM 321 第10章 Ajax技术 326 10.1 定时业务 327 10.2 改善用户体验 332 10.3...

    JSP2.0技术手册pdf(带示例源码).zip

    7-3 I18N 格式标签库(I18N-capable formatting tags library) 7-4 SQL 标签库(SQL tag library) 7-5 XML 标签库(XML tag library) 7-6 函数标签库(Functions tag library) 第八章 JSP 与 JavaBean 8-1 JavaBean 的...

    Grails实战教程-整合版

    现如今,基于Java的网站开发明显过于复杂,远超实际工作需要。在Java领域中,大部分的网站开发框架也没有严格的...使用Spring的MessageSource实现国际化(i18n) 一个基于Spring事务抽象的事务层 借助功能强大的Groovy

Global site tag (gtag.js) - Google Analytics