Eine sehr einfache Sache, und ich kann es nicht zur Arbeit bringen. Ich möchte meine DLL so globalisieren, dass ich Ressourcendateien + den ResourceManager benutze.Resourcemanager gibt dieselbe Ressource zurück, obwohl CultureInfo angegeben ist
nenne ich die Resourcemanager wie folgt aus:
var p = new ResourceManager("Appname.Default", Assembly.GetExecutingAssembly());
die Saiten bekommen diese
System.Diagnostics.Debug.WriteLine(p.GetString("greeting"));
System.Diagnostics.Debug.WriteLine(p.GetString("greeting", new CultureInfo("nl")));
System.Diagnostics.Debug.WriteLine(p.GetString("greeting", new CultureInfo("nl-NL")));
System.Diagnostics.Debug.WriteLine(p.GetString("greeting", new CultureInfo("en")));
Und es gibt 4 mal die gleiche Zeichenfolge. Meine Dateien sind
genanntDefault.resx
Default.en.resx
Default.nl.resx
Default.nl-NL.resx
Alle Dateieinstellungen sind die gleichen, aber wie bereits erwähnt - nur die Ressource in der Standard-Datei verwendet wird.
Was übersehe ich hier?
Sind die RESX-Datei tatsächlich in Satelliten-Baugruppen zusammengestellt zu werden? Suchen Sie im Ordner bin \ Debug und suchen Sie nach Unterverzeichnissen mit den Namen en, nl und nl-NL. –
Versuchen Sie, die Übersetzungen über 'Default.ResourceManager.GetString' zu erhalten. Wahrscheinlich hat der Ressourcenmanager, den Sie erstellen, einige falsche Parameter. –