2013-03-12 3 views
5

मैंने लगभग अपना सी # एप्लिकेशन समाप्त कर लिया है; करने के लिए छोड़ दिया केवल एक चीज कई भाषा समर्थन लागू करने के लिए है।विनफॉर्म एप्लिकेशन में एकाधिक भाषाओं का समर्थन

मैंने पहले से ही संसाधन फाइलें बनाई हैं जो स्क्रीन पर प्रदर्शित सभी पाठों के लिए कुछ भाषाओं के लिए तार रखती हैं। मेरी अंग्रेजी संसाधन फ़ाइल का

उदाहरण:

Name     | Value      | Comment 
------------------------------------------------------------------------------ 
lblName     | Name:      | Name EN 

मेरी डच संसाधन फ़ाइल का उदाहरण:

Name     | Value      | Comment 
------------------------------------------------------------------------------ 
lblName     | Naam:      | Name NL 

मैं अपने Label (lblName) की Text संपत्ति के क्षेत्र Value बाध्य कर सकते हैं?

मैं .NET Framework 3.5 का उपयोग कर रहा हूं।

+1

यह पूरी तरह से जीयूआई ढांचे पर निर्भर करता है, जिसे आपने निर्दिष्ट नहीं किया था। –

+0

मैं Winforms – Max

+2

का उपयोग कर रहा हूं इस आलेख को देखें [.NET में संसाधन फ़ाइलों का उपयोग करके स्थानीयकरण प्रक्रिया] (http://www.codeproject.com/Articles/79397/Localization-process-by-using-resource-files-in -एनई) –

उत्तर

-3

एक डेटाबेस तालिका में विभिन्न भाषाओं के मूल्यों को रखें।

उपयोगकर्ता को भाषा का चयन करने दें।

भाषा के चयन के अनुसार डेटाबेस से डेटा को विशेष भाषा के बारे में जानकारी प्राप्त करें।

और उसके बाद इसे लेबल टेक्स्ट से बांधें।

+1

-1 - ओपी संसाधन फ़ाइलों का उपयोग कर रहा है, डेटाबेस नहीं। –

+3

ऐसा करने का सही तरीका यह नहीं है, मुझे लगता है कि संसाधन फ़ाइलों या कुछ भी नहीं बनाया गया – Max

+0

यह वास्तव में एक अच्छा समाधान है, लेकिन डेटाबेस से प्राप्त डेटा के अनुवाद के लिए, उदाहरण के लिए लुकअप टेबल से टेक्स्ट सेल। इस मामले में यह बेकार है। प्रयास के लिए +1। :) –

-2

इस प्रयास करें:

<asp:Label runat="server" Text="<%$ Resources:DutchLanguage, Value %>"></asp:Label> 
+0

मैं विंडोज फॉर्म का उपयोग कर रहा हूं और यह एक डेस्कटॉप सी # एप्लिकेशन है, न कि एक वेबपृष्ठ (एएसपी)। – Max

+0

आपने सी # एप्लिकेशन का जिक्र किया है, लेकिन इसे –

+1

से शुरू नहीं किया है, तो मुझे इसका इस्तेमाल करना चाहिए था: वेब एप्लिकेशन और एएसपी टैग का इस्तेमाल किया और एक टैग है: WinForms। – Max

0

मैं इस सवाल का पता किया गया है एक लंबे समय पहले पूछना लेकिन बाद से वहाँ कोई जवाब नहीं था यहाँ मैं क्या सुझाव है कि है:

सी # का उपयोग कर सकते में संसाधन फ़ाइल तक पहुँचने के लिए एक ResourceManager। पहले इलाज संसाधन के आधार पर अपना संसाधन प्रबंधक बनाएं। आपके पास इसके लिए दो विकल्प हैं। आप स्विच या अगर कथन (यदि भाषा मेनू द्वारा निर्धारित की जाती है) का उपयोग कर सकते हैं या कंप्यूटर की वर्तमान संस्कृति का उपयोग करने के लिए स्थानीयकरण का उपयोग कर सकते हैं। आखिरकार, दोनों तरीकों से आप GetString() विधि को उस कुंजी प्रदान कर सकते हैं जिसे मैं आपके मामले में मानता हूं lblName है।

एनबी: उदाहरण में भाई मैं पहली विधि का उपयोग करता हूं जो मेनू से भाषा को पुनर्प्राप्त कर रहा है।

string selectedLanguage = comboBoxLang.Text; // Comes from a menu option 
string resourceFile = string.Empty; 

/***/ 
Logic to retrieve the proper resourceFile depending on the selectedLanguage. 
/***/ 

ResourceManager rm = new ResourceManager(resourceFile, Assembly.GetExecutingAssembly()); 

// Set your label text. 
lblName.Text = rm.GetString("lblName"); 
संबंधित मुद्दे