了解你所在国家的文化和语言

本文关键字:文化 语言 国家 了解 | 更新日期: 2023-09-27 17:52:12

我正在寻找一种方法从用户的当前地理位置获取语言和文化,例如,如果用户来自德国,我希望代码获得用户的位置并自动更改语言。我问这个问题的原因是,在我目前的国家,没有文化(默认为英语)。

我试过这个代码:

var ri = new RegionInfo(System.Threading.Thread.CurrentThread.CurrentUICulture.LCID);
string val = ri.ISOCurrencySymbol;
string[] cul1 = HttpContext.Current.Request.UserLanguages;
string name = RegionInfo.CurrentRegion.GeoId.ToString();

所有这些例子得到en-us,这是不正确的。有没有办法让ASP。. NET应用程序能知道用户的确切国家吗?

了解你所在国家的文化和语言

一般来说,没有。

更重要的是,原则上,不要。让用户以他们想要的方式选择他们的语言-作为默认值。这在ASP上自动发生。NET(除非你在做一些可疑的事情),并基于浏览器中指定的用户语言工作(你可能有一个英语操作系统和/或你在浏览器设置中将语言设置为英语)。始终允许用户重写该语言。

要测试它是如何工作的,只需进入浏览器设置并将语言更改为其他语言。如果你的ASP。. NET应用程序正确设置,它应该在CurrentCulture中显示不同的语言/文化。即使它不是,Request.UserLanguages 有从浏览器的设置。