سؤال

أنا أحافظ على العديد من النصوص في App_GlobalResources.resx ملف.

يجب أن تكون النصوص متعددة الخط وأحتاج إلى احتواءها تحتوي على موجزات خط. ومع ذلك، عندما قرأت المحتويات، ذهبت كل موجزات خط (\r\n تتم طباعة، وليس كما CRLF 10 13 حرف التحكم).

أعلم أنني أستطيع العمل من خلال إعادة استبدال \r\n (أو أي شيء آخر لهذه المسألة) مرة أخرى إلى CRLF عندما قرأت المحتويات، لكنني تساءلت عن سبب تجاهل هذه ملفات RESX المستهدفة بالنصات التي تتجاهلها أحرف التحكم - و CRLF نوعا من الأهمية - وإذا كان أي شخص يعرف ما إذا كان هناك إعداد أو شيء ما سيمكن هذا العمل بشكل طبيعي.

هل كانت مفيدة؟

المحلول

لقد استخدمت VB.NET Express Edition لاختبار هذا.

في محرر الموارد (حيث يمكنك تحديد اسم محتوى المورد وسلسلة) ضع محتوى السلسلة مفصولة يحول+يدخل.

دعونا نقول أنك تريد كتابة

hello  
world

اكتب "مرحبا" تليها يحول+يدخل و "العالم".

إذا نظرت إلى ملف Resources.Resx (وهو ملف XML)، فيمكنك أن ترى أنه يقوم بإنشاء عقدة مع السمة xml:space="preserve".

2nd الخيار

أيضا، يمكنك تحرير الموارد. Resx يدويا وتعديل المحتوى المزمن بموجب قسم CDATA.

افترض أن لديك السلسلة المسماة "مثال". ابحث عنها في Resources.RESX وتغيير المحتوى إلى قسم CDATA داخله مقابل وجود قيمة بسيطة.

على سبيل المثال

<data name="example">
<![CDATA[
hello
world
1
2   3
4
]]>  </data>

نصائح أخرى

يستخدم يحول+يدخل لإدراج سطر جديد.

عند استخدام واجهة مصمم REDX

  • إذا كنت تقوم بالفعل بكتابة النص في ملف Resx، فسوف تستخدم

    يحول+يدخل

    كما لوحظ في إجابات أخرى.

  • إذا كنت تجع نصا في REDX - سيقوم Visual Studio بلصق النص بنفس التنسيق كما هو بالفعل (بما في ذلك Leverbreaks / Multiline).

عند فتح ملف Resx بتنسيق XML

(حدد موقع ملف REDX باستخدام البحث والاستبدال .. عند النقر فوق الملف من لوحة "البحث عن النتائج"، سيفتح VS ملف Resx في XML)

هنا يمكنك إضافة نص كما تريد (في علامات القيمة) وسيتم الحفاظ على التنسيق.

حسنا، ما كان يعمل في وضعي يستخدم <br> علامة مثل هذا:

A text with a line break <br> and this goes in the second line.

هناك وظيفة مع مزيد من المعلومات هنا: وضع استراحة خط في ملف مورد REDX

إذا كنت تستخدم محرك عرض الرازور مع ASP.NET MVC، فأنت بحاجة إلى استخدام:

@Html.Raw(ResourceFile.ResourceString)

بحيث يطبع <br> ك HTML.

من الممكن تحرير *.resx ملف مع محرر النص لإضافة ليلة.

يمكنك القيام بذلك حتى داخل Visual Studio:

  • انقر بزر الماوس الأيمن فوق ملف المورد
  • انقر ل Open with ...
  • يختار XML (Text) Editor with Encoding
  • انقر OK
  • انقر OK مرة أخرى للاختيار الترميز (الكشف التلقائي)
  • ابحث عن الاسم (المفتاح) من النص الخاص بك (مثل "my_text")
  • تحرير النص داخل <value> بطاقة شعار. للتبديل فقط دفع Enter. وبعد ملاحظة: قم بإزالة المساحات الرائدة بعد الاستراحة. خلاف ذلك يتم إدراجها أيضا.

اختبارها مع Visual Studio 2017.

مثال:

  <data name="MY_TEXT" xml:space="preserve">
    <value>Line 1
Line 2
Line 3</value>
  </data>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top