如果用户将浏览器设置为 fr-CA,而我的网站提供了在其他可用语言(例如英语)中查看页面的选项。 我怎样才能覆盖 accept-language 标头以便我可以使用指定的语言重新加载?
我试图简单地更改 Accept-Language 标头,然后重新加载页面,但是我不确定如何做到这一点。 有什么想法吗?
更新: 好吧,我得到了一些人向我解释本地化是什么,所以我可能没有正确提问。
我的网站当前在 web.config 中设置为自动全球化,因此它将自动将线程文化设置为在应用程序启动时协商的任何语言。 默认情况下,用户的浏览器将基于浏览器的语言设置发送 accept-language 标头,就像下面有人指出的那样,普通用户不知道这些设置在哪里,如何更改这些设置。 无论如何,让我们称之为浏览器将首先处理语言标头的默认行为。 然而,作为一项功能,我想允许用户从页面更改此 accept-language 标头。 例如,在应用程序中,语言设置通常将通过 cookie 或用户首选项(通过配置文件设置)确定,但是在登录/登陆页上(特别是如果这是在某台计算机上第一次登录),我不知道您是谁,因此我只能使用浏览器设置。 但是假设您在出差并从美国计算机访问此网站,则页面将以英语加载,您无法阅读它,并且不知道如何更改浏览器语言,那么有选择从下拉菜单或图标中选择语言的选项不好吗? 我认为这很不错。
因此,为了实现这一点,我需要能够更改 accept-language 标头并重新加载页面。 这就是我不确定如何继续的地方。
我尝试过 navigator.language = 和 xhr.setRequestHeader,但似乎都不起作用。
我试图简单地更改 Accept-Language 标头,然后重新加载页面,但是我不确定如何做到这一点。 有什么想法吗?
更新: 好吧,我得到了一些人向我解释本地化是什么,所以我可能没有正确提问。
我的网站当前在 web.config 中设置为自动全球化,因此它将自动将线程文化设置为在应用程序启动时协商的任何语言。 默认情况下,用户的浏览器将基于浏览器的语言设置发送 accept-language 标头,就像下面有人指出的那样,普通用户不知道这些设置在哪里,如何更改这些设置。 无论如何,让我们称之为浏览器将首先处理语言标头的默认行为。 然而,作为一项功能,我想允许用户从页面更改此 accept-language 标头。 例如,在应用程序中,语言设置通常将通过 cookie 或用户首选项(通过配置文件设置)确定,但是在登录/登陆页上(特别是如果这是在某台计算机上第一次登录),我不知道您是谁,因此我只能使用浏览器设置。 但是假设您在出差并从美国计算机访问此网站,则页面将以英语加载,您无法阅读它,并且不知道如何更改浏览器语言,那么有选择从下拉菜单或图标中选择语言的选项不好吗? 我认为这很不错。
因此,为了实现这一点,我需要能够更改 accept-language 标头并重新加载页面。 这就是我不确定如何继续的地方。
我尝试过 navigator.language = 和 xhr.setRequestHeader,但似乎都不起作用。