I have an localizeable c# application.
There is a file `Localization.resx` and a file `Localization.de.resx`.
The `Localization.resx` contains the invariant language - it is english.

The user should be able to select his preferred language. I found the first answer of this question [Programmatic way to get all the available languages (in satellite assemblies)](https://stackoverflow.com/questions/553244/programmatic-way-to-get-all-the-available-languages-in-satellite-assemblies) to determine which cultures are available. I see that there is `de` and `InvariantCulture` available. 

But I can't offer InvariantCulture. An user wont know what this is. Instead I should offer `en`.

I can't rename `Localization.resx` to `Localization.en.resx`, since this file is needed to create the Class holding the resources.

I could copy `Localization.resx` to `Localization.en.resx`, but then I would always have to keep those files consistent and also need to remove `InvariantCulture` from the available cultures.

I could write a converter that visualizes the the `InvariantCulture` as `en`. But this, I think, is an ugly hack.

Any help please?