Hi guys

I'm creating a web application with language support. So i've defined the languages using .resx resource files. After building and compiling the application i get .resources file in the dll file. After delivering the product to the client, the client may want to change some values that has to be displayed in the application. How to give that provision?

Need help!

.resx is xml based file, you can develop and editor to edit its values.

Thanks for your reply..
yes boss..but after the compilation the resx file changes into a dll file which stores in the gac.. the application refers only this file to change the language of the application. If i need to edit any spelling mistakes or if the client wants to edit the values of his own, how to achieve that? hope you get my point..


You can't very well do that with an embedded resource file. You should add a localization file similar to the resource file that ships plaintext as an .XML file with your assembly. From there you can make a data entry screen to edit the data. I would approach this by shipping an embedded resource file like you do today and when they go to edit the values you should check if the file exists. If it doesn't then you should create a copy of it from your embedded resource file. This way when the user accidently blows away the localization file shipped with the application you can "restore to defaults" from your embedded file (trust me, it will happen).

Look in to the class:


I think you need to add a reference to your assembly for System.Configuration. Don't try to write the localization file to the application's \Program Files\ directory as this will break on windows Vista with directory virtualization.