Globalization is totally based on resources. In this case, the resources for a particular culture are selected automatically. If you want to switch the culture during run time, all you do is switching the culture of your UI thread (and other threads, those using anything culture-depending). You switch thread's
CurrentCulture
and
CurrectUICulture
this way:
http://msdn.microsoft.com/en-us/library/system.threading.thread.currentculture.aspx[
^],
http://msdn.microsoft.com/en-us/library/system.threading.thread.currentuiculture.aspx[
^].
Please read on globalization and localization:
http://msdn.microsoft.com/en-us/library/ms788718.aspx[
^].
If you want to go the other way, you would have to re-invent something like resource, in one or another way. You would need to re-assign each and every UI element which carries any text, according to the culture.
However, perhaps we did not understand you, because you don't understand something. Do you really need to switch UI from one culture to another? If you simply want to write the whole application in one language, you can do it without any globalization at all. But why?
Perhaps you are talking only about the possibility to input data in Tamil. In this case, you don't need anything at all. As .NET is based on Unicode, you can always input in any language, not matter what is the culture of your application.
—SA