【问题标题】:localization in asp.net web forms with one global resource使用一种全球资源在 asp.net 网络表单中进行本地化
【发布时间】: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


    【解决方案1】:

    是的,这是可能的。您可以从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 文化设置:
    在&lt;system.web&gt; 下的web.config 中添加这个
    &lt;globalization culture="auto" uiCulture="auto" enableClientBasedCulture="true"/&gt;

    如果您想在某些页面上使用它,请使用 &lt;@Page&gt; 指令的 Culture 和 UICulture 属性。

    【讨论】:

    • 我这样做了,但由于某种原因只出现英文单词,更改浏览器中的语言不会影响任何内容
    • 演练:在 ASP.NET 中使用资源进行本地化 - 检查答案中的此链接.. 并创建名为 langText 和 engText 的键,然后将 langText 设置为一些翻译的 engText 值另一种语言.. 一些符号值将存储在资源键的值中......现在使用 CultureInfo 类手动检查浏览器是什么文化......并手动设置控件文本的值。
    • 我必须在 web.config 中添加 &lt;globalization culture="auto" uiCulture="auto" enableClientBasedCulture="true"/&gt; &lt;system.web&gt;
    • 哦..我忘了写这个..你也可以在单页上设置它
    【解决方案2】:

    添加Resources namespace。

    Label1.Text = Resources.Mui.Hello;
    

    和

    <%=Resources.Mui.Hello %>
    

    【讨论】:

    • &lt;%=Resources.Mui.Hello %&gt; 只给我英文问候(我有多个文件 Mui.fr.resx , Mui.es.resx,我更改了浏览器语言)
    【解决方案3】:

    我遇到了同样的问题,最后找到了解决方案。

    在浏览器中,如果您选择浏览器语言法语 [fr] ASP 会加载资源。fr.resx

    但是,如果您选择浏览器语言French (France)[fr-FR] ASP 会加载资源。fr-FR.resx

    【讨论】:

    • 奇怪的是,在那之后当我返回将浏览器语言设置为法语(法国)[fr-FR] ASP 加载“resource.fr.resx”文件。我认为这可能是浏览器的问题。无论如何,为了确保应用程序运行良好,最好复制资源文件“resource.fr.resx”和“resource.fr-FR.resx”。
    猜你喜欢
    • 1970-01-01
    • 2018-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    相关资源
    最近更新 更多