我正在编写一个webapp。当我在我的电脑上运行时,它以西班牙语显示ValidationMessages,但是当我在另一台服务器上运行时,它会用英语显示它们。
我想要的是以西班牙语显示它们。 pc的区域配置都设置为西班牙语(阿根廷)。
当我显示...
System.Globalization.CultureInfo.InstalledUICulture.DisplayName
在每台电脑上,我说“Inglés(Estados Unidos)”,另一个说“英语(美国)”。
我可以改变这个一点。为了测试,我将其添加到Global.asax:
protected void Application_PreRequestHandlerExecute()
{
System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US"); //en-US just to test
System.Threading.Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("en-US"); //en-US just to test
}
这在我的电脑中影响了前面提到的文化展示。它说“英语(美国)”和消息以英文显示。
但是,当我在服务器上测试它时
protected void Application_PreRequestHandlerExecute()
{
System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("es-AR");
System.Threading.Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("es-AR");
}
消息没有改变,ValidationMessages继续以英文显示。
我甚至在服务器中安装了.NET语言包,但没有运气。我该怎么做才能改变这种行为?
修改
忘了说,webconfig已经有了:
<configuration>
<system.web>
<globalization uiCulture="es-AR" culture="es-AR" />
</system.web>
</configuration>