如何在ASP.NET中本地化App_GlobalResources?
我有一个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) 当我尝试本地化App_GlobalResources中的资源时出现问题: App_GlobalResources ContosoFrobberResource.resx ContosoFrobberResource.en-us.resx 网站崩溃并出现错误:
如何在ASP.NET网站中本地化App_GlobalResources? 奖金Chatter
解决方法
找到了答案.
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 而本地 ContosoGrobber.qps-ploc.resx ContosoGrobber.qps-plocm.resx ContosoGrobber.qps-ploca.resx (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – Asp.net MVC:上传多个图像文件?
- IIS错误 – 无法运行两个不同版本的ASP.NET
- asp.net-mvc-4 – ASP.NET优化 – 捆绑
- asp.net-mvc-3 – MVC直接在单个对象上调用模型绑定器
- asp.net – 如何正确编码mailto链接?
- ASP.NET Web服务中的可选参数
- asp.net-mvc-4 – 高级WebGrid教程或解决方案
- asp.net-core – 控制器生命周期ASP.NET Core WebApi
- asp.net-mvc – 使用SharpDevelop构建ASP.NET MVC应用程序的
- .net – 为每个操作设置MaxAllowedContentLength / maxRequ