I’m always trying to learn more and more C# and have been creating a Windows desktop app for quite some time (.NET Framework 4.7.2; WPF). Now, I want to allow for language support, but not sure what the best approach is. Basically, I want all text (in buttons, in the window, etc.) to just naturally take on the default language of the OS. Any pointers?


The process you are talking about is internationalization/localization.
Instead of putting the word “Yes” on a button, you fetch the text from some resource based on the detected Locale info. I think that would exist on the current Thread Culture.
Look at
https://docs.microsoft.com/en-us/dotnet/desktop/wpf/advanced/wpf-globalization-and-localization-overview?view=netframeworkdesktop-4.8
and of course Google WPF localization.
C# devs
null reference exceptions

source