【发布时间】:2013-07-08 15:13:58
【问题描述】:
我知道我可以使用 JavaScript 查看 navigator 对象的语言。是否有类似的方法可以自动检测该语言是否为从右到左的语言,而无需进行任何配置?
编辑我不能依赖 dir 属性,因为这是我想要完成的。
【问题讨论】:
标签: javascript localization internationalization
我知道我可以使用 JavaScript 查看 navigator 对象的语言。是否有类似的方法可以自动检测该语言是否为从右到左的语言,而无需进行任何配置?
编辑我不能依赖 dir 属性,因为这是我想要完成的。
【问题讨论】:
标签: javascript localization internationalization
我知道你写的是“没有任何配置”,但你可以创建一个 RTL 语言的字典,检查浏览器语言并相应地设置 dir 参数。
字典在不久的将来不会改变,你几乎不能把它当作像π这样的常量而不是配置
【讨论】:
您可以查找指定此内容的 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 页面。在服务器端维护您的文本方向数据库可能会更容易。
【讨论】: