如何解决Microsoft Edge 在 RTL 语言如希伯来语中错放了括号
我有以下文本要在我的应用中保存翻译:“某些数字(保存时生成)。
谷歌翻译是这样做的:
所以在 RTL 希伯来语中的翻译(正确翻译并且句子由 google 包裹)是:מספר כלשהו (נוצר בשמירה)
将其粘贴到 Chrome 或 Firefox 的文本框中是正确的:
但是当我在 Microsoft Edge 中执行相同操作时,括号错位了:
为什么会这样?我该如何解决?
解决方法
这是将从右到左的文本粘贴到使用从左到右书写方向的 <input>
中的效果。我在 macOS 上的 Chrome 88 中看到了这种效果,所以也许您的 Chrome 有一个扩展程序或全局样式可以自动设置书写方向。
您可以设置 <input>
的 dir
attribute:
<input dir="rtl" value="מספר כלשהו (נוצר בשמירה)">
或者应用一个设置 direction
CSS property 的类:
<input class="rtl" value="מספר כלשהו (נוצר בשמירה)">
.rtl {
direction: rtl;
}
在文档级别全局应用写作方向也很常见:
html {
direction: rtl;
}
...或在 <html>
标签上:
<html dir="rtl">
<body>
...
</body>
</html>
.rtl {
direction: rtl;
}
.ltr {
direction: ltr;
}
<fieldset>
<legend>dir=rtl</legend>
<input dir="rtl" value="מספר כלשהו (נוצר בשמירה)">
</fieldset>
<fieldset>
<legend>dir=ltr</legend>
<input value="מספר כלשהו (נוצר בשמירה)">
</fieldset>
<fieldset>
<legend>style.direction=ltr</legend>
<input class="ltr" value="מספר כלשהו (נוצר בשמירה)">
</fieldset>
<fieldset>
<legend>style.direction=rtl</legend>
<input class="rtl" value="מספר כלשהו (נוצר בשמירה)">
</fieldset>
我尝试使用 MS Edge 89.0.774.68 版本测试该问题,我可以重现上述问题。
我注意到,当我尝试粘贴 מספר כלשהו (נוצר בשמירה) 时,未应用任何 CSS 的文本框中的希伯来语文本显示括号错位。
使用 MS Edge 89.0.774.68 的测试结果:
此外,我使用 MS Edge Canary、Dev 和 Beta 版本测试了这个问题。
我注意到该问题已在 MS Edge 91.0.851.0 版本中修复。
使用 MS Edge 91.0.851.0 的测试结果:
当您将 MS Edge 浏览器更新到 91.x 版本后,这个问题就会得到解决。
感谢您的理解。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。