Cómo localizar la aplicación ASP.NET MVC?

¿Cuál sería la mejor práctica para localizar su aplicación ASP.NET MVC?

Me gustaría cubrir dos situaciones:

  • implementación de una aplicación en IIS que manejaría varios idiomas
  • un lenguaje / implementación de aplicaciones.

En la primera situación, ¿debería ir con algún tipo de vista basada en, ~ / View / EN, ~ / View / FI, ~ / View / SWE o algo diferente?

¿Qué pasa con el segundo caso, solo la configuración basada en la aplicación a través de Web.config y apuntar estos diferentes idiomas a diferentes URL?

También puede consultar la guía completa de localización ASP.NET MVC 2 y la validación de modelo ASP.NET MVC 2 con localización. Estas entidades le ayudarán si trabaja con ASP.NET MVC 2.

Localizaría su aplicación ASP.NET MVC mucho de la misma manera que lo haría con una aplicación clásica ASP.NET Web Form.

No usaría diferentes páginas / vistas para cada idioma, pero cada página admitiría varios idiomas utilizando ensambles satelitales.

Puede consultar la entrada del blog de Matt Hawley para obtener más explicaciones y ejemplos.

Desafortunadamente, el código original de Matt Hawley no funciona en la versión de lanzamiento de ASP.NET MVC. Echa un vistazo a una publicación actualizada: http://blog.eworldui.net/post/2008/10/ASPNET-MVC-Localization-via-View-Engines.aspx

En general, el proceso de localización no es tan fluido en el mundo VS 2008 / ASP.NET MVC como lo es con los formularios web tradicionales. http://www.guysmithferrier.com/post/2009/05/Localizing-ASPNET-MVC.aspx

Eche un vistazo al proyecto MvcStore de Rob Connery. Él hace un screencast que muestra una forma de resolver el problema de la globalización.

http://wekeroad.com/2008/04/24/mvcstore-part-5

Nunca he estado convencido de manejar la localización dentro de un formulario como sugiere Elijah: las diferentes longitudes y direcciones pueden llevar a formas muy complejas o variadas.

Solo estoy comenzando con MVC, pero tomando el método de desacoplamiento, querría usar el mismo controlador independientemente del idioma (tratar el idioma solo como una vista) – esto le daría a usted / Controller / Action / language / form

Hay un buen tutorial con una actualización reciente sobre Cómo localizar la aplicación asp.net mvc que cubre todos los aspectos, incluida la localización de DisplayName, validación, uso de enrutamiento (almacenamiento de nombre de cultura en URL), problemas con la memoria caché de resultados, etc. Alex Adamyan Blog – Mientras mi teclado llora gentilmente

En realidad fuimos completamente diferentes al anular el DataAnnotationsMetadaDataProvider . Allí puede asegurarse de que los valores de DisplayNameAttribute se resuelvan en el idioma correcto. De hecho, incluso podrías deshacerte de ese atributo y resolverlo por nombres de campo solo si eso fuera de ayuda.

Escribí este artículo hace un tiempo. Utiliza un motor de vista personalizado. http://blog.oimae.com/2011/02/20/cultured-view-engine-for-mvc/

Y otro tutorial para una solución diferente

Tutorial: Crear localización ASP.NET MVC con detección de idioma