2009-01-05 40 views
7

Estoy buscando globalizar una aplicación que he desarrollado en asp.net mvc.ASP.NET MVC Globalización de vistas

Actualmente estoy usando archivos de recursos para almacenar mensajes que presento al usuario (es decir, cuando guardo algo en la base de datos, y el usuario muestra el mensaje "Lo que se guardó correctamente", ese texto se almacena en un archivo de recursos para que pueda localizar fácilmente el mensaje para otro idioma.

La pregunta que tengo es ¿cómo hacer esto en una vista como un todo? En este momento, tengo algunas vistas que son en su mayoría HTML con algunos .? pequeña cantidad de la lógica de presentación

¿Cuál es la mejor práctica para la localización de un punto de vista que hemos echado un vistazo aquí:

El enfoque en ese puesto parece una forma interesante para ir, pero me pregunto cómo es fácil será mantener vistas separadas para cada idioma.

NOTA: No he hecho mucha globalización o localización en asp.net en general, por lo que es posible que me falten algunas de las mejores prácticas del mundo sin mvc.

Respuesta

3

Tuvimos el mismo problema con nuestra nueva aplicación MVC and our solution is here. Mantener las vistas por separado podría ser un trabajo duro, pero mantener la misma vista con diferentes idiomas parece ser igual de difícil, decidimos que mantener toda la vista nos daría más poder, lo que se requeriría para hacer un lanzamiento para los países asiáticos.

Espero que te ayude.

0

Utilice App_LocalResources para cada carpeta de vista y coloque recursos para cada vista en la carpeta y en cada cultura.

Más información here.

0

Usted podría intentar la creación de sus rutas a ser algo así como:

RouteTable.Routes.MapRoute(
     "Globalization", 
     "{localization}/{controller}/{action}/{id}", 
     new { localization = "en-us", controller = "Globalization", action = "Index", id = "" } 
     ); 

y luego tener la localización como un parámetro para sus acciones, al igual que la identificación es un parámetro.

Cuestiones relacionadas