2011-08-24 119 views
2

波斯语是从右到左的语言。我想向用户显示一条消息,说明某些内容已成功保存。然而,这个东西(实体)的名字有时是英文的,有时是波斯文的。因此,我应该如下结合了占位符的波斯语词汇的英文单词:现在string.Format问题连接从左到右的语言与从右到左语言

string.Format("مطلب {0} با موفقیت ذخیره شد", contentTitle); 

,如果我们假设contentTitle为How to solve your problem,串联的字符串是:

مطلب How to solve your problem با موفقیت ذخیره شد. 

这不是我想要得到。理想的结果应该是:

.با موفقیت ذخیره شد How to solve your problem مطلب 

我该怎么办?看来string.Format方法在从左到右的语言与从右到左的语言连接方面存在问题。我想要实现的与CSS Writing中的direction: rtl;非常相似。

+2

这是string.Format()的问题还是渲染引擎显示输出? – devio

+0

我调试了代码,这是'string.Format()'的问题。 –

+0

Ridi ... ....... –

回答

2

String类不知道RTL和Windows有它自己的规则来处理“混合内容”任何东西(即RTL和LTR在一个字符串)...

您可以LRO实验, LRE等在这些字符串中的Unicode“提示”以实现期望的结果 - 请参阅表格http://en.wikipedia.org/wiki/Bi-directional_text

相关问题