Search code examples
c#winformsresourceslocalizationsatellite-assembly

Language set to "Default" but i don't see a resource.dll?


I have just set one of my forms to Localization: True and left the language as "Default".

I checked the resx and sure enough it contains all the strings for my form.

So i run the application, and i was hoping to find the satellite resource DLL in my Debug directory but its NOT there.

So this left me surprised.. Is it that the DEFAULT language is not compiled as a satellite DLL?

I would like to distribute languages (including the DEFAULT) as satellite assemblies.


Solution

  • You are correct - the default resources are compiled directly into the assembly itself. Once you change the Language property of the Form and modify the resources, then after building a satellite assembly will be created for this language.

    The reason for this is so that there will always be a fallback language to use, if the Form isn't localized to the user's UI language.