• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

[转]C#CultureInfo和CultureUIInfo的区别.

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
 今天网上搜索了一下CultureInfo 和CultureUIInfo的区别. 发现这个原来也不是那么简单.大有来头的.简单的说说我们应用程序中的语言翻译吧.有几个概念先要了解一下:全球化,本地化

 

全球化:简单说就是你开发的应用程序能够跨越多个文化地区使用,而不必顾虑语言和地区的差别.就是说我的程序在中国以中文的形势显示,到了俄国能以俄文的形势显示.

本地化:使用一种本地特有的文化和语言显示创建,存储,输入,输出数据的内容的过程.文化影响日期的显示格式(如显示mm/dd/yyyy还是dd/mm/yyyy),货币显示格式.

 

 世界分为若干个文化和区域.文化是基于语言和文化习惯的一组特性.语言与文化相互依赖,相互影响,语言是文化的重要载体.分别用于表示澳大利亚、加拿大、英国和美国的英语。一个区域有多种语言像(中国, 台@@湾 ,香港这个区域

,说的都是中文,但是有(zh-CHS(简体中文),zh-TW( 台@@湾 中文),zh-HK(香港中文)),一种语言也可以在多个

区域使用,像(墨西哥,西班牙,阿根廷,秘鲁都说西班牙语).

本地化是通过(语言+地理位置)实现的.

例如:fr是法语语言的代码,而fr-FR意味着是法国使用的语言.因此fr仅仅是指定的语言,而fr-FR才实现了本地化.同样fr-CA带表加拿大法语的本地化.如果我们仅仅使用fr它仅代表一种中立性的文化.

现在要区别这三个名次的区别:特定文化,中立文化,不变的文化

 

特定文化:在引用上面的例子fr-FR和fr-CA就是特定的文化,分别代表法国法语和加拿大法语. 如果只有fr表示法语.是一种中立的文化.

有时候应用程序不必为每个特定文化翻译,如果法国和加拿大说的法语没有太大区别的话,可以使用中立的文化本地化应用程序.

而不需要特定的文化.

 

不变的文化(Invaraint Culturre):固定区域性不区分区域性。应用程序可通过语言标识符或使用空字符串 ("") 的名称来指定固定区域性。InvariantCulture 用于检索固定区域性的实例。它与英语语言关联,但不与任何国家/地区关联。Globalization 命名空间中需要设置区域性的几乎所有方法都使用固定区域性。这个是我从msdn上抄来的.

 

     

显示了文化类型的相互关系。

 

 

 

  

CurrentCulture和CurrentUICulture

设置文化时必须区分用户界面的文化和数字及日期格式的文化。文化与线程相关,

有了这两种文化类型,就可以把两个文化设置应用于线程。用线程设置文化时,

Thread 类提供了属性 CurrentCulture CurrentUICulture 。属性 CurrentCulture

用于设置与格式化和排序选项一起使用的文化,而属性 CurrentUICulture 用于设置用户界面的语言。

使用 Windows 控制面板中的“区域和语言”选项,用户就可以改变 CurrentCulture 的默认设置,

如图 17-3 所示。使用这个配置,还可以改变文化的默认数字、时间和日期格式。

CurrentUICulture 不依赖于这个配置,而依赖于操作系统的语言。

这有一个例外:如果 Windows XP Windows 2000 安装了多语言用户

界面 (Muti-language User Interface, MUI) ,就可以用区域配置改变用户界面的语言,

这会影响 CurrentUICulture 属性。

Resources.zh-CHS.resx ,注意到新的名称新增加的部分必须是文化


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#扩展方法发布时间:2022-07-13
下一篇:
C#判断ContextMenuStrip右键菜单的来源(从哪个控件弹出来的)发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap