CurrentCulture 与 CurrentUICulture

这两个都是对应Windows系统的设置。

CurrentCulture和数字、时间日期等的格式化相关,和字符串比较、排序、大小写转换相关。属于软件国际化(Globalization)。

CurrentUICulture用于选择界面语言,和界面语言的翻译相关。属于软件本地化(Localization)。

两者经常值相同,但也可不同。比如,可以用英文版WIndows系统,CurrentUICulture就是en-US,但在区域和语言里选中国的格式,CurrentCulture就是zh-CN。


对于WPF,其Xaml界面总是缺省使用en-US,而忽略CurrentUICulture。原因来自WinForm的教训。本来.NET从一开始就采用了从底层开始的完全自动的国际化支持,以便方便开发者,但多数开发者完全忽视全球化的问题,而完全假定数字、时间日期、字符串顺序等总是一样的,结果常常导致在别的语言的环境下运行出错。所以,WPF中的本地化改为选择开启,而非缺省开启。若要开启,需在程序启动时、加载任何界面前,设置期望的界面语言:

                    FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement),
                        new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));

当然,这么做时一定要在不同Culture配置下测试一下。

更多细节参见:http://blogs.msdn.com/b/michkap/archive/2007/01/11/1449754.aspx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值