Положение заполнителей, таких как {0}, изменяется в арабском тексте

В C# 3.9 с ОС WinCE я сталкиваюсь с проблемой при синтаксическом анализе заполнителей, таких как {0} ИЛИ {1}, которые являются частью входного арабского текста. Например, {0} следует заменить некоторым значением во время выполнения.

يرجى إعادة معالجة {0} العملات الورقية التي تم استبعادها

Это написанный код.

 string text = يرجى إعادة معالجة {0} العملات الورقية التي تم استبعادها
 string title = string.Format(value, "Market");

{0} следует заменить на "Рынок". Однако с арабским языком «Рынок» позиционируется по другому индексу, как показано ниже, ЧТО НЕПРАВИЛЬНО-

يرجى إعادة معالMarketجة  العملات الورقية التي تم استبعادها

Посоветуйте выход. Все хорошо работает с другими языками, имеющими направление LTR.


person TkTech    schedule 30.04.2020    source источник
comment
Хотя дубликат, выбранный @mjwills, показывает, что вам может потребоваться сделать, вопрос был бы гораздо более разумным, если бы он содержал действительно совместимый код и, в данном конкретном случае, изображения того, что вы получаете и что вы ожидаете. В целом существует относительно небольшое количество людей, которые могут посмотреть на такой текст и сказать, что правильно, а что нет, так как смешанный текст RTL/LTR имеет трудные для понимания (для тех, кто не является родным читателем текста RTL) правила. Кроме того, браузеры (как показано в вопросе) могут отображать такой текст по-разному, особенно если вы спрашиваете о такой редкой платформе, как WinCE.   -  person Alexei Levenkov    schedule 30.04.2020
comment
@AlexeiLevenkov хорошо, спасибо за информацию, добавлю изображения, так как мой вопрос остается без ответа   -  person TkTech    schedule 30.04.2020