什么是将ASP.NET MVC应用程序本地化的最佳实践?
我想介绍两种情况:
- IIS中的一种应用程序部署,可以处理多种语言
- 一种语言/应用程序部署。
在第一种情况下,您应该使用某种基于视图的东西吗,例如〜/ View / EN,〜/ View / FI,〜/ View / SWE或其他?
第二种情况,仅通过Web.config基于应用程序的配置并将这些不同的语言指向不同的URL呢?
什么是将ASP.NET MVC应用程序本地化的最佳实践?
我想介绍两种情况:
在第一种情况下,您应该使用某种基于视图的东西吗,例如〜/ View / EN,〜/ View / FI,〜/ View / SWE或其他?
第二种情况,仅通过Web.config基于应用程序的配置并将这些不同的语言指向不同的URL呢?
Answers:
您还可以在这里看看ASP.NET MVC 2本地化完整指南和ASP.NET MVC 2模型验证(带有本地化),如果您使用ASP.NET MVC 2,那么这些完整的内容将对您有所帮助。
您将以与传统ASP.NET Web窗体应用程序非常相似的方式本地化ASP.NET MVC应用程序。
您不会为每种语言使用不同的页面/视图,但是每个页面将使用附属程序集支持多种语言。
您可以查看Matt Hawley的博客条目,以获取更多说明和示例。
不幸的是,Matt Hawley的原始代码在ASP.NET MVC的发行版中不起作用。查看更新的帖子:http : //blog.eworldui.net/post/2008/10/ASPNET-MVC-Localization-via-View-Engines.aspx
通常,在VS 2008 / ASP.NET MVC世界中,本地化过程并不像传统的Web表单那样流畅。http://www.guysmithferrier.com/post/2009/05/Localizing-ASPNET-MVC.aspx
看看Rob Connery的MvcStore项目。他的屏幕录像显示了解决全球化问题的一种方法。
关于如何本地化asp.net mvc应用程序的最新更新,有一个很好的教程,内容涉及所有方面,包括DisplayName本地化,验证,使用路由(在URL中存储区域性名称),输出缓存问题等等... Alex Adamyan博客-虽然我的键盘轻轻哭泣
实际上,我们通过重写DataAnnotationsMetadaDataProvider完全不同 。您可以在其中确保将DisplayNameAttribute值解析为正确的语言。实际上,只有在有帮助的情况下,您甚至可以摆脱该属性并按字段名称进行解析。
我前一段时间写了这篇文章。它使用自定义视图引擎。 http://blog.oimae.com/2011/02/20/cultured-view-engine-for-mvc/
和另一个针对不同解决方案的教程