एक बहुत ही साधारण बात है, और मैं इसे काम नहीं कर सकता। मैं अपने डीएलएल को वैश्वीकृत करना चाहता हूं इस प्रकार मैं संसाधन फ़ाइलों + संसाधन प्रबंधक का उपयोग कर रहा हूं।संसाधन प्रबंधक एक ही संसाधन लौटा रहा है, हालांकि CultureInfo निर्दिष्ट है
मैं इस तरह संसाधनप्रबंधक फोन:
var p = new ResourceManager("Appname.Default", Assembly.GetExecutingAssembly());
इस
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")));
तरह तार जाओ और यह देता है 4 बार एक ही स्ट्रिंग। मेरी फाइलें
Default.resx
Default.en.resx
Default.nl.resx
Default.nl-NL.resx
सभी फ़ाइल सेटिंग्स समान हैं, लेकिन जैसा कि बताया गया है - केवल डिफ़ॉल्ट फ़ाइल में संसाधन का उपयोग किया जाता है।
मैं यहां क्या देख रहा हूं?
.resx फ़ाइल वास्तव में उपग्रह विधानसभाओं में संकलित हो रही हैं? बिन \ डीबग फ़ोल्डर में देखें और नाम एन, एनएल और एनएल-एनएल के साथ उपनिर्देशिकाओं को देखें। –
अनुवाद 'Default.ResourceManager.GetString' के माध्यम से प्राप्त करने का प्रयास करें। संभवतः आपके द्वारा बनाए जा रहे संसाधन प्रबंधक को कुछ गलत पैरामीटर मिलते हैं। –