.NET 应用程序的全球化、本地化与部署
1. 本地化基础
1.1 卫星程序集的生成
编译项目时会为每种语言创建卫星程序集。在调试目录(或发布目录,取决于当前配置)中,会创建如 de
和 fr
这样的语言子目录。在这些子目录中,会有 LocalizationDemo.resources.dll
文件,这是只包含本地化资源的卫星程序集。使用 ildasm
打开该程序集,能看到包含嵌入式资源和定义区域设置的清单。
1.2 外包翻译
使用资源文件外包翻译很容易,翻译资源文件时无需安装 Visual Studio .NET,简单的 XML 编辑器即可。不过,使用 XML 编辑器无法重新排列 Windows 窗体元素或更改大小,使用 Windows 窗体设计器进行翻译是更好的选择。Microsoft 提供的 winres.exe
工具能满足这些需求,使用该工具的用户无需访问 C# 源文件,只需二进制或基于 XML 的资源文件进行翻译,完成后可将资源文件导入 Visual Studio .NET 项目以构建卫星程序集。
1.3 以编程方式更改文化
翻译资源并构建卫星程序集后,会根据用户配置的文化获得正确翻译,但欢迎消息还未翻译。为了测试,可以将语言代码作为命令行参数传递给应用程序。需要修改 Main()
方法和 BookOfTheDayForm
构造函数以支持命令行参数。