0

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.

Camilo Terevinto
  • 31,141
  • 6
  • 88
  • 120
Martin
  • 23,844
  • 55
  • 201
  • 327
  • It appears that the Default language is exported as a DLL. I tested another language and i see a dll created. Is there anyway to force the default language to be exported. Or at least Automatically copy the default-language to (for example) US English. – Martin Mar 09 '11 at 12:26

1 Answers1

2

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.

Andy
  • 30,088
  • 6
  • 78
  • 89
  • Thanks, So is there a way to automatically copy my default language to en-US for example? This way i can automatically change the culture to en_US by default when i start my app and it will load from the satellite dll automatically ... or do i need to use copy and paste :-) ? – Martin Mar 09 '11 at 14:09
  • @Martin If you want en-US to be your default language, you shouldn't make a satellite assembly for it. .NET will load the correct language for a given resource (based on the current thread's UICulture), and if none is found it will fall back to the default. Is that what you meant, or did you mean something else? – Andy Mar 09 '11 at 14:47