Changing Windows locales on a per-process basis

Is there any way to change the Windows locale only for a particular program?

I have one or two programs that don't work correctly for non-English (U.S.) locales and would like to work around theirs bugs without changing my user-wide locale settings.


Solution 1:

Here is a a bit of a hack that might do it. I believe these settings are configured on a per users basis so I'm guessing you could:

  • create a new user
  • log in as that user
  • setup the required settings for the app
  • log out and back in as your normal user
  • run the program as the newly created user (you can do this by holding shift then right clicking the exe and chosing "run as")

Solution 2:

There's an open-source alternative to Microsoft AppLocale that is claimed to work up to windows 10, available on GitHub:

https://github.com/xupefei/Locale-Emulator

Its allows per-app locale settings, accessible via a context menu option.