views:

240

answers:

1

We have CAB (Composite Application Block) based smart client winform application.

One of our software requirement is to replacing the text dynamically when the user change the language option provided in our application.

We support around 6 languages including east-asian(Chinese/Japanese), European Languages(Russion, spanish, English, dutch).

After understanding some deep level into localization, I got to know that localization is more than just replacing the text dynamically.

I found that Windows controls are created based on localized resource option. IT has formatting, validation sort of feature.

Is it recommended to localize the text dynamically without closing the forms/views? Or Should be restart the application? Or close the form and reopen the form

Why should not encourage dynamic language change?

+1  A: 

I would only check the language on startup and load an appropriate resource (.resx) file to load all of the strings for your application. You can do this by your own means, or I believe .Net has a built in way to do this with resource files.

You do not want to waste CPU watching for dynamic language changing. How often would a user change their language settings on a PC? If they are switching languages on the fly, they can restart your application just as easily.

I know I only set my PC's to English when I pull them out of the box, and I would expect people of any country to do the same--pick their native speaking language.

Jonathan.Peppers