I have an app which is for a global market and needs to be localisable. During development I had some problems in that my satellite assemblies never seemed to be picked up even when I changed my locale. After some research I now understand why this is and was able to test by setting the CurrentUICulture in the code and verify that things worked as expected.
Now it comes to packaging up the app for release and I am not sure if setting Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture for the current thread when my app starts is a good idea. On the plus side my app will be localisable by changing the regional settings (if this is an up side), but I am worried that there might be unforseen downsides to this. One that immediately springs to mind is that whilst what I have done is all well and good for my thread, it will not apply (from what I understand from reading on here and around) to any threads which are created either by my app (unless I set the CurrentUICulture on those too) or worse by any components which I use which may create their own threads.
Could there be other problems? Is setting the CurrentCultures to be the same something that is standard practice or something that is frowned upon?
I'd like to be armed with as much info on the ups and downs of this before making a decision.
Thanks
Sam