基于时区的 asp.net Web 表单中的本地化

本文关键字:表单 Web 本地化 net 于时区 asp | 更新日期: 2023-09-27 18:36:37

有没有办法根据系统的本地时区在我的 asp.net Web 表单中提供本地化?我想从时区更改页面的区域性(当前文化和当前UICulture)。我已经通过在网页上提供手动链接来实现这一点,就像所有网站所做的那样......通过单击西班牙语,我们找到一个西班牙语 UI。我所做的是,我从该链接生成一个页面请求,并从该请求中获取语言,最后设置区域性。如

protected override void InitializeCulture()
    {
        if(Request["Language"] != null)
        {
            Thread.CurrentThread.CurrentCulture = new CultureInfo(Request["Language"].ToString());
            Thread.CurrentThread.CurrentUICulture = new CultureInfo(Request["Language"].ToString());
        }
        base.InitializeCulture();
    }

现在我想在用户系统的时区的帮助下做同样的事情。如果我的问题不清楚,请告诉我。

基于时区的 asp.net Web 表单中的本地化

ASP.NET 对通过web.config部分自动切换区域设置有一些本机支持。

<configuration>
  <system.web>
    <globalization culture="auto:en-US" uiCulture="fr" />
  </system.web>
</configuration>

如果可以找到匹配项,此设置会自动将 ASP.NET 请求切换到浏览器客户端的语言。如果浏览器未提供语言或语言无法与 .NET 安装的区域性之一匹配,则使用回退值 - 在本例中为 en-US。