如何更改我的计算机的文化信息

top*_*r-j 4 asp.net iis windows-7

我正在 IIS 上运行一个站点,该站点从 Thread.CurrentThread.CurrentCulture 读取区域性信息。这来自我所了解的系统文化信息。我需要将它设置为某个值,但我一直无法在操作系统级别更改它。

我的 Windows 7 计算机最初是在 en-GB 文化中设置的,现在我需要将其切换到 en-US。我已经在区域和语言控制面板中更改了它。在格式选项卡中,格式为英语(美国),在位置选项卡中,当前位置为美国,在管理选项卡中,非 Unicode 程序的当前语言为英语(美国)。重新启动后,Windows UI 中的值都读取正确。

在这些更改后,我重新启动了计算机,清除了本地 DNS(不知道这是否重要),重新启动了 IIS,回收了应用程序池,但它仍然显示为 en-GB。

我还需要做些什么来更新这个cultureInfo?

Rad*_*ler 5

ASP.NET 本身具有该任务的配置。可以在 system.web 部分的 web.config 文件中设置(多种方式)文化。下面的片段显示,如何强制美国文化

<globalization 
    enableClientBasedCulture="false" 
    uiCulture="en-US" 
    culture="en-US" />
Run Code Online (Sandbox Code Playgroud)

如果应用程序已准备好接受来自客户端(浏览器)的文化,则设置应为

<globalization 
    enableClientBasedCulture="true" 
    uiCulture="auto" 
    culture="auto" />
Run Code Online (Sandbox Code Playgroud)

上述设置将采用客户端浏览器中选择的语言(例如在我的情况下为 cs-CZ)。如果没有定义,则将使用系统设置。最后的片段显示了如何允许客户端设置和发送预期的文化,但如果没有预先选择语言,请使用其他一些默认值en-US覆盖系统设置

<globalization 
    enableClientBasedCulture="true" 
    uiCulture="auto:en-US" 
    culture="auto:en-US" />
Run Code Online (Sandbox Code Playgroud)