`
Luob.
  • 浏览: 1588779 次
  • 来自: 上海
社区版块
存档分类
最新评论

Java 国际化(一)

    博客分类:
  • Java
阅读更多
1.Java对国际化的支持主要用3个类另外完成
java.util.Locale 对应一个特定的区域和语言环境
  Locale类主要用来构建本地化应用,该类的主要包含,对地理区域的区域性特征的封装,Local提供了一些常量,可以使用这些常量为通常使用的语言环境创建Locale对象。例如,为中国应用环境创建一个Locale对象
  Locale.CN.

java.util.ResourceBundle用户加载资源包
Locale locale=new Locale("zn","CN","WIN");
ResourceBundle myResource=ResourceBundle.getBundle("Resources",locale);

java.test.MessageFormat 用于见消息格式化。
如果资源文件中包含动态内容,那么动态内容就要需要使用占位符表示,而加载资源文件是,必须使用MessageFormat类,该类中共有一个静态方法format(),调用方式入校:
MessageFormat.format(String pattern,Object values...);
其中 参数pattern是包含占位符的字符串,后面的多个参数将依次填充字符串中的占位符。
实例:
MessageFormat_zh_CN.properties
MessageFormat_en_US.properties
MessageFormatThree.java


1.使用类实现 国际化
import java.util.Locale;
import java.util.ResourceBundle;


public class Secondi18n {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Locale locale=null;
		if(args.length==2){
			locale=new Locale(args[0],args[1]);
		}
		else{
			locale=Locale.getDefault();
		}
		//资源类 的命名 用Resources开头
		ResourceBundle bundle=ResourceBundle.getBundle("Resources", locale);
		System.out.println(bundle.getString("userName"));
		System.out.println(bundle.getString("userPassword"));
		System.out.println(bundle.getString("userAge"));

	}

}


注意命名
import java.util.ListResourceBundle;
public class Resources_en_US extends ListResourceBundle {

	static final Object[][] contents=new String[][]{
		{"userName","Name"},
		{"userPassword","Password"},
		{"userAge","age"}};
	
	@Override
	protected Object[][] getContents() {
		// TODO Auto-generated method stub
		return contents;
	}

}

import java.util.ListResourceBundle;
public class Resources_zh_CN extends ListResourceBundle {

	static final Object[][] contents=new String[][]{
		{"userName","姓名"},
		{"userPassword","密码"},
		{"userAge","年龄"}};
	
	@Override
	protected Object[][] getContents() {
		// TODO Auto-generated method stub
		return contents;
	}

}


2.使用资源文件 带占位符
import java.text.MessageFormat;
import java.util.Date;
import java.util.Locale;
import java.util.ResourceBundle;


public class MessageFormatThree {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Locale locale=null;
		if(args.length==2){
			locale=new Locale(args[0],args[1]);
		}
		else{
			locale=Locale.getDefault();
		} 
                 //资源属性文件 用 MessageFormat 开头
		ResourceBundle bundle=ResourceBundle.getBundle("MessageFormat", locale);
		String userName=bundle.getString("userName2");
		System.out.println(MessageFormat.format(userName, "xue",new Date()));
	}

}



注意命名
MessageFormat_en_US.properties
userName=Name
userPassword=Password
userName2={0},Today is {1}

MessageFormat_zh_CN.properties
userName=姓名
userPassword=密码
userName2={0},今天{1}


3.Loacle 中显示java支持的 地区和语言
import java.util.Locale;

public class locale {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Locale[] list = Locale.getAvailableLocales();
		System.out.println("中文地区————地区简写——————语言中文——————语言简写");
		for (int i = 0; i < list.length; i++) {
			System.out.println(list[i].getDisplayCountry()+"————"+list[i].getCountry()+"——————"+list[i].getDisplayLanguage()+"——————"+list[i].getLanguage());
		}
	}

}

1
4
分享到:
评论

相关推荐

    Java 国际化问题

    Java 国际化 Java 国际化 Java 国际化

    java国际化&时间处理

    Java国际化(Internationalization)与时间处理是开发过程中两个重要的领域,尤其对于构建全球化应用程序来说,理解和掌握这些概念至关重要。国际化允许软件适应不同地区的语言、文化习惯和格式,而时间处理则涉及...

    java国际化官方指南

    Java作为广泛使用的编程语言之一,提供了强大的国际化支持。国际化,通常指软件能够支持多种语言和地区的不同习惯,...遵循Java国际化官方指南,开发者可以将应用程序本地化为多种语言,适应不同地区用户的使用习惯。

    国际化 必备工具 java编写

    Java作为一种广泛使用的编程语言,提供了强大的国际化支持。本篇将深入探讨Java中实现国际化的必备工具以及相关的编码转换问题。 一、Java中的国际化 1. **资源绑定文件(Properties文件)** 在Java中,我们通常...

    java国际化组件

    Java国际化组件是Java开发中一个重要的功能模块,它允许开发者为不同地区的用户创建多语言支持的应用程序。在Java中,国际化通常通过使用Resource Bundle和Java的Locale类来实现。资源库(Resource Bundle)包含了...

    Java国际化配置

    用Java写的一个国际化语言配置模块,可实现简单的国际化配置。

    java 实现国际化 中英文语言切换

    Java 实现国际化是一种重要的软件开发技术,特别是在构建多语言支持的应用程序时。国际化(i18n)使得软件能够适应不同国家和地区的语言环境,包括中文和英文。在这个主题中,我们将深入探讨如何使用Java和JSP进行...

    java国际化i18n

    Java国际化(i18n)是Java平台为支持全球不同地区的用户和语言而设计的一种机制。i18n这个名字来源于“internationalization”这个单词,其中'i'是第9个字母,'n'是第14个字母,所以18代表了两者之间的字母数。Java的...

    Java国际化编程及其实现.rar

    Java国际化编程,简称i18n(取"internationalization"一词中第18个字母i作为缩写),是Java平台提供的一种强大的功能,旨在帮助开发者创建能够适应不同语言和地区需求的应用程序。Java的国际化设计使得软件能够在...

    java国际化实现框架底层源码

    Java国际化(i18n,Internationalization)是为了支持不同地区的语言和文化差异,提供了一种灵活的方式来管理和显示应用程序的文本、日期、数字和其他文化敏感的信息。Java提供了完整的API来处理国际化问题,主要...

    java实现国际化

    此外,开发工具也是实现Java国际化的重要辅助。Eclipse和IntelliJ IDEA等IDE都提供了方便的资源文件管理功能,可以轻松编辑和管理多语言的`.properties`文件。 在实际项目中,为了确保代码的可维护性和扩展性,通常...

    java国际化.ppt

    Java 国际化(i18n)是开发支持多语言的应用程序的关键步骤,使得软件能够适应不同国家和地区用户的需求。以下将详细讲解Java中实现国际化涉及的主要知识点: 1. **软件国际化的意义**: - 提高软件的全球适用性,...

    JAVA国际化文件生成工具

    标题提到的"JAVA国际化文件生成工具"是一种辅助开发者创建和管理这些多语言资源文件的工具。这种工具可能提供以下功能: 1. **资源文件创建**:自动生成基础的`.properties`文件结构,这些文件通常命名为`messages_...

    Java国际化的工具 propedit

    Java国际化的工具propedit是Java开发中用于处理国际化(i18n)和本地化(l10n)过程的一款实用程序。在Java应用程序中,为了支持不同地区的用户,我们需要提供多语言支持,这就涉及到了国际化和本地化。propedit正是...

    Java 程序国际化教程+源码

    总的来说,Java程序国际化是一个系统性的工程,涉及多个层次的设计和实现。通过理解并运用上述技术,开发者能够创建出适应全球用户需求的应用。本教程的源码实例将帮助你更深入地理解和掌握这些知识点。

    Java 国际化操作

    2. **Resource Bundle**:资源包是Java国际化的关键组成部分,它是一个包含特定语言环境下的文本和数据的文件集合。通常以.properties格式存储,例如`messages_en.properties`和`messages_fr.properties`分别代表...

    java国际化例子I18N.rar

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

    JAVA国际化

    Java国际化(i18n,Internationalization)是Java平台提供的一种机制,用于支持应用程序在全球不同地区的本地化。这个过程涉及到将应用的文本、日期、数字格式等与特定文化或地区相关的元素分离,以便在不同语言环境...

    最简单的java国际化例子

    Java国际化(Internationalization,通常缩写为i18n)是一种设计和开发应用程序的方法,使得它们可以适应不同的语言和地域文化。在Java中,通过使用特定的API和资源文件,我们可以实现应用程序的国际化,以便在不同...

Global site tag (gtag.js) - Google Analytics