2015-11-25 14 views
5

मुझे अपने विचारों में संसाधन फ़ाइल से कुछ तारों की आवश्यकता है। Startup.cs में:एएसपी.Net 5 आरसी 1 दृश्यों में स्थानीयकरण

services.AddMvc() 
.AddViewLocalization(options => options.ResourcesPath = "Resources"); 

और:

app.UseRequestLocalization(new RequestCulture("ru-RU")); 

दृश्य:

@using Microsoft.AspNet.Mvc.Localization 
@inject IViewLocalizer loc 

मैं MSDN में पढ़ा निम्नलिखित ब्लॉग:

IViewLocalizer एक IHtmlLocalizer है सेवा जोकी तलाश में है वर्तमान दृश्य नाम के आधार परसंसाधन।

तो मुझे .resx फ़ाइलों का नाम कैसे देना चाहिए ताकि मेरे स्थानीय तार मेरे दृश्य में दिखाई दे सकें? अगर मुझे Views/Manager/Index.cshtml मिल गया है तो Resources/Manager/Index.cshtml.ru-RU.resx सही है? लेकिन संसाधन नहीं मिला है ...

उत्तर

4

इस वजह संसाधन नाम वर्तमान दृश्य नाम पर आधारित नहीं है दस्तावेज में बहुत भ्रामक है, है, लेकिन वर्तमान दृश्य रास्ते पर:
https://github.com/aspnet/Mvc/blob/dev/src/Microsoft.AspNet.Mvc.Localization/ViewLocalizer.cs
(लाइन 101)

चाहिए इसका मतलब यह है संसाधन नाम इस तरह का नाम दिया:

Views.{ControllerName}.{ViewName}.cshtml.{culture code}.resx 
e.g. Views.Home.About.cshtml.de-DE.resx 

मैं पहले से ही इस व्यवहार एक महीने पहले सूचना:
https://github.com/aspnet/Mvc/issues/3376

+0

के लिए सामयिक आपको बहुत बहुत धन्यवाद! आपके जवाब ने मुझे काम करने में मदद की। मैं सहमत हूं, जिस तरह से यह काम करता है वह अभी तक बहुत आसान नहीं है। उम्मीद है कि वे इसे ठीक करेंगे। – Slip

0

आपके पास बेस संसाधन फ़ाइल होना चाहिए जिसे केवल resources.resx कहा जाता है जो चयनित भाषा के लिए अनुवाद नहीं होने पर आपका 'पतन-बैक' संसाधन होगा।

प्रत्येक भाषा संसाधन फ़ाइल तो निम्न स्वरूप में नामित किया जाना चाहिए:

संसाधन संस्कृति-कोड .resx

संस्कृति कोड या तो तटस्थ भाषा, या क्षेत्र हो सकता है विशिष्ट भाषा

उदाहरण के लिए

  • स्पेनिश: संसाधन es.resx
  • अमेरिका अंग्रेजी: संसाधन-en-US.resx
  • आदि

आप के यूआई संस्कृति सेट करते हैं थ्रेड, संस्कृति के लिए सही संसाधन स्वचालित रूप से उपयोग किया जाएगा।

0

स्थानीयकरण (मेरा मतलब है कि संस्कृति पोस्टफिक्स के साथ resx फ़ाइलों से स्थानीय तार प्राप्त करना) विजुअल स्टूडियो से लॉन्च एप्लिकेशन द्वारा अनुपलब्ध। कमांड लाइन से लॉन्च एप्लिकेशन की आवश्यकता है (उदा। dnx web)।

Related issue on GitHub, RC1

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