导读:
ASP.NET 2.0 中的资源文件 由于在默认情况下,Visual Studio 2005 不使用项目来管理 ASP.NET 2.0 网站,所以将不会存在项目级别的资源文件,就像 Windows Forms 应用程序或类库 DLL 中那样。相反,您必须显式创建资源文件并将其添加到您的网站。而且,您还必须使用随 ASP.NET 2.0 引入的特殊文件夹:包含全局资源的资源文件应被添加到 App_GlobalResources 文件夹,而特定于某个文件的本地资源则应被添加到 App_LocalResources 文件夹。全局资源就是那些来自于页面及其他文件(如站点图)、可以在站点范围基础上使用的资源。支持本地资源的 ASP.NET 文件类型包含页(.aspx 文件)、母版页(.master 文件)和用户控件(.ascx 文件)。
不同于 ASP.NET 2.0 的另一点是,您不必像在开发国际化的 Windows Forms 应用程序时那样提前编译资源。相反,ASP.NET 运行时会准时将全局和本地资源文件编译到 DLL 中,就像 .aspx 文件那样。这是一种强大的功能,因为公司只需将 .resx 文件 XCOPY 到一个 Web 生产服务器上,即可为新语言添加本地化支持。
让我们在使用 Visual Studio 2005 的 ASP.NET 2.0 站点中,来完成一个创建和使用全局资源文件的示例。您可以先选择 Add New Item(添加新项)命令,然后再选择 Resource File(资源文件),来创建一个新的全局资源文件。
当您单击 Add(添加)按钮创建一个新的全局资源文件时,Visual Studio 2005 会用一个对话框对您进行提示,建议您将新的资源文件放置在 App_GlobalResources 目录内。单击 Yes(是)。如果您将其置于他处,则 ASP.NET 便不会将资源文件自动编译到 DLL 中。
在 ASP.NET 中使用资源文件与在 Windows Forms 应用程序中相同。首先创建一个资源文件,其字符串文字已本地化为默认区域性设置。在我们的示例网站中,有一个用于该目的的全局资源文件,该文件的名称为 Litware.resx,如图 4 所示。在您添加了所有采用默认区域性设置的指定字符串后,即可复制该资源文件并将其重命名,例如重命名为 Litware.fr.resx 以提供法语的本地化字符串。您还可以复制该法语资源文件并将其重命名为 Litware.fr-BE.resx,以维护已局部本地化为比利时法语的字符串。