`

JAVA国际化的实现

阅读更多

JAVA国际化的实现的国际化由两部分组成:

   (1)页面国际化处理

   (2)JAVA类的源代码处理


   一、给如下资源文件添加需要国际化的内容

       1、ApplicationResources.properties

            ApplicationResources_zh_CN.properties  中文

           ApplicationResources_en_US.properties   英文


        2、ApplicationResources.properties

           ApplicationResources_zh_CN.properties  中文

             ApplicationResources_en_US.properties   英文


      二、在strutis.xml文件中作如下配置

        <message-resources parameter="resources.activetitle.ApplicationResources"/>
   
    <message-resources parameter="resources.menutitle.GlobalUITitle" key='globaluititle'/>
    <message-resources parameter="resources.menutitle.UITitle" key='uititle'/>
    <message-resources parameter="resources.menutitle.MenuTitle" key='menutitle'/> <message-resources parameter="resources.activetitle.ApplicationResources"></message-resources>

   

 


    三、写Constants类里写处理资源文件及国际化的方法,主要用于在JAVA源代码中处理国际化问题


      该类如下:


       public class Constants {


public static  MessageResources MESSAGE = MessageResources.getMessageResources("Reseveinfo");

   

    public static MessageResources MESSAGE_UITITLE_RES = MessageResources

    .getMessageResources("resources.menutitle.UITitle");

   

    public static MessageResources MESSAGE_GLOBAL_RES = MessageResources

    .getMessageResources("resources.menutitle.GlobalUITitle");

   

   

    public static MessageResources MESSAGE_MENU_RES = MessageResources

    .getMessageResources("resources.menutitle.MenuTitle");

   

   

    public static MessageResources MESSAGE_APP_RES = MessageResources

    .getMessageResources("resources.activetitle.ApplicationResources");

   

   

    public static String [] disposeLanguage(Locale locale){


        String []pagesign = new String[6];

        pagesign[0] = MESSAGE_APP_RES.getMessage(locale, "pages.first");

        pagesign[1] = MESSAGE_APP_RES.getMessage(locale, "pages.previous");

        pagesign[2] = MESSAGE_APP_RES.getMessage(locale, "pages.next");

        pagesign[3] = MESSAGE_APP_RES.getMessage(locale, "pages.end");

        pagesign[4] = MESSAGE_APP_RES.getMessage(locale, "pages.no");

        pagesign[5] = MESSAGE_APP_RES.getMessage(locale, "pages.page");

       

        return pagesign;

    }

   

   

//    处理语言国际化

    public static String disposeLanguageApp(Locale locale,String str,Object [] args){

       

        String retStr="";

        if(locale == null || StringUtils.isEmpty(str))

            return retStr;

       

        if(args == null){

          retStr=MESSAGE_APP_RES.getMessage(locale,str);

        }else{

            retStr=MESSAGE_APP_RES.getMessage(locale,str,args);

        }

        retStr=StringUtils.isEmpty(retStr) ? "" : retStr;

       

        return retStr;

       

    }

   

//    处理语言国际化

    public static String disposeLanguageApp(Locale locale,String str){

       

        String retStr = "";

        if (locale == null || StringUtils.isEmpty(str))

            return retStr;


        retStr = MESSAGE_APP_RES.getMessage(locale, str);


        retStr = StringUtils.isEmpty(retStr) ? "" : retStr;


        return retStr;

       

    }

   

   

//    处理语言国际化

    public static String disposeLanguageUititle(Locale locale,String str,Object [] args){

       

        String retStr="";

        if(locale == null || StringUtils.isEmpty(str))

            return retStr;

       

        if(args == null){

          retStr=MESSAGE_UITITLE_RES.getMessage(locale,str);

        }else{

            retStr=MESSAGE_UITITLE_RES.getMessage(locale,str,args);

        }

        retStr=StringUtils.isEmpty(retStr) ? "" : retStr;

       

        return retStr;

       

    }


   

//    处理语言国际化

    public static String disposeLanguageUititle(Locale locale,String str){

       

        String retStr = "";

        if (locale == null || StringUtils.isEmpty(str))

            return retStr;


        retStr = MESSAGE_UITITLE_RES.getMessage(locale, str);


        retStr = StringUtils.isEmpty(retStr) ? "" : retStr;


        return retStr;

       

    }

   

   

//    处理语言国际化

    public static String disposeLanguageGlobal(Locale locale,String str,Object [] args){

       

        String retStr="";

        if(locale == null || StringUtils.isEmpty(str))

            return retStr;

       

        if(args == null){

          retStr=MESSAGE_GLOBAL_RES.getMessage(locale,str);

        }else{

            retStr=MESSAGE_GLOBAL_RES.getMessage(locale,str,args);

        }

        retStr=StringUtils.isEmpty(retStr) ? "" : retStr;

       

        return retStr;

       

    }


//    处理语言国际化

    public static String disposeLanguageGlobal(Locale locale,String str){

       

        String retStr = "";

        if (locale == null || StringUtils.isEmpty(str))

            return retStr;


        retStr = MESSAGE_GLOBAL_RES.getMessage(locale, str);


        retStr = StringUtils.isEmpty(retStr) ? "" : retStr;


        return retStr;

       

    }

   

   

//    处理语言国际化

    public static String disposeLanguageMenu(Locale locale,String str,Object [] args){

       

        String retStr="";

        if(locale == null || StringUtils.isEmpty(str))

            return retStr;

       

        if(args == null){

          retStr=MESSAGE_MENU_RES.getMessage(locale,str);

        }else{

            retStr=MESSAGE_MENU_RES.getMessage(locale,str,args);

        }

        retStr=StringUtils.isEmpty(retStr) ? "" : retStr;

       

        return retStr;

       

    }

   

//    处理语言国际化

    public static String disposeLanguageMenu(Locale locale,String str){

       

        String retStr = "";

        if (locale == null || StringUtils.isEmpty(str))

            return retStr;


        retStr = MESSAGE_MENU_RES.getMessage(locale, str);

        retStr = StringUtils.isEmpty(retStr) ? "" : retStr;


        return retStr;

       

    }


   

}


  //===========================================================================================

  

   例如:在JAVA源代码中处理国际化问题

   ui.title.log.page.usercode=用户代码


    Constants.disposeLanguageUititle(locale,"ui.title.log.page.usercode")));  //"用户代码"


    四、处理JSP页面的国际化问题

      ui.title.order.orderid=订单号

    <bean:message key="ui.title.order.orderid" bundle="uititle"/>

      <bean:message bundle="uititle" key="ui.title.order.orderid"> <!----></bean:message>


     注:在标签 <bean:message  中的bundl属性的值是<message-resources parameter="resources.menutitle.UITitle" key='uititle'/>

     中的 key值

       <message-resources key="uititle" parameter="resources.menutitle.UITitle"></message-resources>

   




分享到:
评论
1 楼 simpletrc 2012-06-28  
引用
引用
[imgnbnnnnnnnnnn][/img]

相关推荐

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

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

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

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

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

    在实现Java国际化时,我们通常遵循以下步骤: 1. **创建资源文件**:为每种语言创建对应的资源文件,每个文件包含一组键值对,键是不变的,值是根据语言变化的文本。 2. **使用ResourceBundle**:在代码中,通过...

    关于JAVA国际化的问题资料

    #### 二、JAVA国际化实现方法 ##### 1. 使用资源文件 在JAVA中,通常通过资源文件来实现文本字符串的国际化。资源文件是一种存储非代码数据的文件,如字符串、图像等。这些文件通常以.properties或.xml格式存在,...

    java实现国际化

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

    java国际化官方指南

    最后,Java国际化的实现还需要考虑实际应用中的多线程环境。在多线程程序中,本地化设置可能在不同线程中有所不同,因此需要确保每个线程的Locale设置独立,以避免一个线程中的国际化设置影响到其他线程。 总之,...

    JAVA_国际化程序实现

    下面我们将深入探讨Java中实现国际化程序的步骤和关键概念。 首先,我们需要理解`ResourceBundle`类,它是Java i18n的核心。`ResourceBundle`用于存储特定语言或区域的字符串和其他可本地化资源。这些资源通常保存...

    国际化 必备工具 java编写

    本篇将深入探讨Java中实现国际化的必备工具以及相关的编码转换问题。 一、Java中的国际化 1. **资源绑定文件(Properties文件)** 在Java中,我们通常使用`.properties`文件来存储不同语言的文本资源。例如,`...

    java实现国际化源码

    在Java开发中,实现国际化(i18n)是一项重要的任务,它允许应用程序根据用户的语言和地区提供相应的本地化内容。本篇文章将详细讲解如何利用Java技术,特别是Struts框架,来实现这一功能。 首先,我们需要了解Java...

    Java国际化配置

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

    java国际化组件

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

    java国际化i18n

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

    java Annotaion实现菜单和工具栏国际化

    这是利用java Annotation实现的菜单和工具栏国际化的实例,是《java学习脚印: 反射与注释(Annotation)》一文中综合实例的例子。博客参见:http://blog.csdn.net/wangdingqiaoit/article/details/20130539

    Java web 国际化

    在Java Web开发中,实现国际化主要依赖于Java的`java.util`和`java.text`包中的API。以下是一些关键概念和类的详细解释: 1. **Locale类**:`Locale`对象代表一个特定的地理、政治或文化区域,如“en_US”代表美国...

    java国际化.ppt

    以下将详细讲解Java中实现国际化涉及的主要知识点: 1. **软件国际化的意义**: - 提高软件的全球适用性,满足不同国家用户的语言和文化习惯。 - 降低维护成本,只需维护一套核心代码,针对不同语言的改动集中在...

    JAVA国际化文件生成工具

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

    java国际化例子I18N.rar

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

    Java 程序国际化教程+源码

    Java程序国际化还包括日期和时间的格式化,这可以通过`java.time.format.DateTimeFormatter`类实现。例如: ```java DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss", new ...

    JAVA国际化

    java国际化 里面含有代码 文档 以及实现的步骤 比较清楚明了

    最简单的java国际化例子

    要实现Java国际化,我们需要创建`Properties`文件,这些文件通常以`.properties`为扩展名,用于存储不同语言和地区的文本资源。例如,我们可能有一个`messages.properties`文件用于英文,另一个`messages_zh_...

Global site tag (gtag.js) - Google Analytics