2008-10-10 11 views
117

अपने एएसपी.नेट एमवीसी एप्लिकेशन को स्थानीयकृत करने का सबसे अच्छा अभ्यास क्या होगा?एएसपी.नेट एमवीसी एप्लिकेशन को कैसे स्थानांतरित किया जाए?

मैं दो स्थितियों को कवर करना चाहते हैं: IIS में

  • एक आवेदन तैनाती जो कई भाषाओं
  • एक भाषा/आवेदन तैनाती संभाल होगा।

पहली स्थिति में आप आधारित बात की तरह है, ~/देखें/एन दृश्य किसी तरह का, ~/देखें/FI, ~/देखें/SWE या कुछ और के साथ जाना चाहिए?

दूसरे मामले के बारे में, वेब.कॉन्फिग के माध्यम से केवल एप्लिकेशन आधारित कॉन्फ़िगरेशन और अलग-अलग URL पर इन अलग-अलग भाषाओं को इंगित करें?

+0

वैकल्पिक रूप से डुप्लिकेट दृश्यों के लिए, आप संस्कृति विशिष्ट तारों को संग्रहीत करने के लिए मानक ResX फ़ाइलों का उपयोग कर सकते हैं। दुर्भाग्यवश, इन फ़ाइलों का प्रबंधन और संपादन, खासकर अनुवादकों द्वारा थोड़ा असहज और मुश्किल है। इसे डेटाबेस में संसाधनों को संग्रहीत करके और कुछ बाहरी स्थानीयकरण टूल का उपयोग करके सरलीकृत किया जा सकता है। आप डेटाबेस संसाधन प्रदाता को वितरित करने वाली इस मुफ्त लाइब्रेरी को देख सकते हैं: http://globsite.net/GlobsiteGlobalizationLibrary – Kryszal

उत्तर

71

तुम भी एक नज़र यहाँ ASP.NET MVC 2 Localization complete guide और ASP.NET MVC 2 Model Validation With Localization इन entires ले जा सकते हैं आपकी मदद करेगा अगर आप ASP.NET MVC 2.

+0

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

+0

मैं अपनी परियोजनाओं में इस दृष्टिकोण का उपयोग करता था, मुझे कहना चाहिए कि यह दृष्टिकोण बेहतर है। – fyasar

+0

यह एक शानदार लेख है - पोस्ट करने के लिए धन्यवाद। –

22

आप अपने एएसपी.नेट एमवीसी एप्लिकेशन को उसी तरह से स्थानीयकृत करेंगे जैसे आप क्लासिक एएसपी.नेट वेब फॉर्म एप्लिकेशन करेंगे।

आप प्रत्येक भाषा के लिए अलग-अलग पृष्ठों/विचारों का उपयोग नहीं करेंगे, लेकिन प्रत्येक पृष्ठ सैटेलाइट असेंबली का उपयोग करके कई भाषाओं का समर्थन करेगा।

आप अधिक स्पष्टीकरण और उदाहरणों के लिए Matt Hawley's blog entry पर देख सकते हैं।

3

रोब कॉनरी MvcStore परियोजना पर एक नज़र डालें। वह वैश्वीकरण समस्या को हल करने के लिए एक तरीका दिखाते हुए एक स्क्रीनकास्ट करता है।

http://wekeroad.com/2008/04/24/mvcstore-part-5

+3

लिंक मर चुका है, क्या आप अपडेट कर सकते हैं? – Ciwan

9

दुर्भाग्य से, मैट हॉले के मूल कोड ASP.NET MVC के रिलीज़ संस्करण में काम नहीं करता। एक अद्यतन पोस्ट देखें: http://blog.eworldui.net/post/2008/10/ASPNET-MVC-Localization-via-View-Engines.aspx

सामान्य रूप से, स्थानीयकरण प्रक्रिया वीएस 2008/एएसपी.नेट एमवीसी दुनिया में चिकनी नहीं है क्योंकि यह पारंपरिक वेब रूपों के साथ है। http://www.guysmithferrier.com/post/2009/05/Localizing-ASPNET-MVC.aspx

2

मैं एलिजा के रूप में एक फार्म के भीतर स्थानीयकरण से निपटने में कभी नहीं आश्वस्त किया गया है पता चलता है - अलग-अलग लंबाई और दिशाओं बहुत जटिल या देख Naff पर अलग-अलग रूपों को जन्म दे सकता है।

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

2

एएसपीनेट एमवीसी एप्लिकेशन को स्थानीयकरण के तरीके के बारे में हालिया अपडेट के साथ अच्छा ट्यूटोरियल है, जिसमें प्रदर्शन नाम स्थानीयकरण, प्रमाणीकरण, रूटिंग (यूआरएल में संस्कृति का नाम भंडारण), आउटपुट कैश के साथ मुद्दों और अन्य ... सहित सभी पहलुओं को शामिल किया गया है। Alex Adamyan Blog - While my keyboard gently weeps

0

मैंने कुछ समय पहले इस लेख को लिखा था। यह एक कस्टम व्यू इंजन का उपयोग करता है। http://blog.oimae.com/2011/02/20/cultured-view-engine-for-mvc/

+1

जबकि आपका आलेख वास्तव में प्रश्न का उत्तर दे सकता है, [यह बेहतर होगा] (http://meta.stackexchange.com/q/8259) यहां उत्तर के आवश्यक हिस्सों को शामिल करने के लिए, और संदर्भ के लिए लिंक प्रदान करें। स्टैक ओवरफ़्लो केवल अपने प्रश्नों और उत्तरों के रूप में उपयोगी है, और यदि आपका ब्लॉग होस्ट डाउन हो जाता है या आपके यूआरएल घूमते हैं, तो यह जवाब बेकार हो जाता है। धन्यवाद! – sarnold

1

हम वास्तव में DataAnnotationsMetadaDataProvider अधिभावी के साथ एक पूर्ण अलग हो गया था। वहां आप यह सुनिश्चित कर सकते हैं कि DisplayNameAttribute मान सही भाषा में हल हो जाएं। असल में आप उस विशेषता से छुटकारा पा सकते हैं और केवल फ़ील्ड नामों से हल कर सकते हैं यदि यह कोई मददगार होगा।

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