36

मैं अपने एमवीसी 3 वेब एप्लिकेशन के लिए स्थानीयकरण को लागू करने वाला हूं। ऐसा करने के लिए बड़ी मात्रा में तरीकों से गुज़रना, मुझे यह लागू करने के लिए अनिश्चित छोड़ दिया गया था। मुझे कुछ तरीके मिलते हैं कि यह कैसे करें:एएसपी.नेट - एमवीसी 3: स्थानीयकरण

पहला विकल्प मुझे ऐप_ग्लोबल स्रोतों और व्यूडाटा और संस्कृति मानचित्र मानचित्रण के साथ चयन करना था। (Link)

दूसरा मेरी परियोजना में एक अलग संसाधन फ़ोल्डर बनाना था और इसे मॉडल और व्यू फ़ोल्डर्स की तरह बनाना था। फिर उन फ़ोल्डर्स में संसाधन फाइलें बनाएं। उन संसाधन तारों का उपयोग करने के लिए व्यूबैग का उपयोग करना होगा। फिर संस्कृति को बदलने और संस्कृतियों को बदलने की अनुमति देने के लिए आंशिक दृश्य बनाने के लिए ग्लोबल.एक्सएक्स को संपादित करें। ऐसा करने के निर्देश बहुत गहन हैं इसलिए यह सबसे अच्छा शर्त हो सकता है। (Link)

तीसरा प्रदर्शनAttribute और resx-files का उपयोग करना था। यह थोड़ा सा आलसी था, मुझे इस तरह की जानकारी नहीं मिल सका ताकि मैं समझ सकूं कि यह वास्तव में कैसे लागू किया गया है और इसके प्रतिबंध। (Link)

चौथा संसाधनों को संभालने के लिए एक कस्टम वर्ग बनाना था। यह बहुत फैंसी और कार्यान्वित करने और उपयोग करने में आसान लग रहा था लेकिन वास्तव में काम करने पर कोई वास्तविक जानकारी नहीं मिली। (Link)

फिर मुझे एक पोस्ट मिली जिसने App_GlobalResouces और App_LocalResources का उपयोग करने के बारे में चेतावनी दी। (Link)

स्थानीयकरण करने के संभावित तरीकों से गुज़रने के बाद। मुझे कोई रास्ता नहीं मिला जो सार्वभौमिक रूप से अनुमोदित या स्वीकार्य था। इसने मुझे चिंतित कर दिया, इनमें से कौन सा, या कुछ मुझे नहीं मिला, एएसपी.नेट एमवीसी 3 में स्थानीयकरण को लागू करने का सबसे अच्छा तरीका होगा?

+0

स्कॉट Hanselman द्वारा एक ब्लॉग पोस्ट को एक बहुत में चला जाता है नहीं है स्थानीयकरण के बारे में विवरण: http://www.hanselman.com/blog/GlobalizationInternationalizationAndLocalizationInASPNETMVC3JavaScriptAndJQueryPart1.aspx मुझे आशा है कि आपको यह उपयोगी लगेगा। –

+0

क्या आप उत्तर को स्वीकार कर सकते हैं या जिस विधि को आपने चुना है उसके साथ प्रश्न का उत्तर दे सकते हैं! – Tjaart

उत्तर

6

तो मैं एक पोस्ट है कि के बारे में चेतावनी दी App_GlobalResouces और App_LocalResources का उपयोग कर पाया। (लिंक)

मुझे यह पोस्ट बेहद उपयोगी पाया गया। विधि बताई गई है कि बहुत साफ है।

@using Resources.Index 
@{ 
    ViewBag.Title = "Index"; 
} 

<h1>@Index.Title</h1> 

मुझे नहीं लगता कि एक निश्चित करते हैं यह इस तरह से या किसी और विधि वहाँ है, इसलिए साफ विधि के लिए जा रहा है: यहाँ है कि विधि का उपयोग कर नई-नई बनाई सूचकांक दृश्य का एक टुकड़ा है मेरे लिए एक अच्छा सौदा की तरह।

+2

मैंने इसे स्वयं भी इस्तेमाल किया। इसे कार्यान्वित करना आसान था और किसी भी जावास्क्रिप्ट की आवश्यकता नहीं थी। – Esa

6

मैं स्थानीयकरण को संभालने का एक आसान तरीका लेकर आया हूं जहां आपको संसाधन फ़ाइलों या विशेषताओं का उपयोग करने की आवश्यकता नहीं है। इसमें कस्टम मेटाडेटा प्रदाता शामिल हैं।

एमवीसी 3 सभी टेक्स्ट स्ट्रिंग प्राप्त करने के लिए मेटाडेटा प्रदाताओं का उपयोग करता है। मेरा दृष्टिकोण आपको अनुवाद प्रदान करने के लिए या तो स्ट्रिंग टेबल, डेटाबेस, फ्लैट फाइल या किसी अन्य स्रोत का उपयोग करने की अनुमति देता है। आपको बस दो इंटरफेस का वारिस करना है। इसके बारे में

पढ़ें यहाँ: http://blog.gauffin.org/2011/09/easy-model-and-validation-localization-in-asp-net-mvc3/

संपादित

सब कुछ अब GitHub पर दर्ज है और वहाँ nuget संकुल हैं: https://github.com/jgauffin/griffin.mvccontrib

+0

मैं इस समय आपके समाधान का प्रयास कर रहा हूं और अब तक मैं इसका आनंद ले रहा हूं, लेकिन क्या संसाधन फ़ाइल विधि के साथ अनुवाद देखना संभव है? [कोडप्रोजेक्ट] पर आपका ट्यूटोरियल (http://www.codeproject.com/Articles/352583/Localization-in-ASP-NET-MVC-with-Griffin-MvcContri) केवल इसे SQL पर दिखाता है। – Esa

+0

हां, लेकिन मुझे इसके साथ बिंदु नहीं दिख रहा है। आपको स्ट्रिंग कुंजियों का उपयोग करना होगा जो पाठ का हैश है (जो उन्हें प्रबंधित करने में कठिनाई करता है और/या बताता है कि प्रत्येक अनुवाद किस पाठ के लिए है)। स्ट्रिंग टेबल का उपयोग करना संभवतः आसान है (या Griffin.MvcContrib में निर्मित फ्लैट फ़ाइलों का उपयोग करें) – jgauffin

+1

अच्छा होगा यदि आप यहां अपने ब्लॉग पोस्ट के मुख्य बिंदुओं को नोट कर सकते हैं। एक दिन यह उपलब्ध नहीं हो सकता है, और शायद आप अब तक काफी समय से जानते हैं कि हमें केवल जवाब क्यों पसंद नहीं हैं। धन्यवाद। – Kev

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