使用一个全局资源在asp.net Web表单中进行本地化

Omu*_*Omu 2 asp.net resources localization

我想要一个像这样的资源文件:

Mui.resx
Mui.fr.resx
Mui.es.resx
...
Run Code Online (Sandbox Code Playgroud)

我希望能够在我的代码隐藏中做到这样的事情:

Label1.Text = Mui.Hello;
Run Code Online (Sandbox Code Playgroud)

在我的aspx中是这样的:

<%=Mui.Hello %>
Run Code Online (Sandbox Code Playgroud)

谁知道怎么做?可能吗 ?

Nir*_*ngh 5

对的,这是可能的.您可以从中添加资源文件,File-New- Resource File 您可以在其中添加自己的资源键及其值,您可以使用英语或其他语言.

请查看以下 如何:以编程方式检索资源值ASP.NET网页资源概述

使用强类型检索全局资源

  • 使用以下语法获取资源:

    Resources.Class.Resource

例:

String welcome;
welcome = Resources.WebResources.WelcomeText;
Run Code Online (Sandbox Code Playgroud)

但是,如果您使用本地化,请检查此MSDN资源:
演练:使用资源进行ASP.NET本地化

请查看Explicit Localization with ASP.NET上面链接中的部分.

例:

label的text属性现在有一个显式表达式,表明从中检索资源的基本文件和要选择的键.

<asp:Label ID="Label2" Runat="server" Text="<%$ Resources:LocalizedText, Msg1 %>">
Run Code Online (Sandbox Code Playgroud)

在您的页面上:使用资源键的完整路径进行简单调用.

查看这篇很棒的文章 - 资源和本地化 ,它将向您解释更多相关信息.

Edit- Web.Config文化设置: 在web.config下
添加
<globalization culture="auto" uiCulture="auto" enableClientBasedCulture="true"/><system.web>

如果你想在某些页面上使用它,那么使用<@Page>指令CultureUICulture属性.