2013-03-07 8 views
10

एमवीवीएम पैटर्न का उपयोग करके मैं एक WPF एप्लिकेशन को कैसे स्थानांतरित कर सकता हूं? मैं वास्तव में इसे "सही" तरीका करना चाहता हूं।एमवीवीएम डब्ल्यूपीएफ अनुप्रयोगों में स्थानीयकरण का अनुकूलन

मेरा वर्तमान दृष्टिकोण यह है कि मैं अपने आवेदन को स्थानीयकृत करने के लिए .resx संसाधन फ़ाइलों का उपयोग करता हूं।

Solution Explorer VS 2012

मैं उन्हें अपने XAML कोड

xmlns:localization="clr-namespace:ClientLibTestTool.ViewLanguages" 

में शामिल हैं और उन्हें इस तरह का उपयोग:

 <Button x:Name="BtnGenerate" 
       Content="{x:Static localization:localization.ButtonGenerate}"/> 

मेरे सवाल:

  1. वहाँ एक है ऐसा करने का बेहतर तरीका?
  2. मैं विभिन्न भाषाओं का परीक्षण कैसे कर सकता हूं (विभिन्न भाषा सेटिंग्स के साथ लोड एप्लिकेशन)?
  3. क्या रनटाइम पर भाषा को बदलना संभव है?

उत्तर:

प्रश्न 1:

प्रश्न 2: (धन्यवाद, टिजिन)

public MainWindow() 
{ 
    // Debug Settings 
    localization.Culture = CultureInfo.GetCultureInfo("en-US"); 
    // localization.Culture = CultureInfo.GetCultureInfo("de-DE"); 
    this.InitializeComponent(); 
} 

प्रश्न 3: (धन्यवाद, टिजिन)

नहीं

वास्तव में , पूरी खिड़की को फिर से निकालना जरूरी है।

उत्तर

4

जहां तक ​​मेरा संबंध है, यह करने का यह उचित तरीका है। , भाषाओं स्विच करने के लिए स्थानीयकरण वर्ग द्वारा इस्तेमाल किया संस्कृति बदलने के लिए:

localization.Culture = CultureInfo.GetCultureInfo("de-DE"); 

के बाद से सभी तार क्रम (उत्पन्न Designer.cs फाइलों में सभी कॉल्स ResourceManager.GetString("SomeString", resourceCulture); और resourceCulture की तरह लग रहे पर लाई जाती हैं, क्या कॉल द्वारा निर्धारित हो जाता है उपरोक्त, यह रनटाइम पर आपको जो मिलता है उसे प्रभावित करता है। हालांकि, आप xaml के भीतर से मेनू आइटम आदि में मानों का उपयोग करते हैं, आपको इसे प्रभावी होने से पहले पूरे मेनू को पुनर्निर्माण करना होगा।

+1

टिप्पणी: कोड की यह पंक्ति पहले से ही होनी चाहिए प्रारंभिक कॉम्पोनेंट(); विधि। अन्यथा यह काम नहीं करेगा। – Joel

+1

यही मेरा आखिरी वाक्य के साथ था; यह अभी भी काम करेगा लेकिन केवल कंपोन के लिए एनटीएस जो इसे फिर से संदर्भित करता है। आप xaml में संसाधन स्ट्रिंग का उपयोग न करके इसे प्राप्त कर सकते हैं, लेकिन इसके बजाय वे देखने योग्य गुणों से जुड़ सकते हैं जिनमें संसाधन मूल्य होता है और जब भी यह परिवर्तन होता है तो संपत्ति परिवर्तनीय ईवेंट को आग लगती है। – stijn

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