In a forthcoming .Net CMS, we will have several language-specific *.resx files.
The CMS will give users the ability to define new labels and fields. These labels can be presented in any language available in the system, i.e. English and French.
When users define new labels, they will require new key values. I am currently leaning toward using *.resx files but not sure how to accomplish adding new key/values at runtime without having to recompile.
You can achieve that by using the ResourceWriter class:
IResourceWriter resWriter = new ResourceWriter("myResources.resources");
resWriter.AddResource("DemoString", "My String");
Hava a look at:
https://msdn.microsoft.com/en-us/library/system.resources.resourcewriter.aspx https://msdn.microsoft.com/en-us/library/w3ywst3t(v=vs.110).aspx