变量语言(浏览器语言检测) - 不在safari中工作

时间:2015-07-12 12:04:06

标签: javascript html

好的就是这个,我有一个网站,并希望它检查某人的浏览器语言是否是德语并显示它们是德语文本,如果它是非德语应该总是得到一个英文版本。一位朋友(现在已经没有时间)将我编入索引:

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:layout_marginTop="10dp"
        android:layout_marginBottom="20dp"
        android:background="@drawable/layout_bg"
        android:elevation="2dp">

    <ListView
        android:id="@+id/myListview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@null"
        android:divider="@null"
        android:dividerHeight="0dp" >
    </ListView>
</LinearLayout>

这适用于Chrome,但不适用于Safari。你们有什么想法吗?此外,我认为一个简单的解决方法是检测,然后将用户发送到index_de.html或index_eng.html页面。我该如何实现?

1 个答案:

答案 0 :(得分:2)

您是否检查了window.navigator.language的实际价值?

如果我正确理解documentation,则该语言采用RFC 4646表示法,因此它也可以包含符号de-DE。因此,您可能只想检查前两个字符,而不是仅使用没有子标签的主要语言。

一个小小的改变会让你这样:

var t = window.navigator.language.substr(0, 2)!='de'?'en':'de';