我想在阿拉伯语中显示 25%* ,这应该是这样的:*%25
我尝试使用方向显示此内容:rtf ,但是,当您向其添加一些阿拉伯语文本时,它似乎只能正确显示它。运行下面的代码段,看看我的意思:
var arabicword = "إلى";
var percent = "25%*";
document.getElementById('text2').innerHTML = arabicword+" "+percent;
document.getElementById('text1').innerHTML = percent;
.text {
font-size:3em;
width:300px;
color:white;
background: grey;
}
.arabic{
background:green;
direction:rtl;
}
<div id="text1" class="text arabic">0</div>
<br>
<div id="text2" class="text arabic">0</div>
提前致谢
答案 0 :(得分:1)
left-to-right mark ‎
可以控制此:
var arabicword = "إلى";
var percent = "25‎%*"
document.getElementById('text2').innerHTML = arabicword+" "+percent;
document.getElementById('text1').innerHTML = percent;
&#13;
.text {
font-size:3em;
width:300px;
color:white;
background: grey;
}
.arabic{
background:green;
direction:rtl;
}
&#13;
<div id="text1" class="text arabic">0</div>
<br>
<div id="text2" class="text arabic">0</div>
&#13;
答案 1 :(得分:1)
显示末尾具有非阿拉伯字符的阿拉伯文本时,对此的最佳解决方法是在非阿拉伯字符之后包含Unicode RTL代码。
在不同方向的文字行之间放置标点符号等中性字符时,会发生这种情况。例如,阿拉伯语Unicode表没有对应的字符代码! @#$%*&
当您将这些拉丁字符中的任何一个添加到阿拉伯语文本的末尾时,该字符将其自身正确定位在阿拉伯语文本的右侧(即,从右向左阅读阿拉伯语文本之前);根据阿拉伯文本的方向,这是不正确的。
通过在中性拉丁字符后添加RTL“ \ u200F”的Unicode ;您指示拉丁字符保留RTL作为其余文本;这将解决问题。 不管句子的原始方向是RTL还是LTR,这都可以工作,因为阿拉伯字符始终沿RTL方向。
这还允许在同一句子中组合RTL和LTR文本。
这里有2个带有和不带有RTL Unicode的示例:
class RestroomForm(forms.ModelForm):
class Meta:
model = RestroomReview
fields = (
'user', 'public', 'rest_type',
'baby', 'needle', 'handicap',
'rating', 'title', 'comment'
)
您可以在此处详细了解RTL Unicode:https://www.w3.org/TR/WCAG20-TECHS/H34.html
答案 2 :(得分:0)
好吧,我能够通过在数字和百分号之间添加一个空格来实现这一点。不确定这是最好的方式,但它可靠。
var arabicword = "إلى";
var percent = "25 %*";
document.getElementById('text2').innerHTML = arabicword+" "+percent;
document.getElementById('text1').innerHTML = percent;
.text {
font-size:3em;
width:300px;
color:white;
background: grey;
}
.arabic{
background:green;
direction:rtl;
}
<div id="text1" class="text arabic">0</div>
<br>
<div id="text2" class="text arabic">0</div>
答案 3 :(得分:0)
感谢您的建议。我实际上找到了一个空的阿拉伯字符&amp;#1564 ,并在前面添加它修复它
var arblank = "؜"
var arabicword = "إلى";
var percent = "25%*";
document.getElementById('text2').innerHTML = arabicword+" "+percent;
document.getElementById('text1').innerHTML = arblank+percent;
&#13;
.text {
font-size:3em;
width:300px;
color:white;
background: grey;
}
.arabic{
background:green;
direction:rtl;
}
&#13;
<div id="text1" class="text arabic">0</div>
<br>
<div id="text2" class="text arabic">0</div>
&#13;
答案 4 :(得分:0)
当阿拉伯语文本中有一个带有百分号的数字时,正确的阿拉伯语书写方式是这样写:
النسبة المئوية هي %25
这意味着 % 符号在英文文本中位于数字的右侧。
因此,无需将 % 符号的位置切换到数字的左侧。