2016-02-16 13 views
8

मैंने एएसपी.NET कोर 1.0 में स्थानीयकरण कैसे काम करने जा रहा है यह समझने की कोशिश में लगभग एक सप्ताह बिताया है। मैंने कई विकल्पों का परीक्षण किया है, लेकिन मैं इसे काम नहीं कर सकता।एएसपी.नेट 5 (एमवीसी 6) - संसाधन स्थानीयकरण

मैं Visual Studio में बग के बारे में पढ़ा है, मैं कैसे यह अभी (Article1, Article2, Article3) काम कर रहा है के बारे में सभी लेख पढ़ लिया है और मैं जाँच करें और आधिकारिक GitHub भंडार में example के बारे में सभी का परीक्षण किया है।

मेरे लक्ष्य:

मैं सिर्फ यह काम करता है जैसे मैं ASP.NET MVC में किया था 5.

मैं इस तरह मेरी Startup.cs कॉन्फ़िगर किया है बनाना चाहते:

कॉन्फ़िगर धारा:

var requestLocalizationOptions = new RequestLocalizationOptions 
      { 
       // Set options here to change middleware behavior 
       SupportedCultures = new List<CultureInfo> 
       { 
        new CultureInfo("en-US"), 
        new CultureInfo("es-ES") 
       }, 
       SupportedUICultures = new List<CultureInfo> 
       { 
        new CultureInfo("en-US"), 
        new CultureInfo("es-ES") 

       } 
      }; 

      app.UseRequestLocalization(requestLocalizationOptions, defaultRequestCulture: new RequestCulture("en-US")); 

कॉन्फ़िगर सेवाएं धारा:

// Add MVC services to the services container. 
      services 
       .AddMvc() 
       .AddViewLocalization(options => options.ResourcesPath = "Resources") 
       .AddDataAnnotationsLocalization(); 

मेरी फ़ोल्डर संसाधन में, मैं अपने .resx फ़ाइलों की है। मैंने इसे आधिकारिक उदाहरण से कॉपी किया है, लेकिन कोई रास्ता नहीं ... कोई त्रुटि नहीं, बस काम नहीं कर रही है।

यदि मैं आधिकारिक रेपो के स्थानीयकरण उदाहरण का परीक्षण करता हूं, तो यह काम करता है। लेकिन मैं एमवीसी 6 को अनुकूलित करने के लिए संशोधित नहीं कर सकता।

मैंने अपने कोड के लिए गिटहब पर एक संग्रह बनाया है और इसका परीक्षण किया है। (https://github.com/chemitaxis/Localization.StackOverflow)

क्या कोई मेरी मदद कर सकता है? मुझे लगता है कि बहुत से लोगों को ये समस्याएं आ रही हैं।

धन्यवाद !!

उत्तर

5

ठीक है, मैंने इसे हल किया ... मैं कल गिटहब पर अपना उदाहरण अपडेट करूंगा।

मैं एक _ViewImports बनाया है, और इसे जोड़ने:

@addTagHelper "*, Microsoft.AspNet.Mvc.TagHelpers" 
@using System.Threading.Tasks 
@using AspNet5Localization 
@using AspNet5Localization.Resources 
@using Microsoft.AspNet.Mvc.Localization 
@using Microsoft.Extensions.Localization 
@inject IStringLocalizer<AmazingResource> SR 

, के बाद मैं एक HomeController बनाया है और दृश्य/होम/Index.cshtml फ़ाइल।

जैसे कि मैंने_ViewImportsIStringLocalizer एसआर मैं बस का उपयोग करने में मेरी उस्तरा दृश्य में उपयोग कर सकते में मेरी दृश्य इंजेक्शन है

@SR["Name"] 

मैं नहीं जानता कि अगर यह सबसे अच्छा तरीका है ऐसा करने के लिए, लेकिन यह काम करता है। अगर कोई ऐसा करने का सबसे अच्छा तरीका बता सकता है, तो कृपया इस प्रश्न का उत्तर दें।

पूरा समाधान काम कर रहे: https://github.com/chemitaxis/Localization.StackOverflow

धन्यवाद।

+0

यह वही था जो मैं ढूंढ रहा था। मैंने आरसी 2 https: // github के लिए उदाहरण चलाने की कोशिश की।com/damienbod/AspNet5 लोकलाइजेशन/पेड़/आरसी 2 जहां मैं प्रबंधन नहीं कर सका। मुझे डीएनएक्स के आरसी 2 संस्करण से संबंधित मुद्दे थे। क्या आपने इस संस्करण को चलाने में कामयाब रहे हैं? – feradz

+0

अभी तक नहीं ... मैं बाद में करूँगा। मैं नई शाखा – chemitaxis

+0

में अपग्रेड कर सकता हूं क्या आप डेटा एनोटेशन के साथ उदाहरण स्थानीयकरण जोड़ सकते हैं। मैंने कोशिश की '[आवश्यक (ErrorMessageResourceName = "Name_is_required", ErrorMessageResourceType = typeof (PersonalInfo))] [अधिकतम लम्बाई (Constants.MaxNameLength)] सार्वजनिक स्ट्रिंग नाम {प्राप्त करें; सेट; } 'लेकिन यह काम नहीं करता है। – feradz

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