您现在的位置:软件测试 > 测试技术 > 本地化测试 >

Java用户界面本地化实例探索

来源: 作者: 发表时间:2007-06-22 07:38 点击:获取本文网址二维码
下一页 1 2 3 国际化是使程序具有足够的灵活性、能在世界上任何地区运行的过程。国际化所要求的必然结果是地方化――使一个程序能够运行在特定地区的过程。本文尝试用一个简单的例子来演示 Java 用户界面 本地化 。 Java语言内核基于Unicode3.0(Java 1.4)提

下一页 1 2 3 

   
  国际化是使程序具有足够的灵活性、能在世界上任何地区运行的过程。国际化所要求的必然结果是地方化――使一个程序能够运行在特定地区的过程。本文尝试用一个简单的例子来演示Java用户界面本地化

Java语言内核基于Unicode3.0(Java 1.4)提供了对不同国家和不同语言文字的内部支持,由于先天的原因,Java对于国际化的支持远远要比C/C++来的优越。

  在我看来本地化必须满足以下的三个条件:

  1、程序必须能读、写和操作本地化的文本。

  2、程序在显示日期和时间、使数字格式化以及排序子串时,必须符合地方习惯。(通过java.text包里面的类可以实现这些要求)

  3、所有用户可见的文本都能在运行时获得,而不是直接写入程序中。(通过java.util包里的ResourceBundle类和他的子类可以实现这些要求。)

  实现这三个方面可以真正实现程序的国际化。

  首先让我们来了解一下地区。地区代表一个地理上、政治上或文化上的区域。在Java中,地区由java.util.Locale类表示。地区常常以一种语言来定义,该语言则由其标准的小写双字母代码表示。(例如:en代表英国,fr代表法国,zh代表中国),但有时候语言是不能代表一个地区的,那就要在语言后面再加上一个国家或该国家的地域(例如:en_US代表美国,zh_TW)。Locale类保存着一个静态的默认地区,它可以用Locale.setDefault()和Locale.getDefault()来设置和查询。一个程序可以生成和使用任意数目的非默认Locale对象。

  让我们再来看一下Unicode字符编码。Java使用Unicode的字符编码,其本身就是迈向国际化的一大步。Unicode编码其每个字符都占两个字节。用\u****的形式表示。Unicode的字符可以等价于其他编码的字符(例如:从\u0020到\u007E的字符等价于ASCII和ISO8859-1字符的0x20到0x7E)。

  本文主要是对用户界面地方化,由于我使用的是资源束!所以有必要对资源束作一下解释。

  为定义一束地方化的资源,你需要生成一个ResourceBundle(资源束)的子类并且提供handleGetObject()和getKeys()方法的定义。为了在程序中使用来自ResourceBundle的地方化资源,就需要先调用静态的getBundle()方法,用getBundle()获得一个ResourceBundle对象,然后再用getObject()方法去按照名字来查找资源。当然也可以使用getString()简单的把getObject()的返回值分配给一个String对象。GetBundle()方法采用basename_language_country_variait----没找到的话->basename_language_country----没找到的话->basename_language----没找到的话->basename(默认资源文件)的算法寻找合适的资源。如果以上都没找到的话,则会抛出一个MissingResourceException异常。

转播到腾讯微博
填写您的邮件地址,订阅我们的精彩内容:
微博分享与邮件订阅:

    本文标题:Java用户界面本地化实例探索
    http://www.ltesting.net/ceshi/ceshijishu/bdhcs/2007/0622/66908.html
    (注:本文章只代表作者观点。部分文章内容来自于互联网,如您享有版权可直接联系我们。欢迎登陆领测软件测试论坛参与讨论)
    官方微博求关注:官方新浪微博 官方腾讯微博 官方QQ空间 官方博客 热门推荐订阅 填写您的邮件地址,订阅我们的精彩内容:

    软件测试视频

  • 讲解软件测试流程图
  • 讲解软件测试流程图

    软件测试整体过程 单元测试过程图 集成测试过程图 系统测试过程图 软件[详细]

  • 什么是黑盒,白盒,灰盒测试?
  • 什么是黑盒,白盒,灰盒测试?

    什么是黑盒测试? 黑盒测试一般方法? 什么是白盒测试? 什么是灰盒测试?[详细]

    社区精华

    qrcode

    二维码生成需要几秒~点击左键返回页面~!
    什么是二维码?


    _×
    推荐新闻