You are trying to achieve some .NET globalization/localization features which are already developed and provided for you with .NET FCL. The idea is correct, but .NET implementation automates the localization much deeper that you are only trying to do. It is based on
satellite assemblies (basically, resource-only assemblies which are named properly for using them automatically, depending on the current culture your application switches on), and the
fallback mechanism, where the satellite assemblies are chosen automatically trying to match the required culture with the cultures of available satellite assemblies.
Please see my past answers:
How to use a Single resx file for 3 languages[
^],
globalization/localization problem in winform .net[
^],
globalization in winforms[
^].
—SA