Do not do this; it cannot work reliably by design. The first obvious drawback that you will encounter is that all Windows dialogs will not change their language (MessageBox, OpenFileDialog, etc.). They always use the system language. Much more serious are the unobvious flaws. You cannot easily control the culture of any threads, especially threadpool threads. They will do something unpleasant, like populating a SortedList, a list that is no longer sorted in the UI thread. Many other subtle issues like this.
It is also a feature that never needs a single user. They do not switch their native language on the fly. If the machine is really used by multilingual users, then it will have a version of Windows that allows you to switch the system language. Your application automatically follows suit.
source share