Unicode 与1%混合时,阿拉伯语文本格式错误

Unicode 与1%混合时,阿拉伯语文本格式错误,unicode,arabic,right-to-left,bidi,Unicode,Arabic,Right To Left,Bidi,这是密码 <code> <source> %1 added %2 to the group </source> <translation type="unfinished"> 1% أضاف %2 للمجموعة</translation> </code> %1已将%2添加到组中 1% أضاف %2 للمجموعة 问题是我希望文本在翻译时颠倒过来,所以我希望有:[百分比1] 由于某些原因,

这是密码

<code>
     <source> %1 added %2 to the group </source>
     <translation type="unfinished"> 1% أضاف %2 للمجموعة</translation>
</code>

%1已将%2添加到组中
1% أضاف %2 للمجموعة
问题是我希望文本在翻译时颠倒过来,所以我希望有:[百分比1]

由于某些原因,即使记事本不允许你把% 1放在阿拉伯语的最右边,因为阿拉伯语是从左到右,所以你可能不能用%1 1开始句子。< /P>
有什么解决办法吗?

您需要强制数字和百分比符号的书写方向。它们都是从左到右的字符。这是因为字符串“1%”的开头写在左边。之后,阿拉伯字母都是从右到左,而“2%”又是从左到右,但立即从右到左返回阿拉伯语。因此,输出是完全正确的

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

‏1% أضاف %2 للمجموعة
在关键位置(直接在数字和百分比之前)插入更多RTL字符,可以使其如下所示:

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