我想要一个像这样的资源文件:
Mui.resx
Mui.fr.resx
Mui.es.resx
...
我希望能够在我的代码隐藏中做到这样的事情:
Label1.Text = Mui.Hello;
在我的aspx中是这样的:
<%=Mui.Hello %>
有谁知道怎么做?有可能吗?
答案 0 :(得分:5)
是的,这是可能的。您可以从File-New- Resource File
添加资源文件,然后您可以使用英语或其他语言添加自己的资源键及其值。
检查这些 How to: Retrieve Resource Values Programmatically和ASP.NET Web Page Resources Overview
使用强类型检索全局资源
Resources.Class.Resource
String welcome;
welcome = Resources.WebResources.WelcomeText;
但是如果您使用本地化 您是否查看了此MSDN资源:
Walkthrough: Using Resources for Localization with ASP.NET
请查看上面链接中的Explicit Localization with ASP.NET
部分。
示例:强>
label的text属性现在有一个显式表达式,说明从中检索资源的基本文件和要选择的键。
<asp:Label ID="Label2" Runat="server" Text="<%$ Resources:LocalizedText, Msg1 %>">
在您的页面上: 使用资源键的完整路径进行简单调用。
查看这篇精彩的文章 - Resources and Localization,它将为您解释更多相关信息。
编辑 - Web.Config文化设置:
加上这个
<globalization culture="auto" uiCulture="auto" enableClientBasedCulture="true"/>
<system.web>
如果您想在某些网页上使用,请使用<@Page>
指令的Culture
和UICulture
属性。
答案 1 :(得分:2)
答案 2 :(得分:1)
我遇到了同样的问题,最后发现了解决方案。
在浏览器中,如果您选择浏览器语言法语[fr] ,ASP会加载资源。 fr .resx
但是,如果您选择浏览器语言法语(法国)[fr-FR] ASP会加载资源。 fr-FR .resx