CLR 全面透彻解析:国际应用程序
2008-12-01 11:52:36 来源:WEB开发网本专栏基于 Silverlight 的预发布版。文中的所有信息均有可能发生变更。
目录
CLR 本地化
使用文本
Silverlight 全球化
大多数程序都会向用户呈现某种类型的数据。很明显,Windows Presentation Foundation (WPF) 或 Windows 窗体应用程序等具有 GUI 的应用程序已被设计为可以向用户提供信息。当然,简单的控制台应用程序也可以显示文本。全球化过程力图确保您的应用程序可以处理来自不同文化的数据。它可能会非常简单,如确保您的日历标题足够宽以便能够处理夏威夷月份名称,或者使用您的用户所期望的负数格式。
全球化不同于本地化,后者实际上是将应用程序的资源翻译为不同的语言。即使只使用一种语言,您的应用程序也需要考虑全球化问题。
下面的示例展示了这些变化是如何产生的(甚至是在尚未翻译的应用程序中)。某些类型的数据(例如日期)可通过多种方式进行格式化。图 1 只列出了几种在月份和星期几中使用英文名称的格式。所有条目都代表相同的数据段。但是如果用户对日期格式有特定的预期,他们可以通过控制面板中的设置来指明其个人喜好。因此,如果您的程序调用 DateTime.Now.ToString,则可能会返回许多字符串。如果您尚未指定格式,ToString 会自动根据用户的个人喜好进行选择。
图 1 某些日期格式
您必须知道字符串的各个部分都代表什么,否则日期字符串 "1/2/03" 毫无意义。您会认为了解格式字符串会有助于您解释数据的含义。但即使这样也不能说万无一失。并非所有人都使用相同的历法。实际上,System.Globalization 命名空间当前支持 15 种不同的历法。因此将字符串 "6/26/1980" 解释为 "M/d/yy" 可能在公历和儒略历中代表不同的日期。(有很多网站可以将日期转换为多种历法。)
更多精彩
赞助商链接