2011-03-28 19 views
7

क्या कुछ कक्षा में कोई संपत्ति है जो मुझे बता सकती है कि वर्तमान संस्कृति वास्तव में डिफ़ॉल्ट संस्कृति है या नहीं।सी #: एक डॉटनेट कक्षा में एक ऐसी संपत्ति है जो बताती है कि "वर्तमान" संस्कृति वास्तविक संस्कृति है या नहीं?

स्थानीयकरण Winforms के साथ कैसे काम करता है। यदि भाषा डिफ़ॉल्ट है तो यह एक रूप में बताती है।

कहता है कि मैं एन-यूएस में हूं - अगर मैं वास्तविक डिफ़ॉल्ट हूं तो मैं कोड के माध्यम से कैसे बता सकता हूं?

मैं कुछ एक्सएमएल फाइल के लिए कुछ स्थानीयकरण जो .net इसलिए समर्थन नहीं करता है मैं अपने को लागू करना चाहते हैं ...

लागू करने की आवश्यकता और यह करने के लिए कैसे काम करता है यानी WinForms

nameofxml.default.xml (this is the default local) 
nameofXml.de-de.xml (this is german)

आदि

कोई संपत्ति मौजूद है?

+0

"इनवेंटरी संस्कृति" या डिफ़ॉल्ट "सिस्टम लोकेल" में डिफ़ॉल्ट के रूप में डिफ़ॉल्ट? –

उत्तर

3

System.Globalization.CultureInfo.CurrentCulture, यह संकेत करता है कि आप इस प्रणाली के नियंत्रण कक्ष क्षेत्र सेटिंग्स जबकि System.Globalization.CultureInfo.CurrentUICulture सिस्टम के इनपुट यूआई भाषा सेटिंग से मेल खाती है (जब तक आप बहुभाषी उपयोगकर्ता इंटरफ़ेस स्थापित है जो आप नहीं बदल सकते हैं)।

इसलिए आप 'डिफ़ॉल्ट' संस्कृति निर्धारित करने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं:

using System.Globalization; 
// N.B. execute the following line *before* you programmatically change the CurrentCulture 
// (if you ever do this, of course) 

// Gets the CultureInfo that represents the culture used by the current thread 
CultureInfo culture = CultureInfo.CurrentCulture; 
string code = culture.IetfLanguageTag; // e.g. "en-US", "de-DE", etc. 

तो फिर आप अपने .xml फ़ाइलें खोजने के लिए code उपयोग कर सकते हैं।

+0

धन्यवाद अज्ञानी। यही वह है जो मैंने साथ किया था – Martin

2

आप विधानसभा स्तर पर बता सकते हैं कि एम्बेडेड संसाधन NeutralResourcesLanguageAttribute का उपयोग करके एक विशिष्ट संस्कृति के हैं।

आईआईआरसी, इस तरह संसाधन प्रबंधक संसाधन लोडिंग की प्रक्रिया को अनुकूलित कर सकता है यदि आवश्यक संस्कृति असेंबली में एम्बेडेड है।

चूंकि आप स्थानीयकरण के लिए अपना स्वयं का कार्यान्वयन कर रहे हैं, मुझे नहीं पता कि यह कैसे सहायक हो सकता है, लेकिन आप यह विशेषता का उपयोग यह इंगित करने के लिए कर सकते हैं कि एक्सएमएल स्थानीयकरण की जानकारी सीधे विधानसभा में एम्बेडेड की संस्कृति एक विशिष्ट संस्कृति है और यदि आप असेंबली में घोषित संस्कृति और आवश्यक संस्कृति के बीच मेल नहीं खाते हैं तो उपग्रह असेंबली या अन्य कस्टम बैक स्टोर खोजने के लिए डिफ़ॉल्ट।

0

CultureInfo.CurrentCulture एक स्थिर सदस्य है जो "संस्कृतिइन्फो प्राप्त करता है जो वर्तमान धागे द्वारा उपयोग की जाने वाली संस्कृति का प्रतिनिधित्व करता है।" यदि आप System.Globalization नेमस्पेस को शामिल करते हैं तो यह किसी भी वर्ग से पहुंच योग्य है।

प्रलेखन: http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.aspx

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