介绍基于 .NET Framework 的国际应用程序
在 Visual Studio 中,创建国际化应用程序的工作可分为两个部分:全球化,即设计可适合不同区域性的应用程序的过程;本地化,即翻译为特定区域性的资源的过程。有关为国际用户设计应用程序的常规信息,请参见 开发全球通用应用程序的最佳做法。
.NET Framework 本地化模型由主程序集组成,主程序集包含应用程序代码和后备资源,即字符串、图像和最初开发应用程序时所用语言的其他对象。每个已本地化应用程序都将具有附属程序集或仅包含已本地化资源的程序集。因为主程序集始终包含回退资源,所以如果在已本地化的附属程序集中没有找到资源,则 ResourceManager 将尝试以分层方式加载资源,最终回退到主程序集中的资源。用于本地化的资源的分层组织 中对资源回退系统进行了更详细的说明。
应考虑使用的一个资源是所有 Microsoft 本地化产品的词汇表。此 CSV 文件包含 12,000 多个英语术语,以及这些术语的多达 59 种不同语言的译文。可从 Microsoft Terminology Translations(Microsoft 术语翻译)网页下载词汇表。
Windows 窗体应用程序的项目系统可为后备和每个所需的附加 UI 区域性生成资源文件。后备资源文件生成到主程序集中,而特定于区域性的资源文件则生成到附属程序集,每种 UI 区域性一个附属程序集。当生成项目时,资源文件从 Visual Studio XML 格式 (.resX) 编译为中间二进制格式 (.resources),然后将该二进制文件嵌入附属程序集中。
Windows 窗体和 Web 窗体的项目系统都允许使用“程序集资源文件”模板生成资源文件、访问资源和生成项目。附属程序集将随主程序集一起创建。
在已本地化的应用程序执行时,其外观由两个区域性值确定。(“区域性”是一组与用户的语言、环境和区域性约定相关的用户首选项信息。)UI 区域性设置确定将加载哪些资源。UI 区域性在 Web.config 文件和页指令中设置为 UICulture,而在 Visual Basic 或 Visual C# 代码中则设置为 CurrentUICulture。区域性设置确定诸如日期、数字和货币等的值的格式设置。区域性在 Web.config 文件和页指令中设置为 Culture,而在 Visual Basic 或 Visual C# 代码中则设置为 CurrentCulture。