微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Microsoft Edge 在 RTL 语言如希伯来语中错放了括号

如何解决Microsoft Edge 在 RTL 语言如希伯来语中错放了括号

我有以下文本要在我的应用中保存翻译:“某些数字(保存时生成)。

谷歌翻译是这样做的:

enter image description here

所以在 RTL 希伯来语中的翻译(正确翻译并且句子由 google 包裹)是:מספר כלשהו (נוצר בשמירה)

将其粘贴到 Chrome 或 Firefox 的文本框中是正确的:

enter image description here

但是当我在 Microsoft Edge 中执行相同操作时,括号错位了:

enter image description here

为什么会这样?我该如何解决

解决方法

这是将从右到左的文本粘贴到使用从左到右书写方向的 <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 的测试结果:

enter image description here

此外,我使用 MS Edge Canary、Dev 和 Beta 版本测试了这个问题。

我注意到该问题已在 MS Edge 91.0.851.0 版本中修复。

使用 MS Edge 91.0.851.0 的测试结果:

enter image description here

当您将 MS Edge 浏览器更新到 91.x 版本后,这个问题就会得到解决。

感谢您的理解。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。