net change asp.net-mvc-3 localization internationalization globalization

asp.net mvc 3 - change - ASP.NET-MVC 3: localización



globalization web config (2)

Luego encontré una publicación que advertía sobre el uso de App_GlobalResouces y App_LocalResources. (Enlazar)

Encontré esa publicación extremadamente útil. El método explicado allí es muy limpio. Aquí hay un fragmento de mi vista de índice recién creada usando ese método:

@using Resources.Index @{ ViewBag.Title = "Index"; } <h1>@Index.Title</h1>

No creo que haya un método definitivo de do-it-this-way-or-else, por lo que optar por el método más limpio me parece un buen negocio.

Estoy a punto de implementar la localización para mi aplicación web MVC3. Buscando en Google a través de grandes cantidades de formas de hacerlo, no estaba seguro de la forma de implementar esto. Encontré algunas maneras de hacerlo:

La primera opción que encontré fue usar App_GlobalResources y ViewData, y culture select con Map Routing. ( Link )

Segundo, crear una carpeta de Recursos separada en mi proyecto y estructurarla como las carpetas Modelo y Ver. Luego crea los archivos de recursos en esas carpetas. Usar esas cadenas de recursos sería como usar el Viewbag. Luego edite Global.asax para manejar el cambio de cultura y crear una vista parcial para permitir el cambio de culturas. Las instrucciones para hacer esto son muy completas, así que esta podría ser la mejor opción. ( Link )

El tercero era usar DisplayAttribute y resx-files. Este fue un poco confuso, no pude encontrar el tipo de información para poder entender cómo se implementa realmente y sus restricciones. ( Link )

Cuarto fue crear una clase personalizada para manejar los recursos. Esto parecía bastante elegante y fácil de implementar y usar, pero no se encontró información real si realmente funcionó. ( Link )

Luego encontré una publicación que advertía sobre el uso de App_GlobalResouces y App_LocalResources. ( Link )

Después de ir a través de posibles formas de hacer la localización. No pude encontrar un camino que fue universalmente aprobado o aceptado. Esto me dejó pensando, ¿cuál de estos, o algunos que no encontré, serían la mejor manera de implementar la localización en ASP.NET MVC3?


He encontrado una forma más fácil de manejar la localización en la que no tiene que usar archivos o atributos de recursos. Implica proveedores de metadatos personalizados.

MVC3 utiliza proveedores de metadatos para obtener todas las cadenas de texto. Mi enfoque le permite utilizar tablas de cadenas, una base de datos, archivos planos o cualquier otra fuente para proporcionar las traducciones. Todo lo que necesita hacer es heredar dos interfaces.

Lea sobre esto aquí: http://blog.gauffin.org/2011/09/easy-model-and-validation-localization-in-asp-net-mvc3/

Editar

Todo está documentado en github y hay paquetes nuget: https://github.com/jgauffin/griffin.mvccontrib