حرف العودة / خط الأعلاف في ملف مورد .NET (App_globalResources)
-
06-09-2019 - |
سؤال
أنا أحافظ على العديد من النصوص في 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>