随着移动互联网的发展,各国之间的交流变得更加频繁,向你的应用程序添加多语言支持已经成为一个必须的功能。如果你的应用程序没有提供多种语言,那么你将无法面对全球市场的竞争。在 .NET Framework 中,一个用来管理多语言资源文件的框架就是 resx。在本文中,我们将介绍如何使用 resx 管理多语言资源文件。
一、什么是 resx
resx 是 .NET Framework 中的一个内置工具,它可以让你轻松地创建多语言资源文件。resx 文件是一个 XML 文件,它包含了应用程序中使用的所有资源,例如字符串、图片等。每个语言都有其自己的 resx 文件,以便实现多语言支持。编写应用程序时,可以使用 resx 文件中的对应字符串或图片来进行显示或者操作。
二、开始创建 resx 文件
首先,我们需要准备好 Visual Studio 2017。在 Visual Studio 新建一个项目,选择 Blank Web Application,并给它命名为“WebApplication1”。
在解决方案资源管理器中,右键单击项目名称“WebApplication1”并选择 Add > New Item,从左侧菜单中选择 Resource File,并以“Resource.resx”命名。 将样本项目的 Resource1.resx 文件重命名为 Resource.resx。
这一步将会创建一个 Resource.resx 文件,如下图所示:
此处添加两个资源,一个命名为“AppName”,另一个命名为“WelcomeMsg”。
三、创建 resx 对应语言文件
现在,我们需要创建我们的第一个语言文件。在解决方案资源管理器中,右键单击 Resource.resx 并选择“Add a New Resource”。
然后,在弹出的“Add Resource”对话框中选择“New File”,如下图所示:
在弹出的“New File”对话框中,输入“zh-CN”并选择“Text File”或“XML File”,如下图所示:
这里我们选择“Text File”来做演示。在新创建的 zh-CN.resx 中,可以输入语言文件所对应的所有字符串值。例如:
将“AppName”改为“我的应用程序”,将“WelcomeMsg”改为“欢迎使用我的应用程序”。
现在我们已经创建了一种语言版本的应用程序,我们可以在完成之后添加和不断改进其他语言版本。在 Visual Studio 中,新的语言版本可以像这样添加进来。
四、从资源文件中获取文本
现在,我们来编写一些代码,从资源文件中获取文本。在 Solution Explorer 中,右键单击“WebApplication1”并选择“Add a New Item”。从“Visual C#”中选择“Web”并选择“Web Form”。
将新创建的 web 表单命名为 Default.aspx,并将其设计为下面的样子:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1.Default" %>