`

java国际化

    博客分类:
  • java
 
阅读更多

 

java国际化  本文来自:http://www.javaarch.net/jiagoushi/477.htm

国际化是为了让应用程序能够兼容多种语言而不需要修改源代码,有时我们使用i18n代表国际化internationalization 的意思,那是因为internationalization 单词第一个字母i和最后一个字母n之间有18个字母。

国际化程序能够带来的好处:

1.本地时间,支持国际化程序,时间相关问题在多种语言地区之间就不会存在。

  1. GUI程序的文本信息

  2. 能够支持新语言而不需要重新编译

  3. 时间和汇率跟本地化相关

  4. 能够快速本地化

未进行国际化处理的程序:

 

public class NotI18N {

    static public void main(String[] args) {

        System.out.println("Hello.");
        System.out.println("How are you?");
        System.out.println("Goodbye.");
    }
}

 输出:

 

% java I18NSample fr FR
Bonjour.
Comment allez-vous?
Au revoir.

 经过国际化处理的程序:

import java.util.*;

public class I18NSample {

    static public void main(String[] args) {

        String language;
        String country;

        if (args.length != 2) {
            language = new String("en");
            country = new String("US");
        } else {
            language = new String(args[0]);
            country = new String(args[1]);
        }

        Locale currentLocale;
        ResourceBundle messages;

        currentLocale = new Locale(language, country);

        messages = ResourceBundle.getBundle("MessagesBundle", currentLocale);
        System.out.println(messages.getString("greetings"));
        System.out.println(messages.getString("inquiry"));
        System.out.println(messages.getString("farewell"));
    }
}

 输出:

% java I18NSample en US
Hello.
How are you?
Goodbye.

 在java中怎么让程序支持国际化

1.创建properties文件 包含跟环境相关的文本信息

比如:默认版本的MessagesBundle.properties

greetings = Hello
farewell = Goodbye
inquiry = How are you?

 支持Franch的MessagesBundlefrFR.properties

greetings = Bonjour.
farewell = Au revoir.
inquiry = Comment allez-vous?

2.设置Locale Local是跟语言和地区相关的设置

比如设置语言为English,地区为US aLocale = new Locale("en","US"); 设置Canada和Franch的版本

caLocale = new Locale("fr","CA");
frLocale = new Locale("fr","FR");   

然后通过传入参数设置:

String language = new String(args[0]);
String country = new String(args[1]);
currentLocale = new Locale(language, country);

3.创建ResourceBundle

messages = ResourceBundle.getBundle("MessagesBundle", currentLocale);

locale第一个参数对应到语言,第二个是地区,跟下面下划线的参数对应

MessagesBundle_en_US.properties
MessagesBundle_fr_FR.properties
MessagesBundle_de_DE.properties

4.通过ResourceBundle的方法获取对应的文本信息

String msg1 = messages.getString("greetings");

这样的话新增一个语言或者地区的不同文本就很简单了。

然后在实际应用中,下面的各个部分都需要作为checklist检查是否需要国际化

Messages
Labels on GUI components
Online help
Sounds
Colors
Graphics
Icons
Dates
Times
Numbers
Currencies
Measurements
Phone numbers
Honorifics and personal titles
Postal addresses
Page layouts

 

 

0
3
分享到:
评论

相关推荐

    java国际化&时间处理

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

    java国际化官方指南

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

    Java 国际化问题

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

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

    Java国际化实现框架底层源码分析 Java国际化(i18n,Internationalization)是为了支持不同地区的语言和文化差异,提供了一种灵活的方式来管理和显示应用程序的文本、日期、数字和其他文化敏感的信息。Java提供了...

    java国际化i18n

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

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

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

    java国际化例子I18N.rar

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

    java国际化.ppt

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

    JAVA国际化

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

    java国际化组件

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

    Java国际化配置

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

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

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

    JAVA国际化文件生成工具

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

    最简单的java国际化例子

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

    Java 国际化操作

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

    Java国际化的工具 propedit

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

    java 国际化转换

    ### Java国际化转换详解 #### 一、Java国际化概念与意义 在软件开发过程中,随着产品的全球化,越来越多的应用程序需要支持多种语言环境。这就引出了一个重要的概念——国际化(Internationalization)。通常简称...

    java国际化代码(jsp)

    Java国际化(i18n,Internationalization)是Java平台提供的一种强大的功能,使得软件能够适应不同语言和文化环境。在Java中,国际化主要通过资源包(Resource Bundle)和Locale对象来实现。资源包是一个包含特定...

Global site tag (gtag.js) - Google Analytics