martes, 1 de diciembre de 2015

La solución multilenguaje en MyFamilyServer (introducción)

Siguiendo el Roadmap de MyFamilyServer (Roadmap que cambie ya que tenia previstas algunas cosillas pero teniendo gran parte de visitas de lengua 'En' es buena idea adaptarse al mercado) bueno  ... Siguiendo el Roadmap de MyFamilyServer, el paso siguiente ha sido multilenguaje.

La solución multi lenguaje ha quedado muy chula, no la he puesto en producción todavía (no esta disponible para descargar) pero voy a explicar bien la solución para que, el que le interese hacer un desarrollo web PHP HTML multi-idioma pueda utilizar la solución utilizada en MyFamilyServer.

En el caso de MyFamilyServer (MyFamilyServerV2) la arquitectura utilizada es MVC (Modelo Vista Controlador -sin framework-) esto quiere decir que el código esta segmentado en tres grandes partes, una con la funcionalidad (modelo) otra con el flujo que debe seguir la aplicación (controlador) y finalmente otra parte con toda la presentación (vista). Todos los trabajos multi lenguaje se realizan en esta ultima parte, la capa de presentación. 
(¿Es posible realizar una web multi idioma en una arquitectura no MVC?, si, es posible, pero tener mezclado desarrollo de parte servidora con desarrollo de presentación y de acceso a datos es una pesadilla para el presente y el futuro, entonces, ¿puedes crear una web multilenguaje en una arquitectura no MVC?: SI puedes .. pero te va a costar un poco mas)

En la parte de presentación, en el caso de MyFamilyServer, se ha utilizado HTML, CSS y Javascript y las pantallas se desarrollan utilizando plantillas HTML.
(Plantillas HTML me refiero a código HTML que contiene etiquetas que son sustituidas por otros datos antes de presentarse al usuario, el el caso del idioma las etiquetas se sustituyen por los textos en el idioma que corresponda)(en esas mismas plantillas hay también otras etiquetas que serán sustituidas por los datos en el momento de ejecución).

Los componentes que intervienen en la presentación multi lenguaje son:
  • Las plantillas HTML.
  • El código Javascript (en ocasiones, en javascript se realizan validaciones en las que se dice al usuario 'el formato de el campo debe ser xxx' y este comentario debe ser multi idioma también).
  • Un diccionario donde se almacena la traducción. 
El proceso consta de tres pasos:
  • Como proceder en el momento del desarrollo.
  • Que ocurre en el momento de generar la traducción.
  • Que ocurre en ejecución.

MyFamilyServerV2, no esta todavía disponible para descargar, comencé con multi idioma y he realizado muchos cambios mas y próximamente dejare una versión nueva, totalmente nueva, del proyecto disponible en la web. 
Esta entrada el el blog (Solución multilenguaje en MyFamilyServer) esta dividida en varias partes para que sea un poco mas fácil de tratar.

 

No hay comentarios:

Publicar un comentario