混合1%时阿拉伯语文本格式不正确

时间:2015-05-21 12:12:44

标签: unicode arabic right-to-left bidi

这是代码

.html()

问题是我希望文本在翻译中被反转,所以我想要的是:[للمجموعة(“percent”2)أضاف(“percent”1)] <而不是“1%أضاف%2للمجموعة” / p>

出于某种原因,即使记事本也不允许你将%1放在阿拉伯语句子的最右边,因为阿拉伯语是从右到左,所以也许你不能用%1开始一个句子。

这有什么变通方法吗?

1 个答案:

答案 0 :(得分:1)

您需要强制数字和百分比符号的书写方向。所有这些都是从左到右的角色。这是因为你的字符串的开头是#1; 1%&#34;写在左边。在那之后,阿拉伯字母从右到左,而&#34; 2%&#34;从左到右再次,但立即从右到左返回阿拉伯语。所以输出完全正确。

要实现您的目标,您必须在字符串的开头强制从右向左书写方向。在字符串的第一个位置开始之前添加RTL字符(&amp; rlm;或Unicode中的U + 200F),它显示如下:

‏1% أضاف %2 للمجموعة

在关键位置(直接在数字和百分比之前)插入更多RTL字符,您可以看起来像这样:

‏1‏% أضاف ‏%2 للمجموعة