gpt4 book ai didi

asp.net - 如何在 ASP.NET 中本地化 App_GlobalResources?

转载 作者:行者123 更新时间:2023-12-01 01:21:02 26 4
gpt4 key购买 nike

我有一个包含一些“全局”资源的 ASP.NET 网站:

\App_GlobalResources
ContosoFrobberResource.resx

这是对与每个“aspx”文件关联的“本地”资源的补充:
\App_LocalResources
Materials.aspx.resx
Notes.aspx.resx
OrderHistory.aspx.resx

现在我想将该站点本地化为另一个语言环境(例如 en )。我创建了一个 resx每个“本地”资源的文件:
\App_LocalResources
Materials.aspx.en.resx
Materials.aspx.en-us.resx
Materials.aspx.en-uk.resx
Materials.aspx.en-sg.resx
Notes.aspx.en.resx
Notes.aspx.en-us.resx
Notes.aspx.en-uk.resx
Notes.aspx.en-sg.resx
OrderHistory.aspx.en.resx
OrderHistory.aspx.en-us.resx
OrderHistory.aspx.en-uk.resx
OrderHistory.aspx.en-sg.resx

一切正常;该网站显示量身定制的英语版本
  • 美国 (en-US)
  • 英国 (en-UK)
  • 新加坡 (en-SG)

  • 以及通用的后备
  • 英语 (en)

  • 当我尝试本地化 App_GlobalResources 中的资源时出现问题:
    \App_GlobalResources
    ContosoFrobberResource.resx
    ContosoFrobberResource.en-us.resx

    该网站因以下错误而崩溃:

    CS0101: The namespace 'Resources' already contains a definition for 'ContosoFrobberResource'



    我如何本地化 App_GlobalResources在 ASP.NET 网站中?

    奖金喋喋不休

    ContosoFrobberResource.resx

     <?xml version="1.0" encoding="utf-8"?>
    <root>
    <data name="ProjectDueDate" xml:space="preserve">
    <value>Proposal Due Date</value>
    </data>
    </root>


    ContosoFrobberResource.qps.resx

     <?xml version="1.0" encoding="utf-8"?>
    <root>
    <data name="ProjectDueDate" xml:space="preserve">
    <value>Prȍposẳl Duɇ Dãtē</value>
    </data>
    </root>

    最佳答案

    找到了答案。

    ASP.NET 不能正确回退到父语言。如果它无法将文件识别为“后备”语言环境,则它无法解析它,并显示误导性错误。

    例如

    ContosoGrobber.resx
    ContosoGrobber.en-us.resx

    工作正常。但:
    ContosoGrobber.resx
    ContosoGrobber.en.resx

    失败时 "en "无法识别区域设置字符串的一部分。更改它以使用完整的语言环境名称,并避免错误的回退代码是修复。例如。:
    ContosoGrobber.qps.resx

    应该变成:
    ContosoGrobber.qps-ploc.resx

    换句话说:如果浏览器正在请求语言环境 qps-ploc , 理想情况下 你可以用
    ContosoGrobber.qps.resx

    和本地 qps-ploc 将回退到 qps .但是由于 ASP.NET 中的错误,它不能正确回退。这意味着你不能让它回退;您必须实际处理所有可能的语言环境:
    ContosoGrobber.qps-ploc.resx
    ContosoGrobber.qps-plocm.resx
    ContosoGrobber.qps-ploca.resx

    关于asp.net - 如何在 ASP.NET 中本地化 App_GlobalResources?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9202428/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com