如何:为 ASP.NET 网站创建资源文件 (Visual Studio)
更新:2007 年 11 月
“资源文件”是可以包含字符串和其他资源(如图像文件的路径)的 XML 文件。资源文件通常用于存储必须翻译为其他语言的用户界面字符串。这是因为,对于网站要翻译为的每种语言,您都可以为它创建一个单独的资源文件。
全局资源文件可用于网站中的任何页面和组件。局部资源文件与单个网页、用户控件或母版页相关联,只包含用于该页面的资源。有关更多信息,请参见 ASP.NET 网页资源概述。
在 Visual Web Developer 中,可以使用托管资源编辑器来创建全局或局部资源文件。对于局部资源文件,您还可以在设计器中直接从网页生成非特定区域性的基资源文件。
手动创建资源
手动创建资源文件
通过执行以下操作之一,确保网站上有用于存储资源文件的文件夹:
如果要创建全局资源文件,则必须有名为 App_GlobalResources 的文件夹。若要创建该文件夹,请在“解决方案资源管理器”中右击网站的名称,然后单击**“添加文件夹”,再单击“App_GlobalResources 文件夹”**。应用程序中只能有一个这样的文件夹,且它必须位于应用程序的根目录下。
如果要创建局部资源文件,则必须有名为 App_LocalResources 的文件夹。若要创建该文件夹,请在“解决方案资源管理器”中右击网站的名称,然后单击**“添加文件夹”,再单击“App_LocalResources 文件夹”**。应用程序中可以有多个这样的文件夹,且它们可以位于应用程序中的任意一级目录中。
若要创建资源文件,请右击 App_GlobalResources 或 App_LocalResources 文件夹,然后单击**“添加新项”**。
说明: 全局资源文件必须在 App_GlobalResources 文件夹中。如果您尝试在文件夹之外创建 .resx 文件,则 Visual Web Developer 将提示您应在此文件夹内创建它。
在**“添加新项”对话框中的“Visual Studio 已安装的模板”下,单击“程序集资源文件”**。
在**“名称”框中,键入资源文件的名称,然后单击“添加”**。
Visual Web Developer 在托管资源编辑器中打开该文件。该编辑器显示一个网格,您可以在其中输入名称(键)、值和可选注释。
为应用程序中所需要的每个资源键入键名和值,然后保存文件。
说明: 不要尝试直接将图形嵌入到资源文件中,因为控件不会将资源字符串读取为流图像文件。资源文件通过将图形的 URL 存储为字符串来表示图形。
若要创建其他语言的资源文件,请在“解决方案资源管理器”或 Windows 资源管理器中复制该文件,然后按照以下模式之一重命名它:
对于全局资源文件:
名称.语言.resx
名称.语言-区域性.resx
对于局部资源文件:
页面或控件名称.扩展名.语言.resx
页面或控件名称.扩展名.语言-区域性.resx
例如,如果创建名为 WebResources.resx 的全局资源文件,且该文件将翻译为埃及阿拉伯语,则请将复制的文件命名为 WebResources.ar-eg.resx。若要创建将翻译为西班牙语而又不指定区域性的相关资源文件,请将复制的文件命名为 WebResources.es.resx。请注意,对于局部资源文件,资源文件名是页或控件的名称(包括文件扩展名),后面是语言和区域性信息。
打开文件并翻译所有值,并保持名称(键)不变。
对于要使用的每种其他语言,重复步骤 6 和 7。
从网页创建资源
下面的功能在 Visual Web Developer 速成版中不可用。
从 ASP.NET 网页生成局部资源文件
打开要创建资源文件的页。
切换到“设计”视图。
在**“工具”菜单中,单击“生成局部资源”**。
如果 App_LocalResources 文件夹不存在,则 Visual Web Developer 将创建该文件夹。然后,Visual Web Developer 创建当前页面的非特定区域性的基资源文件,对于每个需要进行本地化的控件属性或页属性,该文件都包含相对应的键/名称对。最后,Visual Web Developer 向所有 ASP.NET Web 服务器控件添加 meta 属性,将这些控件配置为使用隐式本地化功能。有关隐式本地化和显式本地化的更多信息,请参见 ASP.NET 网页资源概述和如何:在 Web 服务器控件中使用资源来设置属性值 (Visual Studio)。
为应用程序中所需要的每个资源键入值,然后保存该文件。
说明: 不要尝试直接将图形嵌入到资源文件中,因为控件不会将资源字符串读取为流图像文件。资源文件通过将图形的 URL 存储为字符串来表示图形。
如果未显示最新的资源更改,请切换到“源”视图,然后切换回“设计”视图,从而刷新“设计”视图。
按照上一过程中的步骤 6 和步骤 7 创建其他语言的资源文件。
在 Visual Web Developer 中生成全局资源文件
在解决方案资源管理器中,右击该网站的名称,再单击**“添加新项”,然后单击“资源文件”**。
Visual Web Developer 将询问您是否要将该文件放在 App_GlobalResources 文件夹中,并提议创建该文件夹。
单击**“是”**。
为应用程序中所需要的每个资源键入值,然后保存该文件。
说明: 不要尝试直接将图形嵌入到资源文件中,因为控件不会将资源字符串读取为流图像文件。资源文件通过将图形的 URL 存储为字符串来表示图形。
如果未显示最新的资源更改,请切换到“源”视图,然后切换回“设计”视图,从而刷新“设计”视图。
若要创建其他语言的资源文件,请在“解决方案资源管理器”或 Windows 资源管理器中复制该文件,然后按照以下模式之一重命名它:
名称.语言.resx
名称.语言-区域性.resx
说明: 命名资源文件时,请勿在名称中包含 .aspx,否则会导致命名冲突。例如,Resource 文件夹中不能包含两个具有类似于 resTestPage.resx 和 resTestPage.aspx.resx 的名称的文件。如果出现这种情况,则在编译过程中解析文件名时将产生命名冲突,从而导致出现编译时错误。
请参见
任务
如何:在 Web 服务器控件中使用资源来设置属性值 (Visual Studio)