我正在构建一个ASP.NET Web应用程序,我的所有字符串都存储在一个资源文件中.我想在我的应用程序中添加第二种语言,理想情况下,我想自动检测用户的浏览器语言(或Windows语言)并默认使用,而不是让他们选择除英语之外的其他语言.目前,我正在手动处理所有资源填充,因此从我的角度来看,添加第二个资源文件和语言是微不足道的,如果我有一个简单的方法来自动确定要显示的语言.
有没有人这样做过,或者你对我如何找回这个价值有什么想法?由于ASP.NET是基于服务器的,因此我似乎无法访问特定的浏览器设置.
决议:这是我最终做的事情.我使用"For Each"来浏览"HttpContext.Current.Request.UserLanguages"并搜索我支持的一个.我实际上只是检查左边两个字符,因为我们还不支持任何方言 - 只有英语和西班牙语.感谢您的帮助!
在web.config中尝试这个:
这将导致ASP.NET从请求标头中自动检测客户端的文化.您还可以通过Page属性在每页的基础上进行设置.
此文章(链接到archive.org作为原始链接现在是死的)可能与自动检测浏览器的语言设置帮助.
[编辑]是的.引用的文章不使用ASP.NET.这篇文章呢.