Çok basit bir şey ve işe yaramayacağım. Dll'i globalleştirmek istiyorum, bu yüzden kaynak dosyalarını + ResourceManager kullanıyorum.CultureInfo belirtilmiş olsa da Resourcemanager aynı kaynağa dönüyor.
var p = new ResourceManager("Appname.Default", Assembly.GetExecutingAssembly());
bu
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")));
gibi dizeleri alın Ve 4 kez aynı dizeyi verir:
Ben ResourceManager böyle diyoruz. Dosyalarım
Default.resx
Default.en.resx
Default.nl.resx
Default.nl-NL.resx
ayarlar aynıdır Tüm dosya
denir, ama belirtildiği gibi - Standart dosyasında yalnızca kaynak kullanılır.Burada neye bakıyorum?
aslında uydu derleme derlenmiş alma .Resx dosya mı? Bin \ Debug klasörüne bakın ve en, nl ve nl-NL adlarıyla alt dizinleri arayın. –
Çevirileri 'Default.ResourceManager.GetString' aracılığıyla almaya çalışın. Büyük olasılıkla oluşturduğunuz kaynak yöneticisi bazı yanlış parametre (ler) alır. –