【发布时间】:2013-06-20 15:00:08
【问题描述】:
我有一个可供多个客户使用的网络项目。我想在资源文件中指定字符串,以便页面上的文本可以是动态的,具体取决于为哪个客户端配置了部署。
例如,我想根据部署将 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 文化(Client1 或 en-US-Client1)时,我的项目中的资源文件似乎没有正确编译。例如。我最终得到两个类名称“MySite”。此外,看起来不能在 Web.config (<globalization uiCulture="en-US-Client1"/>) 中提供自定义文化;我收到以下错误:
标签包含“uiCulture”的无效值 属性。
【问题讨论】:
-
我不知道这个问题是否与我正在链接的问题重复(我认为不是)-但这可能是相关的:stackoverflow.com/questions/5583529/…
-
@Renan - 谢谢。我希望使用内置的文化自动选择机制,我只想提供一个自定义文化字符串。
-
这篇文章是相关的,但没有可靠的答案,只是“是的,这很正常”,但现在该怎么做:stackoverflow.com/questions/1059677/…
-
我收藏了这个问题,因为我遇到了同样的问题。所以我会尽快设置赏金。
标签: asp.net resources translation webforms