2010-02-06 7 views
5

मैं एक एएसपी.नेट एमवीसी 2 अनुप्रयोग पर काम कर रहा हूं और अपने मॉडल के लिए एक अलग वर्ग पुस्तकालय का उपयोग कर रहा हूं। मैंने अपनी कक्षा लाइब्रेरी प्रोजेक्ट में प्रमाणीकरण संदेशों को एम्बेड करने और इसे मेटा डेटा कक्षाओं में उपयोग करने के लिए संसाधन फ़ाइलों का उपयोग किया था और जब तक मैंने अपनी परियोजना में एक नई भाषा जोड़ने का फैसला नहीं किया तब तक सब कुछ ठीक था, इसलिए मैंने Resource.resx को Resource.en-US.resx में बदल दिया और इसे कॉपी और सहेज लिया और इसे किसी अन्य भाषा के लिए एक नया संसाधन.फा-आईआर.रेक्सएक्स के रूप में सहेजा लेकिन इसे नाम देने के बाद, Designer.cs सहयोगी फ़ाइल में सब कुछ चला गया है और मैं अब संसाधन फ़ाइल तक नहीं पहुंच सकता। जैसे ही मैं फ़ाइल नाम से भाषा का नाम (उदा। एन-यूएस) हटा देता हूं, यह ठीक से काम करता है।कक्षा पुस्तकालय परियोजना में भाषा विशिष्ट संसाधन फ़ाइलों के साथ समस्या

मैंने पहले ही एक्सेस मॉडिफायर को सार्वजनिक रूप से सेट कर दिया है लेकिन कोई परिणाम नहीं है।

मैं विजुअल स्टूडियो 2008 एसपी 1 का उपयोग कर रहा हूं।

उत्तर

6

resource.resx का नाम न बदलें: इसके बजाय, आपको आवश्यक अतिरिक्त संस्कृतियों के लिए संसाधन फ़ाइलें जोड़ें।

संसाधन.रेक्स में "तटस्थ" संसाधन शामिल हैं जो आपकी मुख्य असेंबली में संकलित किए जाएंगे, और यदि आवश्यक संस्कृति के लिए कोई उपग्रह असेंबली स्थित नहीं है तो फ़ॉलबैक के रूप में उपयोग किया जाता है।

प्रत्येक अतिरिक्त संसाधन फ़ाइल, उदा। Resource.fa-IR.resx सामान्य रूप से संस्कृति-विशिष्ट उपग्रह असेंबली में संकलित किया जाएगा।

आप भी अपनी AssemblyInfo.cs NeutralResourcesLanguageAttribute, कौन-सी भाषा तटस्थ संसाधनों के लिए इस्तेमाल किया है की संसाधनप्रबंधक को सूचित करने के लिए जोड़ सकते हैं:

assembly: [System.Resources.NeutralResourcesLanguage("en-US")] 
2

आप संसाधन के लिए डिफ़ॉल्ट भाषा के नाम बदलने की जरूरत नहीं है .en-us.resx। बस इसे resource.resx के रूप में रखें और इसे फ़ॉलबैक संसाधन फ़ाइल के रूप में उपयोग किया जाएगा, जिसका अर्थ है कि यदि कोई उपयोगकर्ता-विशिष्ट भाषा नहीं है, उदा। अरबी, यह उपयोग किया जाएगा, इसलिए, आप निम्न के रूप में नामित फ़ाइलों होना चाहिए:

Resource.resx

Resource.fa-IR.resx

संबंधित मुद्दे