Localization og Winforms
Hej.Jeg sidder og kokser med en Winform, som jeg gerne vil localize. Et krav er at benytte Satellite assemblies og have support for en neutral culture.
Et andet krav er IKKE at benytte Form's Localizable property.. og dermed lade VS.NET generere rescource filer selv. På den måde bliver alle properties på formen nemlig klemt ned i .resx filer, og det ønsker jeg ikke.
Indtil videre har jeg følgende struktur:
bin\
debug\
en-us\
MinApplikation.resx
MinApplikation.resources
MinApplikation.resources.dll (engelsk culture)
da-dk\
MinApplikation.resx
MinApplikation.resources
MinApplikation.resources.dll (dansk culture)
MinApplikation.exe
MinApplikation.resx
MinApplikation.resources
MinApplikation.resources.dll (neutral culture)
Problemet er at applikationen ikke virker, hvis jeg programmatisk sætter en culture der ville forcere et fallback til neutral culture, feks:
Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR");
Ovenstående culture findes ikke i en undermappe, og derfor skulle der teoretisk ske et fallback til neutral culture, men det sker ikke!
Jeg har post build events der først vha. resgen.exe genererer .resources filer udaf mine .resx filer og derefter laver .resources filerne til .dll (satellite assemblies).
Udover det bruger jeg al.exe til at linke satellite assemblies'ne til hovedassemblien (MinApplikation.exe)
Exception:
An unhandled exception of type 'System.Resources.MissingManifestResourceException' occurred in mscorlib.dll
Additional information: Could not find any resources appropriate for the specified culture (or the neutral culture) in the given assembly. Make sure "MinApplikation.resources" was correctly embedded or linked into assembly "MinApplikation".
Så det lyder til at den ikke mangter at finde min neutrale satellite assembly, selvom den eksisterer.
Hjælp!