·
miarroba.com
Redireccionamiento por idioma de forma permanente
 
Índice de subforos · Ayuda para webmasters · Java y Javascript
Noticias · Buscar · Tags · Tagboard · Usuarios · Fisgona
Autor Mensaje 
estemonestemon
Usuario Novato
Usuario Novato


Mensajes: 7
Desde: 07/Jul/2005
#1 ·
Redireccionamiento por idioma de forma permanente

Hola, buenas tardes. He estado mirando el foro a ver si encontraba información que me fuera útil pero no he encontrado nada parecido.

Quisiera saber como puedo hacer una página de inicio, con un selector de idioma (castellano/catalán), de forma que una vez se seleccione, mediante una cookie se mantenga en memoria esa selección, y el visitante, la próxima vez que acceda ya tiene esa opción definida y se redirecciona a la página que ha elegido.

Muchas gracias por su contestación, hasta pronto!

07/Jul/2005 17:14 GMT+1
keiichi-lskeiichi-ls
Usuario habitual
Usuario habitual

Haz clic para ver el perfil del usuario
Mensajes: 25
Desde: 03/Feb/2005
#2 ·
RE: Redireccionamiento por idioma de forma permanente

Pues bien no estoy seguro si se pueda hacer en Java pero donde te da buenos resultados es en PHP donde se puede hacer buen uso de las cokies. Sonrisa

10/Jul/2005 16:57 GMT+1
estemonestemon
Usuario Novato
Usuario Novato


Mensajes: 7
Desde: 07/Jul/2005
#3 ·
RE: Redireccionamiento por idioma de forma permanente

investigaré sobre eltema, gracias.
sabes de alguna página donde aparezca un ejemplo de script para resolver esto o más o menos por donde debe ir la cosa? supongo que no debe ser muy difícil, pero ahora esoty aprendiendo php, y todavía no lo domino como para hacer un sistema de esta complejidad.

muchas gracias por la ayuda!

10/Jul/2005 17:17 GMT+1
ja.lopezja.lopez
Machacateclados
Machacateclados


Mensajes: 140
Desde: 28/Ago/2003
#4 ·
RE: Redireccionamiento por idioma de forma permanente

Supongamos que tienes una página index.html y dos páginas una "pagina_castalleno.html" y "pagina_catalan.html". Bueno,este es el código de la página index.html donde aparecerá el formulario donde eligen el idioma si es la primera vez que la visitan. La cookie se guarda por tres meses pero ese valor se puede modificar.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>INICAL</title>
</head>
<script type="text/javascript">
// más scripts: http://personal-de-jall.blogcindario.com/
// función llamada desde el formulario
function GuardaValorEnCookie()
{
// lee el valor pasado en el formulario
for (i=0;i < document.formulario.idioma.length;i++){
if (document.formulario.idioma[i].checked){
var Idioma = document.formulario.idioma[i].value;
}
}
var Caducidad = 3; //expira a los tres meses
expireDate = new Date;
expireDate.setMonth(expireDate.getMonth() + Caducidad);
//escribe cookie;
document.cookie = "idioma" + "=" + Idioma + ";expires=" + expireDate.toGMTString()+";";
// llama a la función que chequea el idioma en la cookie
chequeaIdioma();
}
// función que chequea el idioma en la cookie
function chequeaIdioma(){
var cast = document.cookie.indexOf("cast");
// si "cast" está en la cookie redirige a "pagina_castellano.html"
if (cast != -1) document.location.href = "pagina_castellano.html";
var cata = document.cookie.indexOf("cata");
// si "cata" está en la cookie redirige a "pagina_catalan.html"
if (cata != -1) document.location.href = "pagina_catalan.html";
return;
}
chequeaIdioma();
</script>
<body>
<form name="formulario">
<INPUT TYPE="radio" NAME="idioma" VALUE="cast" checked="checked">Castellano
<INPUT TYPE="radio" NAME="idioma" VALUE="cata" >Catalán
<INPUT TYPE="button" NAME="enviar" VALUE="enviar" onClick="GuardaValorEnCookie()">
</form>
</body>
</html>


12/Jul/2005 20:31 GMT+1
ja.lopezja.lopez
Machacateclados
Machacateclados


Mensajes: 140
Desde: 28/Ago/2003
#5 ·
RE: Redireccionamiento por idioma de forma permanente

He preparado una demo del script. Se puede probar en el siguiente enlace:

http://personal-de-jall.webcindario.com/articulos/cookies_idioma.php

salu2

20/Jul/2005 08:35 GMT+1
estemonestemon
Usuario Novato
Usuario Novato


Mensajes: 7
Desde: 07/Jul/2005
#6 ·
RE: Redireccionamiento por idioma de forma permanente

Muchas gracias por tu ayuda, la verdad es que encuentro que la función es muy útil de cara a usabilidad de la página. Es muy pesado entrar en una página y que, o bien siempre te pregunten qué idioma te apetece tener, si con una vez que lo digas ya está bien, o bien tienes que tragarte la primera página en un idioma que no es el que tu quieres y siempre tienes que ir a buscar el enlace de cambio. Muy interesante tu web, por cierto Giño, y por si alguien se quiere complicar la vida un poco en php, que es lo que he investigado estos días para cambiar de idioma de manera dinámica, pruebe con una pequeña secuencia que, alomejor es de lo más "tirado" y simple que cualquier programador sabría, pero que tardé más de 6 horas en deducir...

Supongamos que tenemos los dos idiomas y nos encontramos en una sección en un idioma concreto, por ejemplo castellano: ../castellano/pagina.php, nuestra intención es que, creando una función única, capturemos el nombre del archivo que se muestra en la barra de direcciones. Para ello utilizaremos la función de php "basename()" en conjunción con la variable ya predefinida $PHP_self. Si queremos tener un selector de idioma, por ejemplo, con imágenes el código para cambiar de idioma, tantos como se quiera, por supuesto, seria:


<?
echo '<a href="../castellano/'.basename($PHP_SELF).'"><img src="bandera_castellano.gif"></a>'."\n";
// \n se utiliza para ordenar el código en la fuente, como si hicieramos un retorno de carro o un salto de linea, invisible para el explorador.

echo '<a href="../ingles/'.basename($PHP_SELF).'"><img src="bandera_castellano.gif"></a>'."\n";
?>


etcétera etcétera, tantos como idiomas queramos utilizar. Este pequeño sistema he utilizado con éxito en mi web, y la verdad es que también es algo útil. Ya se que quizá el lugar más indicado para mostrar este comentario era en el apartado sobre php, pero como el tema iba de idiomas y de encontrar soluciones a ello pues yo lo expongo, y seguramente alguien lo sabrá aprovechar.

Pese a todo, respecto a este php tengo problemas al cambiar algunos parámetros de organización de la escructura del archivo base, con lo que no me detecta los PHP_SELF ni los basename, aunque no se porque... bueno, quizá esto si que es mejor exponerlo en otro sitio!Muchas risas. Muchas gracias de nuevo por vuestra ayuda, hasta la próxima!

18/Ago/2005 20:56 GMT+1
ja.lopezja.lopez
Machacateclados
Machacateclados


Mensajes: 140
Desde: 28/Ago/2003
#7 ·
RE: Redireccionamiento por idioma de forma permanente

Gracias por tus amables palabras. Me alegro de que encuentres útil el código.

Respecto al problema que planteas al final de tu post te comentaré (espero que la gente del subforo de php no se moleste por responder aquíGiño que a veces es mejor trabajar en php con rutas absolutas y físicas. ¿Cómo saber la ruta absoluta física de una página web? Si usas la función "phpinfo()" verás que en las "PHP Variables" hay una variable llamada _SERVER["DOCUMENT_ROOT"] que te da la raiz física de tu web. Puedes almacenar ese valor en una variable "$rutabase", por ejemplo, y guardarla en un documento de configuración "config.php" que debes incluir (include) en todas tus páginas. Esa variable $rutabase puedes utilizarla para construir direcciones que ahora son físicas-absolutas y no urls. Recuerda que es una variable global.

Un poco rollo, ¿no? Espero haberte ayudado. Si no es así pásate por el subforo de php que hay una peña muy cualificada y servicial dispuesta a echar una mano. Y si te animas a ayudar tu también, pues mejor que mejor.

salu2

19/Ago/2005 09:02 GMT+1
Índice de subforos · Ayuda para webmasters · Java y Javascript
Temas similares
Asunto Autor#VisitasÚltima respuesta
Sutituir texto (idioma) en javascript08/Nov/2008, 14:00
memento2008memento2008
620627/Nov/2008, 12:33
memento2008memento2008 Ir al último mensaje del tema
Redireccionamiento de options12/Jun/2008, 16:04
astrosolastrosol
0205No hay respuestas
redireccionamiento segun sea su configuración de pantalla26/Nov/2007, 22:11
sundury31sundury31
572130/Nov/2007, 22:14
NoSetup.orgNoSetup.org Ir al último mensaje del tema
cuenta atras con redireccionamiento05/Sep/2007, 21:15
autoclasicautoclasic
0593No hay respuestas
Como Saber de que Forma Vengo??30/Ago/2005, 17:11
KSSAKSSA
230609/Sep/2005, 15:19
vhsPvhsP Ir al último mensaje del tema
Opciones:
Versión imprimible del tema
Subscríbete a este tema
Date de baja de este tema
Ir al subforo:  

TU NO PUEDES Escribir nuevos temas en este foro
TU NO PUEDES Responder a los temas en este foro
TU NO PUEDES Editar tus propios mensajes en este foro
TU NO PUEDES Borrar tus propios mensajes en este foro
Todas las fechas y horas son GMT+1. Ahora son las 05:56
Miarroba Networks, S.L. C/ 18 de Julio, 21 Bajo, 39610 Astillero (CANTABRIA) - CIF B-39512736
Inscrita en el Registro Mercantil de Cantabria, tomo 743, folio 161, libro 0, hoja S-12428, Instripción 1ª