2012-04-11 8 views
7

मेरे पास एक Asp.Net MVC 3 वेबसाइट है, जिसे स्थानीयकृत किया जाएगा।एएसपी.NET एमवीसी: नई लाइन के साथ स्थानीय ग्रंथ?

मैं जो मेरे ग्रंथों में शामिल कई resx फ़ाइलें है, और मैं अपने विचारों में कुछ

@ My.NameSpace.Through.My.LocalizationFile.Key

है लेकिन मैं यह कर सकते हैं यह नई लाइन का प्रतिनिधित्व नहीं करते हैं।

मैंने कोशिश की:

  • Shift + दर्ज करें: मैं संसाधन फ़ाइल में नई लाइन मिल गया है, लेकिन अपने ब्राउज़र में
  • \ r \ n: मैं देख रहा हूँ \ r \ n में अपने ब्राउज़र
  • \ n: वही
  • <br/>: मैं अपने पाठ में <br/> देख

तो मैं एक नई लाइन के लिए क्या करना चाहिए?

संपादित करें: मुझे पता है कि मैं HTML.Raw का उपयोग कर सकता हूं, लेकिन मैं अनुवादकों से उनके अनुवाद में HTML कोड डालने के लिए नहीं कह सकता हूं।

उत्तर

10

ईमानदारी से कहूं तो मैं जानता हूँ कि यह दुनिया में सबसे अच्छी बात नहीं है, लेकिन यह पक्का है और यह मतलब है कि आपका अनुवादकों किसी भी कोड उनके अनुवाद में डालने के लिए की जरूरत नहीं है:

बिल्डिंग जवाब पर पहले से ही दी, क्यों तुम सिर्फ Html.Raw का उपयोग नहीं करते हैं, लेकिन एक <br />

साथ ऐसा करते समय, \r\n कि जगह शिफ्ट का उपयोग कर + में संसाधन फ़ाइल परिणामों में दर्ज करें, इससे पहले कि उदाहरण के लिए मान लीजिए कि आप में स्ट्रिंग नामित Welcome था संसाधन फ़ाइल ApplicationMessage, आप कर सकते हैं:

@Html.Raw(ApplicationMessage.Welcome.Replace("\r\n", "<br />") 

इससे आपको जो चाहिए वह आपको देगा। यहाँ एक समान सवाल है:

HTMLencode HTMLdecode

+0

हम, शायद मैं इसके लिए एक सहायक काम करूंगा, नहीं? – J4N

+0

हाँ अच्छा विचार :) – mattytommo

+0

क्या यह काम करता है? :) – mattytommo

0

आप शायद <br /> का उपयोग करें और आप लाइन ब्रेक के लिए <br /> रख दिया और लाइन ब्रेक के बजाय <br /> तार के साथ स्ट्रिंग को दिखाने के लिए @Html.Raw() विधि का उपयोग कर सकते हैं Html.Raw()

2

साथ उत्पादन प्रस्तुत करना चाहिए।

-1

हाँ, धन्यवाद mattytommo करने के लिए।

आप कोड में

First line <br /> second line 
संसाधन में

, या

resource.Replace("\r\n", "<br />") 

का उपयोग करें और Shift + संसाधन संपादक में दर्ज कर सकते हैं।

दोनों ठीक काम करता है, लेकिन आप

@Html.Raw(); 
1

उपयोग करने के लिए मुझे लगता है कि आप शिफ्ट का एक संयोजन का उपयोग करना चाहिए + दर्ज है और इसके बजाय XSS कमजोरियों को potentionally खोलने की CSS white-space property, जैसे आप @Html.Raw() समाधान का उपयोग कर करें।

<span style="white-space: pre-line">@My.NameSpace.Through.My.LocalizationFile.Key</span> 

मैं विशेष मामले के पता नहीं है, लेकिन यह हो सकता है कि आपको लगता है कि pre-wrap सूट अपने मामले बेहतर हो सकता है। Read more about the different white-space properties here

+0

क्षमा करें, लेकिन चूंकि प्रश्न 3 साल पहले से अधिक था, इसलिए मैं आपके समाधान का परीक्षण नहीं कर पा रहा हूं;) – J4N

+0

हाँ, मुझे पता है कि यह पुराना है (अनुमान लगाया गया है कि आपको अपनी समस्या का समाधान मिला है) :) बस उस पर चिपका हुआ है, और भविष्य के पाठकों के लिए चिपकना चाहता था;) – Squazz