CLR 全面透彻解析:国际应用程序
2008-12-01 11:52:36 来源:WEB开发网文化信息通常会发生改变。某个国家/地区可能会采用欧元、更改时区或添加其他日期格式。所以即使您指定了某种文化,数据仍可能随着不同的使用场合发生变更。请记住,全球化信息仅用于显示。如果您需要将数据存储为字符串,CultureInfo 的 InvariantCulture 属性是一个不错的选择。
CLR 本地化
如果您打算将您的应用程序本地化为多种语言,具体该怎么办?此过程可能涉及 System.Globalization 中处理的所有数据显示功能,以及应用程序各个部件的翻译。您可能还打算针对不同的文化显示不同的图像。为此,您可以制作应用程序的多个副本,每个都对应一种产品的本地化目标语言。
但这种方法的效率会很低。幸运的是,Framework 提供了一种方法,它可以通过 System.Resources 命名空间中的某些类来提取这些可本地化的资源。用于创建、读取和使用这些资源的主类分别是 ResourceWriter、ResourceReader 和 ResourceManager。
ResourceWriter 类允许您以名称和值对的形式存储资源。当您创建 ResourceWriter 的实例时,它是用于特定的文件。这些文件的命名约定为 [basename].[culturename].resources。"Basename" 用于组织您的资源,它是应用程序或类的名称。您可以使用 CultureInfo.Name 属性来查找文化名称。
例如,示例应用程序 MySampleApplication 的美国英语资源将被放在文件 "MySampleApplication.en-US.resources" 中。此外,应用程序应有一个默认资源文件,用于名为 [basename].resources 的中性文化。通常最好将资源文件打包到附属程序集中,以便能够独立于主程序集来制定本地化数据的版本。但是,最好在主程序集中始终都包括一组资源和中性资源,以便在查找资源时至少能找到一组。
更多精彩
赞助商链接