【发布时间】:2013-06-28 17:51:02
【问题描述】:
我想要一些这样的资源文件:
Mui.resx
Mui.fr.resx
Mui.es.resx
...
我希望能够在我的代码隐藏中做这样的事情:
Label1.Text = Mui.Hello;
在我的 aspx 中是这样的:
<%=Mui.Hello %>
有人知道怎么做吗?有可能吗?
【问题讨论】:
标签: asp.net localization resources
我想要一些这样的资源文件:
Mui.resx
Mui.fr.resx
Mui.es.resx
...
我希望能够在我的代码隐藏中做这样的事情:
Label1.Text = Mui.Hello;
在我的 aspx 中是这样的:
<%=Mui.Hello %>
有人知道怎么做吗?有可能吗?
【问题讨论】:
标签: asp.net localization resources
是的,这是可能的。您可以从File-New- Resource File 添加您的资源文件,您可以在那里添加他们自己的资源键及其值,无论是英语还是其他语言。,
检查这些 How to: Retrieve Resource Values Programmatically 和 ASP.NET Web Page Resources Overview
使用强类型检索全局资源
资源.类.资源
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,它将为您详细解释。
Edit-Web.Config 文化设置:
在<system.web> 下的web.config 中添加这个<globalization culture="auto" uiCulture="auto" enableClientBasedCulture="true"/>
如果您想在某些页面上使用它,请使用 <@Page> 指令的 Culture 和 UICulture 属性。
【讨论】:
<globalization culture="auto" uiCulture="auto" enableClientBasedCulture="true"/> <system.web>
【讨论】:
<%=Resources.Mui.Hello %> 只给我英文问候(我有多个文件 Mui.fr.resx , Mui.es.resx,我更改了浏览器语言)
我遇到了同样的问题,最后找到了解决方案。
在浏览器中,如果您选择浏览器语言法语 [fr] ASP 会加载资源。fr.resx
但是,如果您选择浏览器语言French (France)[fr-FR] ASP 会加载资源。fr-FR.resx
【讨论】: