我们在MVC4中创建一个windows azure网站,我们使用dataannotation来设置display-name并验证输入字段。这是一个多语言页面,因此我们无需翻译资源文件。
[Display(ResourceType = typeof(GlobalResource), Name = "LitZip")]
[Required(ErrorMessageResourceType = typeof(GlobalResource), ErrorMessageResourceName = "ErrRequiredZip")]
public string ZIP { get; set; }
本地所有作品都很完美。在窗口上载azure也显示正常,但验证后的错误不会被翻译。当我返回CurrentCulture时,它正确设置为德语。我们使用自定义工具“PublicResXFileCodeGenerator”来生成资源文件。
希望有人能帮助我们解决这个问题。
提前谢谢! 善意的反叛编辑: 文化由过滤器设定如下:
var culture = new CultureInfo("de-de");
Thread.CurrentThread.CurrentCulture = culture;
Thread.CurrentThread.CurrentUICulture = culture;
编辑2013-05-02:
我目前正在ActionFilterAttribute中设置文化。当我在web.config-File中设置文化时,一切正常。
<globalization culture="de-DE" uiCulture="de-DE" />
尽管如此,我需要能够为用户改变运行时个人文化。也许ActionFilterAttribute在这里是错误的位置?我需要访问cookie数据..
答案 0 :(得分:0)
将此行添加到Web.Config文件。
<globalization uiCulture="auto:ru-RU" culture="auto:ru-RU" requestEncoding="utf-8" responseEncoding="utf-8"/>