Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Internationalization 在多语言网站中,Cookies与语言检测(浏览器与位置)以及两者都不存在_Internationalization - Fatal编程技术网

Internationalization 在多语言网站中,Cookies与语言检测(浏览器与位置)以及两者都不存在

Internationalization 在多语言网站中,Cookies与语言检测(浏览器与位置)以及两者都不存在,internationalization,Internationalization,我对以下情况感到进退两难: 困境第一 曲奇饼: 这对通过个人电脑访问网站的用户来说是很好的(无需再次选择首选语言),但如果某个人在公共PC(如图书馆)中首先选择了一种语言,那么它就没有太大意义,因为可能会有其他语言偏好的人来 第二困境 语言检测: 如果网页从该位置检测到语言。住在那个国家的外国人怎么了?(居住在一个国家的外国人是否更有可能使用设置为其语言的浏览器?) (我已经有了选择语言的菜单,但我认为“自动化”很好。) 哪一种可能是最好的解决方案?我的偏好: 如果用户已注册且具有语言首选项,请

我对以下情况感到进退两难:

困境第一

曲奇饼:

这对通过个人电脑访问网站的用户来说是很好的(无需再次选择首选语言),但如果某个人在公共PC(如图书馆)中首先选择了一种语言,那么它就没有太大意义,因为可能会有其他语言偏好的人来

第二困境

语言检测:

如果网页从该位置检测到语言。住在那个国家的外国人怎么了?(居住在一个国家的外国人是否更有可能使用设置为其语言的浏览器?)

(我已经有了选择语言的菜单,但我认为“自动化”很好。)

哪一种可能是最好的解决方案?

我的偏好:

  • 如果用户已注册且具有语言首选项,请使用该语言
  • 语言检测 2.5(位置语言检测)
  • 后备语言(例如:en_US或更适合您的目标公众)
  • 我不确定通过位置进行语言检测是否真的是个好主意,目前,大多数共享位置的设备都是移动设备,这可能意味着用户正在旅行。 正如你所说,还有外国人。就我而言,我是法国人,住在法国,但对en_US有浏览器偏好。

    是新用户第一次访问网站的好选择


    但我也会通过将语言标识符像
    /en/…
    一样放入URL,使语言选择尽可能简单和透明。使用这样的URL,所选语言对用户是透明的,并且可以根据需要进行更改。与此特定于语言的URL一起,我还将提供一个不带语言标识符的独立于语言的URL。

    两者都有什么问题?使用cookies确定语言的第一选择。提供一个微妙的选项(可能带有标志等图形),以便在选择错误的位置/浏览器语言时将选项更改为位置/浏览器语言。

    如果我们有以下成分:

    • 饼干
    • ip地址
    • 语言检测
    • 语言选择屏幕
    • 网站的可用语言
    然后,我(生活在一个三语国家,英语是第四语言)希望我的语言能以以下方式使用:

    • if cookie with lang:show cookieLang
    • 如果没有cookie:

      • IPloc=结果IP位置
      • detLang=语言协商的结果
      • 如果(匹配(例如IPloc=BE&detLang=FR)和语言可用,则设置cookie&show detectedLang
      • 否则(例如,不匹配IPloc=IT&detLang=NL),然后显示语言选择屏幕,让用户进行选择,在cookie中设置语言并显示choosen语言
    这里的许多网站(比利时)只显示语言选择屏幕,这被认为是一个容易出错的简单解决方案


    另一种方法是注册2个(或更多)URL,例如mybank.be、mijnbank.be和monbanque.be,所有URL都指向同一站点。根据用户选择的URL,会自动选择正确的语言。

    我认为,这只适用于非常低比例的互联网用户。你有经验数据支持吗?@chlemertz:我没有数字,但为什么你觉得语言谈判是个糟糕的选择?据我所知,大多数浏览器使用OS语言作为默认语言,这是一个相当合理的猜测。@chelmertz:语言协商只适用于未指定语言的情况。但是一旦使用者选择了语言,就用它来代替语言谈判。@Joachim Sauer&@Gumbo:我评论的修订版没有提到“语言谈判”,这听起来是个好主意。我的评论是针对可猜测的URI:s在一般化用户设置中的有用性。如果我没有票数用完,我会投票。你不知道有些网站(cough apple cough paypal cough ebay cough)有多烦人;他们看到我有一个意大利语IP,所以他们认为1)我说意大利语2)我想说意大利语,把语言改回英语真是一场史诗般的战斗(需要浏览十几个意大利语页面)+1@Andreas Bonini我和谷歌打过同样的战斗(当我清理缓存和cookies时)我想如果他们阅读浏览器的语言,就不会有任何问题。