如何指定自定义文化?

时间:2013-06-20 15:00:08

标签: asp.net resources translation webforms

我有一个将由多个客户使用的Web项目。我想在资源文件中指定字符串,以便页面上的文本可以是动态的,具体取决于部署配置的客户端。

例如,我想将Web.config中的globalization元素的uiCulture属性设置为“Client1”或“Client2”,具体取决于部署。

然后,我会有这些资源文件:

  • App_GlobalResources文件\ MySite.Client1.resx
  • App_GlobalResources文件\ MySite.Client2.resx
  • App_LocalResources文件\ Default.aspx.Client1.resx
  • App_LocalResources文件\ Default.aspx.Client2.resx

等等。然而,似乎uiCulture必须是真实/真实的文化。我不想伪装它并假装“Client1”是“en-US”而“Client2”是“es-MX”或类似的东西。

如何为特定“模式”加载资源?

更新 我遇到的具体问题是,当我指定自定义UI Culture(Client1或en-US-Client1)时,我的项目中的资源文件似乎无法正确编译。例如。我最终得到了两个名为“MySite”的课程。此外,它看起来不像Web.config(<globalization uiCulture="en-US-Client1"/>)中提供的自定义文化;我收到以下错误:

  

标签包含'uiCulture'的无效值   属性。

1 个答案:

答案 0 :(得分:0)

我有完全相同的问题。当我注册自定义文化时,我无法在web.config中设置新文化。在代码中切换它也无法正常工作 - 应用程序正在使用默认文化。当我清理解决方案并手动删除bin和obj文件夹时,解决了这个问题。

顺便说一句。请仔细检查您是否真正安装了新的文化,即在IE浏览器中:工具 - &gt;互联网选项 - &gt;语言