I have a web project which will be used by multiple clients. I'd like to specify string in resource files so the text on the pages can be dynamic depending on which client the deployment is configured for.
For instance, I wanted to set the globalization
element's uiCulture
attribute in the Web.config set to "Client1" or "Client2" depending on the deployment.
Then, I would have these resource files:
- App_GlobalResources\MySite.Client1.resx
- App_GlobalResources\MySite.Client2.resx
- App_LocalResources\Default.aspx.Client1.resx
- App_LocalResources\Default.aspx.Client2.resx
Etc., etc. However, it appears that uiCulture
has to be an actual/real culture. I don't want to fake it and pretend that "Client1" is "en-US" and "Client2" is "es-MX" or something like that.
How can I load resources for a specific "mode"?
Update
The specific issue I'm having is that when I specify a custom UI Culture (Client1 or en-US-Client1), the resource files in my project don't seem to be compiled correctly. E.g. I end up with two classes name "MySite". Additionally, it doesn't looks like a custom culture can be provided in the Web.config (<globalization uiCulture="en-US-Client1"/>
); I get the following error:
The tag contains an invalid value for the 'uiCulture' attribute.