2012-04-11 20 views
7

Yerelleştirilecek bir Asp.Net MVC 3 web sitesi var.ASP.Net MVC: Yeni satırlı yerelleştirilmiş metinler?

benim metinleri içeren birkaç resx dosyaları ettik ve bazı

My.NameSpace.Through.My.LocalizationFile.Key @ benim görünümlerinde

ettik Ama can Yeni çizgiyi temsil etmesini sağlayın.

Denedim:

  • Shift + girin: Ben kaynak dosyasında yeni bir hat var, ama benim tarayıcıda
  • \ r \ n ettik: Anlıyorum \ r \ n benim tarayıcı
  • \ n: aynı
  • <br/>: Metnimin içinde <br/> bkz

Bu yüzden yeni bir çizgi var ne yapmalıyım?

Düzenleme: Ben Html.Raw kullanabilirsiniz biliyor, ama sadece kendi çeviri html kodunu koymak için çevirmenler için isteyemeyiz.

cevap

10

Dürüst olmak gerekirse, ben dünyanın en güzel şey değil biliyorum ama hamlede ve o çevirmenleriniz çevirileriyle herhangi bir kod koymak zorunda olmadığı anlamına gelir:

Building cevapları üzerine zaten neden sadece Html.Raw kullanmayın, ama bir <br />

ile, Shift + kaynak dosyası sonuçlarında girin \r\n o değiştirerek, bunu yapmadan önce Yani örneğin demek, verilen sen adlandırılmış dize Welcome vardı kaynak dosyası ApplicationMessage, yapabilirsin:

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

Size ihtiyacınız olanı verecektir. İşte benzer bir soru:

HTMLencode HTMLdecode

+0

Hum, belki bunun için bir yardımcı yapacağım, hayır? – J4N

+0

Evet, iyi fikir :) – mattytommo

+0

Çalıştı mı? :) – mattytommo

0

Muhtemelen Satır sonları için <br /> koymak ve satır sonu yerine <br /> dize ile dize göstermek için @Html.Raw() yöntemi kullanabilirsiniz <br /> kullanabilir ve Html.Raw()

2

ile çıkış işlemek gerekir.

-1

Evet teşekkür mattytommo için.

Sen kodunda

First line <br /> second line 
kaynak

veya

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

kullanmak ve kaynak editörü Shift + Enter edebilirsiniz.yaptığınız gibi

, ikisi de gayet iyi çalışıyor, ama senden + Enter Shift bir arada kullanmak gerektiğini düşünüyorum

@Html.Raw(); 
1

kullanmak zorunda ve bunun yerine XSS açıkları kadar potentionally açılması CSS white-space property@Html.Raw() çözümünü kullanıyor.

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

Belirli durumunu bilmiyorum, ama daha iyi olduğunu pre-wrap takım elbise davanızı bulabileceği olabilir. Read more about the different white-space properties here

+0

Üzgünüz, ama soru 3 yıldan daha önce olduğundan, çözümünüzü test edemiyorum;) – J4N

+0

Evet, eski olduğunu biliyorum (probleminiz için bir çözüm bulduğunuzu tahmin ettiniz) :) Sadece bunun üzerinden geçtiniz, ve gelecekteki okuyucular için çip yapmak istedi;) – Squazz