收藏 分享(赏)

24、软件本地化.ppt

上传人:天天快乐 文档编号:1225155 上传时间:2018-06-19 格式:PPT 页数:34 大小:298.50KB
下载 相关 举报
24、软件本地化.ppt_第1页
第1页 / 共34页
24、软件本地化.ppt_第2页
第2页 / 共34页
24、软件本地化.ppt_第3页
第3页 / 共34页
24、软件本地化.ppt_第4页
第4页 / 共34页
24、软件本地化.ppt_第5页
第5页 / 共34页
点击查看更多>>
资源描述

1、中关村国际软件人才教育联盟 第二十三讲 软件本地化 中关村国际软件人才教育联盟 2 目标 软件本地化的概念 Locale对象 数字与货币 日期与时间 文本 资源包 图形用户界面的本地化 中关村国际软件人才教育联盟 3 软件本地化 应用程序能够根据使用它的用户所在的国家和所使用的语言,提供符合他们习惯的表现方式 软件本地化包括以下几个内容: 数字与货币的本地化 日期与时间的本地化 文本的本地化 图形用户界面的本地化 资源包 中关村国际软件人才教育联盟 4 Locale 4-1 在 Java程序中,软件本地化离不开 Locale对象的支持 Locale对象可以用来描述下面几个元素: 语言 国家 变

2、形(可选) 例如: 在美国,使用的 locale为:语言英语,国家美国 在中国,使用的 locale为:语言汉语,国家中国 为什么要区分语言和国家? 因为一个国家可能有多种官方语言。比如瑞典就有 4种 中关村国际软件人才教育联盟 5 Locale 4-2 如何以标准化的方式来表示语言和地点? 使用国际标准化组织( ISO)定义的语言和国家编码 常用语言和国家编码如下(注意大小写): 语言 编码 Chinese zh English en Japanese ja Korean ko 国家 编码 China CN United States US Japan JP Korea KR ISO-639

3、语言编码 ISO-3166国家编码 中关村国际软件人才教育联盟 6 Locale 4-3 建立一个 Locale对象:将语言、国家编码作为参数传递给 Locale类的构造函数: Locale usEnglish=new Locale(“en”,”US”); 或者只给定语言而不给定国家: Locale jap=new Locale(“ja”,”); 这种类型的 Locale只能用来查找相关的语言,不能用来确定当地的货币和日期的格式化方式 为了方便, JDK预定义了许多 Locale对象。如: Local.CHINA Local.JAPAN Local.US Local.KOREA JDK也预定义

4、了一些语言 Locale对象。如: Local.CHINESE Local.JAPANESE Local. KOREAN Local.ENGLISH 中关村国际软件人才教育联盟 7 Locale 4-4 用 Locale对象来做什么? 它本身并没有太大的作用。需要它的真正原因是:要把它提供给能够使用 locale的方法 例如: String类 toLowerCase方法和toUpperCase方法可以接受一个类型为 Locale的参数,因为对于不同的 locale来说,形成大写字母的规则也不相同 Locale类中有一个 getDisplayName方法,可以返回一个用于描述 locale的字符

5、串: Locale loc=new Locale(“de”,”CH”); System.out.println(loc. getDisplayName(Locale.GERMAN); 输出结果为: Deutsch (Schweiz) 中关村国际软件人才教育联盟 8 数字与货币 2-1 数字与货币的格式化与 locale是息息相关的。你可使用下面的步骤,对特定 locale的数字进行格式化: 首先获得一个特定的 locale对象 使用一个工厂方法获得一个格式化器对象 用格式化器对象对数字进行格式化 工厂方法是 “ 格式化器 ” java.text.NumberFormat类的静态方法,带有一个

6、Locale类型的参数。工厂方法共有 3个: getNumberInstance /返回的对象能够对数字进行格式化 getCurrencyInstance /返回的对象能够对货币量进行格式化 getPercentInstance /返回的对象能够对百分比进行格式化 NumberFormat类的静态方法 getAvailableLocales可以返回一个系统当前支持的 locale的数组 中关村国际软件人才教育联盟 9 数字与货币 2-2 对德语中的货币值进行格式化的例子: Locale loc=new Locale(“de”,”DE”); NumberFormat currFmt= Numbe

7、rFormat. getCurrencyInstance(loc); double amt=123456.78; System.out.println(currFmt.fromat(amt); 输出结果: 123.456,78 DM /它的货币符号是 DM 如果你想读取一个按照某个 locale的约定输入的数字,使用 parse方法,该方法自动使用默认的 locale: TextField inField; NumberFormat fmt= NumberFormat. getNumberInstance(); Number input=fmt. parse(inField.getText().trim(); double x=input. doubleValue(); 中关村国际软件人才教育联盟 10 数字本地化示例 程序代码详见 NumberFormatTest.java,程序输出结果如下:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报