Presentamos los códigos y comentamos el funcionamiento y utilidad de los scripts lecturalengua.inc y cambiolengua.inc
El archivo lecturalengua.inc no es más que una función que permite la conexión a una base de datos seguida de la selección e impresión del valor de un campo de un determinado registro:
Para que usando la misma página podamos visualizar los textos en inglés o en español lo que hemos hecho es almacenar los posibles textos que aparecen en la aplicación en una base de datos en una tabla que hemos bautizado "lengua". Esta tabla consta de tres columnas: Una con los mensajes en castellano, otra con los mismos mensajes en inglés y otra con el nombre de la variable de tales mensajes.
Para que un determinado mensaje sea visualizado podríamos habernos limitado a hacer una llamada a la base cada vez que queramos ponerlo en pantalla pero, tratándose de un trabajo tan mecánico y que va a ser repetido tantas veces, resulta mucho más practico definir una función que realice la tarea de una manera automática.
Este es el cometido de lectura lengua.inc donde la función "imprimir" seleccionara el texto a imprimir basándose para ello en la lengua que ha sido previamente definida y en el nombre de la variable del mensaje. Una vez la sentencia de selección en SQL es creada y ejecutada, el paso siguiente será visualizarla en pantalla por medio de la instrucción Response.Write.
Cabe señalar que, para que un script de este tipo funcione, hace falta crear previamente la conexión con la BD. Esto ya ha sido hecho (lo veremos) en el archivo connon.inc incluido en la totalidad de las páginas que efectuan llamadas a la base de datos.
El ultimo archivo de tratamiento de lengua es cambiolengua.inc que nos permite cambiar de una lengua a otra a partir de simples enlaces hipertexto por los que pasamos la variable "nuevalengua" que será tratada posteriormente por testlengua.inc tal como ya hemos visto:
Como puede verse, el hecho de cambiar de lengua envía al usuario a la página de inicio. Esto podría ser modificado elaborando un poco más este archivo. Lo dejamos como ejercicio para vosotros. Por otra parte, ni que decir tiene, que los enlaces en una aplicación podrían ser sustituidos por banderitas.
Este kit de gestión de lenguas resulta muy útil cuando pensamos en crear una página multilingüe. Es verdad que para dos lenguas puede resultar algo pesado y podríamos pensar en otras formas menos torcidas de llevar a cabo esta tarea. No obstante, cuando las lenguas a traducir son más, esta alternativa es sin duda de gran utilidad y permite rápidas actualizaciones, correcciones e introducciones de nuevas lenguas con un esfuerzo mínimo. Hay que pensar también en el trabajo que se ahorra el traductor entre buscar textos en un código HTML o traducir directamente una base de datos.
Ir la librería
<% 'Funcion que selecciona la lengua en la que se imprime el texto Function imprimir(mensaje) imprimir="Select "&Session("lengua")&" From lengua Where variable Like '"&mensaje&"'" set im = Conn.Execute(imprimir) Response.Write im(Session("lengua")) im.Close End Function %> |
Para que usando la misma página podamos visualizar los textos en inglés o en español lo que hemos hecho es almacenar los posibles textos que aparecen en la aplicación en una base de datos en una tabla que hemos bautizado "lengua". Esta tabla consta de tres columnas: Una con los mensajes en castellano, otra con los mismos mensajes en inglés y otra con el nombre de la variable de tales mensajes.
Para que un determinado mensaje sea visualizado podríamos habernos limitado a hacer una llamada a la base cada vez que queramos ponerlo en pantalla pero, tratándose de un trabajo tan mecánico y que va a ser repetido tantas veces, resulta mucho más practico definir una función que realice la tarea de una manera automática.
Este es el cometido de lectura lengua.inc donde la función "imprimir" seleccionara el texto a imprimir basándose para ello en la lengua que ha sido previamente definida y en el nombre de la variable del mensaje. Una vez la sentencia de selección en SQL es creada y ejecutada, el paso siguiente será visualizarla en pantalla por medio de la instrucción Response.Write.
Cabe señalar que, para que un script de este tipo funcione, hace falta crear previamente la conexión con la BD. Esto ya ha sido hecho (lo veremos) en el archivo connon.inc incluido en la totalidad de las páginas que efectuan llamadas a la base de datos.
El ultimo archivo de tratamiento de lengua es cambiolengua.inc que nos permite cambiar de una lengua a otra a partir de simples enlaces hipertexto por los que pasamos la variable "nuevalengua" que será tratada posteriormente por testlengua.inc tal como ya hemos visto:
<strong><a href="home.asp?nuevalengua=es">Español</a> <a href="home.asp?nuevalengua=en">English</a> </strong> |
Como puede verse, el hecho de cambiar de lengua envía al usuario a la página de inicio. Esto podría ser modificado elaborando un poco más este archivo. Lo dejamos como ejercicio para vosotros. Por otra parte, ni que decir tiene, que los enlaces en una aplicación podrían ser sustituidos por banderitas.
Este kit de gestión de lenguas resulta muy útil cuando pensamos en crear una página multilingüe. Es verdad que para dos lenguas puede resultar algo pesado y podríamos pensar en otras formas menos torcidas de llevar a cabo esta tarea. No obstante, cuando las lenguas a traducir son más, esta alternativa es sin duda de gran utilidad y permite rápidas actualizaciones, correcciones e introducciones de nuevas lenguas con un esfuerzo mínimo. Hay que pensar también en el trabajo que se ahorra el traductor entre buscar textos en un código HTML o traducir directamente una base de datos.
Rubén Alvarez
Rubén es doctor en química y programador principalmente en sus ratos libres con...