asp.net mvc एएसपी.नेट एमवीसी आवेदन में एकाधिक भाषाओं?




asp.net-mvc internationalization (5)

एएसपी.नेट एमवीसी अनुप्रयोग में इंटरफ़ेस के लिए एकाधिक भाषाओं का समर्थन करने का सबसे अच्छा तरीका क्या है? मैंने लोगों को अन्य अनुप्रयोगों के लिए संसाधन फ़ाइलों का उपयोग देखा है। क्या यह अभी भी सबसे अच्छा तरीका है?


यह एक और विकल्प है, और आपके पास नियंत्रक में CurrentUICulture तक पहुंच होगी:

MVC3-multi-language


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

जब आप इसके बारे में सोचते हैं तो यह समझ में आता है क्योंकि स्थानीय संसाधन एएसपीएक्स पेज के लिए स्थानीय हैं और नियंत्रक में, आपने अपना विचार भी नहीं चुना है।


मैंने यह संसाधन बहुत उपयोगी पाया

यह HttpContext.Current.GetGlobalResourceString और HttpContext.Current.GetLocalResourceString के चारों ओर एक रैपर है जो आपको इस तरह के संसाधनों को कॉल करने की अनुमति देता है ...

// default global resource
Html.Resource("GlobalResource, ResourceName")

// global resource with optional arguments for formatting
Html.Resource("GlobalResource, ResourceName", "foo", "bar")

// default local resource
Html.Resource("ResourceName")

// local resource with optional arguments for formatting
Html.Resource("ResourceName", "foo", "bar")

मुझे मिली एकमात्र समस्या यह है कि नियंत्रकों को स्थानीय resouce तारों तक पहुंच नहीं है।


ऑर्चर्ड प्रोजेक्ट सभी इन-पेज स्ट्रिंग अनुवाद करने के लिए "टी" नामक एक शॉर्टकट विधि का उपयोग करता है। तो आप एक @ टी ("अनुवाद करने के लिए एक स्ट्रिंग") के साथ टैग देखेंगे।

मैं यह देखने का इरादा रखता हूं कि यह दृश्यों के पीछे कैसे लागू किया गया है और संभावित रूप से भविष्य की परियोजनाओं में इसका उपयोग कैसे किया जाता है। संक्षिप्त नाम कोड क्लीनर रखता है क्योंकि इसका बहुत उपयोग किया जाएगा।

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

अधिक जानकारी के लिए http://orchardproject.net देखें।


हां संसाधन अभी भी .NET पर्यावरण में एकाधिक भाषाओं का समर्थन करने का सबसे अच्छा तरीका हैं। क्योंकि वे संदर्भित करना आसान हैं और नई भाषाओं को जोड़ने में भी आसान हैं।

Site.resx
Site.en.resx
Site.en-US.resx
Site.fr.resx
etc...

तो आप अभी भी संसाधन फ़ाइलों का उपयोग कर रहे हैं।





multilingual