动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息



本月文章推荐
.选择合适的JDBC驱动程序.
.学习Java基础知识:需求.
.在组件上显示图象.
.Java Learning Path(四) 方法篇.
.Java嵌入式开发之j2me--四.
.用 Validator 简化 Struts 的开发.
.Struts的异常处理机制.
.详解超过255台电脑的内网IP规划.
.开源技术 Eclipse使用技巧.
.tomcat5中文问题解决之道.
.关于Java的Classpath详解.
.instanceof 运算符.
.新手入门:Java语言完成UDP协议编.
.replace 方法.
.java设计模式之 Proxy(代理).
.Why Java can be used for games?.
.用 Java 保存位图文件(转).
.Java游戏起步:(二)图形基础和.
.Thinking in Java (the 2nd edit.
.J2SE综合 使用条件运算符的阵痛.

用.NET的System.Globalization来创建多语言应用程序

发表日期:2008-1-5 |



  假如你计划在你的应用程序中包括对使用各种语言的用户的支持,那么开发它的代价不会比开发只支持英语的版本要高很多。但是假如你需要翻新一个已有应用程序,那么其代价和重新开发它差不了多少。
  
  .NET框架在它的System.Globalization名字空间中提供了对全球化(globalization,指得是支持多种语言)的支持,这样你就可以在你的应用程序中实现多语种支持了。这个名字空间包括了若干类,用来处理许多重要的全球化问题,如文明识别字符串比较、日期和时间格式、数字格式和支持阳历和其它历法的日历。你首先需要知道的一个要害的类就是CultureInfo类。(译者注:这里的文明即culture,主要指得是语种,也包括记录时间日期的习惯等等)
  
  
  使用CultureInfo类
  
  CultureInfo类提供了文明参数选择的支持以及可以在每个线程(per-thread)基础上的控制。CurrentCulture合适的处数据和数字格式、字符串比较和大小写。CurrentUICulture属性由开发者来设置,CLR用它来为用户界面装载适当的资源。你可以用CultureInfo类来为当前线程设置CurrentCulture和CurrentUICulture,如下所示:
  Thread.CurrentThread.CurrentUICulture = new CultureInfo("ja")
  Thread.CurrentThread.CurrentCulture = new CultureInfo("ja-JP")
  
  还有一些API函数可以用CultureInfo类来控制输出:
  Str = DateTime.Now.ToString(cultureInfo);
  
  所有与文明有关的(culture-aware)类都是默认为文明敏感的(culture-sensitive),因此你只要简单的设置当前线程的文明就可以自动给System.Globalization名字空间中的类(如CompareInfo、StringInfo和Calendar)以及核心系统类(如Resources、DataTime和String)提供针对特定文明的支持。
  
  为了可以支持更多的文明种数,你还需要在你的应用程序中全部使用符合统一字符编码标准的字符串(Unicode string)。尽管.NET框架提供了对Unicode字符串的完全支持,不过你仍需要在编写代码的时候意识到所有的字符串都写成Unicode格式。而且你还需要清楚许多依靠操作系统的操作(包括对文件系统的访问和某些控制)并不支持Unicode格式的字符串,因此你还必须在执行这些操作之前进行显式格式转换。
  
  规划本地化
  
  全球化将某些要害的数据以我们熟悉的国际通用(international)格式保存,但是假如你希望让你的用户得到专门为他们的文明而开发的应用程序,你就需要本地化你的应用程序。本地化包括了为特定文明创建特定资源然后再写你的应用程序,这样它针对程序所设定或者检测出来的某种文明而装载合适的资源。让我们具体看看资源模型。
  资源模型
  
  
  .NET框架的资源模型包括了对任何可串行化对象(serializable object)的支持,它还可以扩展以支持新的格式。这就意味着除了提示符、标签以及其它用户界面元素上的针对特定文明的字符串之外,你还可以把声音、图像和其它二进制数据当作资源使用。Asp.Net(包括.NET Compact Framwork,它在设备的运行时间和内存的大小上有限制)和Windows Form支持该资源模型。
  
  为了本地化应用程序,你需要识别特定文明资源(你需要用它们来展开程序),然后把它们放置到一个资源文件中。简单的应用程序只需要字符串资源(字符串中保存“名字——值”对),你可以创建特定文明的文本文件。尽管自己演示一番很有趣,但你应该用微软ResX格式来创建资源文件。Visual Studio中有一个工具支持创建.resx文件(它包括了用XML格式对资源的描述)和.resources文件(它包括了二进制已编译文件)。你即可以把这些文件随同你的程序一同发布,也可以把它们编译到一个附属汇编(satellite assembly)中去。
  
  在命名和保存你的资源文件时,你应该保持一致性。微软建议在命名.resources文件时,文件名应该嵌入文明名(例如,..resources),一个资源文件对应于你支持的一种文明。附属资源汇编应该以项目名称命名(如,.resources.dll),然后把它们放到不同的子目录下(每个子目录对应一种文明)。
  
  
  
  在运行时使用资源文件
  
  一旦创立了资源文件,你就可以用资源治理器(resource manager)来在运行时载入字符串和对象。资源即可以根据CurrentThread中的CurrentUICulture设置来载入(例如:RM.GetObject("Button1.Cursor")),你也可以在载入某个资源时指明文明(例如:RM.GetString("mystring", new CultureInfo("en-NZ"))。
  
  ASP.NET、.NET Compact Framework以及Windows Forms应用程序中都有资源治理器。而且Windows Forms引擎提供了额外的本地化支持。每个form都有一个可以设置的本地化属性。当设置为“真”时,项目系统会自动跟踪form的不同语言版本并把不同语言的form编译到附属汇编中去。
  
  只要你在你的原设计中考虑到本地化,那么建立international应用程序并不建立支持单一文明的应用程序难很多。在建议一个假定只支持英语用户界面的应用程序之前,.NET体系应该询问针对其它文明所期望提供支持的特定问题。

上一篇:架构设计师(Architect)的专业与角色 人气:496
下一篇:.NET应用程序的授权模型使系统更易管理 人气:304
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-5 360安全卫士 V4.2.0.1004
2008-7-5 PHPDug v2.0 多国语言版
2008-7-5 乘风电影程序 v3.69 (SQL)
2008-7-5 乘风电影程序 v3.69
2008-7-5 wfTextImage文字图像组件 v1.5
2008-7-5 ZY music! v1.1.0705
2008-7-5 FavShop网店系统 v1.0
2008-7-4 天空网络电影系统SKYUC v2.5.1 B
2008-7-4 Drupal v7.x-dev Build 080704
2008-7-5 AgileMessenger即时通讯工具 v1.
2008-7-5 GoodCalculator2.0版固件计算器
2008-7-5 RepoName源地址搜索工具 v1.21b
2008-7-5 AgileMessenger即时通讯工具 v1.
2008-7-5 TouchCopy多媒体管理软件 v3.13完
2008-7-5 VideosTone视频铃声 v1.1汉化破解
2008-7-5 TouchPad触摸板 v4.44破解版
2008-7-5 VideosTone破解补丁 v1.0
2008-7-5 Feeds GoogleReader客户端 v0.4.3


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報