【问题标题】:Is there a way to detect right to left layouts dynamically using JavaScript?有没有办法使用 JavaScript 动态检测从右到左的布局?
【发布时间】:2013-07-08 15:13:58
【问题描述】:

我知道我可以使用 JavaScript 查看 navigator 对象的语言。是否有类似的方法可以自动检测该语言是否为从右到左的语言,而无需进行任何配置?

编辑我不能依赖 dir 属性,因为这是我想要完成的。

【问题讨论】:

    标签: javascript localization internationalization


    【解决方案1】:

    我知道你写的是“没有任何配置”,但你可以创建一个 RTL 语言的字典,检查浏览器语言并相应地设置 dir 参数。

    字典在不久的将来不会改变,你几乎不能把它当作像π这样的常量而不是配置

    【讨论】:

      【解决方案2】:

      您可以查找指定此内容的 html 属性,例如

      <html dir="ltr" lang="en-US">
      

      在 JavaScript 中,您可以通过以下方式获取此属性:

      var dir = document.documentElement.getAttribute('dir');
      

      当然,这取决于提供信息的网站。

      更新以回答以下问题更新:

      您可以从Unicode's CLDR 中提取每种语言的文本方向

      使用navigator.language 显然是not reliable。在通过 HTTP Accept-Language 标头检测到首选语言后,我将在后端呈现 HTML 页面。在服务器端维护您的文本方向数据库可能会更容易。

      【讨论】:

      • 感谢您的建议,但我也不需要依赖它 - 我需要实际设置客户端。
      猜你喜欢
      • 2015-10-07
      • 1970-01-01
      • 2013-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多