Foros del Web » Programando para Internet » PHP »

Web en varios idiomas en diferentes dominios.

Estas en el tema de Web en varios idiomas en diferentes dominios. en el foro de PHP en Foros del Web. Hola, tengo una web en dos idiomas, por ejemplo tengo www.dominioespañol.com y www.dominioingles.com las dos webs tiene el mismo diseño pero cambian los texto de ...
  #1 (permalink)  
Antiguo 19/04/2010, 15:40
 
Fecha de Ingreso: diciembre-2006
Mensajes: 173
Antigüedad: 17 años, 11 meses
Puntos: 2
Web en varios idiomas en diferentes dominios.

Hola,

tengo una web en dos idiomas, por ejemplo tengo www.dominioespañol.com y www.dominioingles.com las dos webs tiene el mismo diseño pero cambian los texto de idiomas, las carpetas y nombres de archivos.

En cada web tengo el menu con un include menu.php y por ejemplo me gustaria hacer en el menu que si estoy en www.dominioespañol.com/directorio/index.php y pincho en la bandera ingles me vaya a http://www.dominioingles.com/otrodir...otro/index.php que seria el mismo archivo que el español pero en otro idioma y en otro directorio.

Como podria hacer esto en php? Se me ocurren algunas cosas chapuzas pero espero vuestras opiniones, no me importaria crear un archivo con el listado de todas las url en cada idioma, porque los archivos no van a cambiar ni se van actualizar.

Espero opiniones y consejos.
Gracias
  #2 (permalink)  
Antiguo 19/04/2010, 16:26
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Web en varios idiomas en diferentes dominios.

Podrías tomar los datos de la cabecera usando
Código PHP:
Ver original
  1. echo $_SERVER['HTTP_REFERER'];
o podrías en el enlaces que uses, almacenar la información de done se encuentra la persona y la redireccionamos. Ejemplo:
Código PHP:
Ver original
  1. <a href='http://dominioeningles.com/<?php echo $_SERVER['PHP_SELF']; ?>'>English</a>
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 19/04/2010 a las 16:39
  #3 (permalink)  
Antiguo 19/04/2010, 16:31
 
Fecha de Ingreso: diciembre-2006
Mensajes: 173
Antigüedad: 17 años, 11 meses
Puntos: 2
Respuesta: Web en varios idiomas en diferentes dominios.

El problema es que no usan el mismo directorio ni nombre de archivo en el otro dominio.

He pensado hacer un array con los links al otro idioma, asi que pongo yo a mano todo el menu con los links al otro idioma y listo o no se...
  #4 (permalink)  
Antiguo 19/04/2010, 16:59
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Web en varios idiomas en diferentes dominios.

Me perdí, en el primer post indicas que tienen el mismo diseño y las carpetas y ahora indicas que no. Bueno una forma de lograrlo es que hagas un array que contenga los dos datos de ambos dominios, y que compares si te encuentras en algunos de ellos entonces que tome el segundo valor algo así:
Código PHP:
Ver original
  1. <?php
  2. $arr = array();
  3. $arr[] = array('/index.php','/index.php');
  4. $arr[] = array('/noticia.php','/news.php');
  5. $arr[] = array('/comentario.php','/comment.php');
  6. foreach($arr as $v){
  7.     if(($k = array_search($_SERVER['PHP_SELF'],$v)) !== false){
  8.         $k = ($k == 0 ? 1 : 0);
  9.         echo $v[$k];
  10.         break;
  11.     }
  12. }
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 19/04/2010, 17:04
 
Fecha de Ingreso: abril-2010
Mensajes: 83
Antigüedad: 14 años, 7 meses
Puntos: 1
Cita:
Iniciado por abimaelrc Ver Mensaje
Me perdí, en el primer post indicas que tienen el mismo diseño y las carpetas y ahora indicas que no. Bueno una forma de lograrlo es que hagas un array que contenga los dos datos de ambos dominios, y que compares si te encuentras en algunos de ellos entonces que tome el segundo valor algo así:
Código PHP:
Ver original
  1. <?php
  2. $arr = array();
  3. $arr[] = array('/index.php','/index.php');
  4. $arr[] = array('/noticia.php','/news.php');
  5. $arr[] = array('/comentario.php','/comment.php');
  6. foreach($arr as $v){
  7.     if(($k = array_search($_SERVER['PHP_SELF'],$v)) !== false){
  8.         $k = ($k == 0 ? 1 : 0);
  9.         echo $v[$k];
  10.         break;
  11.     }
  12. }


:apla uso:: aplauso:

SOS UN EXPERTO MAESTRO

Cita:
Iniciado por abimaelrc Ver Mensaje
Me perdí, en el primer post indicas que tienen el mismo diseño y las carpetas y ahora indicas que no. Bueno una forma de lograrlo es que hagas un array que contenga los dos datos de ambos dominios, y que compares si te encuentras en algunos de ellos entonces que tome el segundo valor algo así:
Código PHP:
Ver original
  1. <?php
  2. $arr = array();
  3. $arr[] = array('/index.php','/index.php');
  4. $arr[] = array('/noticia.php','/news.php');
  5. $arr[] = array('/comentario.php','/comment.php');
  6. foreach($arr as $v){
  7.     if(($k = array_search($_SERVER['PHP_SELF'],$v)) !== false){
  8.         $k = ($k == 0 ? 1 : 0);
  9.         echo $v[$k];
  10.         break;
  11.     }
  12. }
sabes de todo che mmuy bien

Última edición por GatorV; 20/04/2010 a las 09:04
  #6 (permalink)  
Antiguo 22/04/2010, 11:25
 
Fecha de Ingreso: diciembre-2006
Mensajes: 173
Antigüedad: 17 años, 11 meses
Puntos: 2
Respuesta: Web en varios idiomas en diferentes dominios.

Hey abimaelrc gracias por la informacion, eso es lo que queria hacer, poner todos los links del menus en el array, pero nose como hacerlo funcionar con el codigo que me has pasado :(

Como enlazo ese codigo a una bandera del idioma por ejemplo y cuando pinche en la bandera ingles que esta en comentario.php le lleve a comment.php
  #7 (permalink)  
Antiguo 25/04/2010, 16:45
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Web en varios idiomas en diferentes dominios.

Crea un archivo de php adicional y este redirecione. Solo debes enviar la información a ese archivo por el método de GET, es decir
Código PHP:
Ver original
  1. <a href="redireccionar.php?url=<?php echo $_SERVER['PHP_SELF']; ?>">[aqui va la bandera]</a>
Código PHP:
Ver original
  1. <?php
  2. if(empty($_GET['url'])){exit;}
  3. //Limpiamos la url por si hay algún ataque XSS
  4. $url = strip_tags(trim(urldecode($_GET['url'])));
  5. $arr = array();
  6. $arr[] = array('/index.php','/index.php');
  7. $arr[] = array('/noticia.php','/news.php');
  8. $arr[] = array('/comentario.php','/comment.php');
  9. foreach($arr as $v){
  10.     if(($k = array_search($url,$v)) !== false){
  11.         $k = ($k == 0 ? 1 : 0);
  12.         header('Location: ' . $v[$k]);
  13.         break;
  14.     }
  15. }
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 25/04/2010 a las 16:51
  #8 (permalink)  
Antiguo 26/04/2010, 03:40
 
Fecha de Ingreso: diciembre-2006
Mensajes: 173
Antigüedad: 17 años, 11 meses
Puntos: 2
Respuesta: Web en varios idiomas en diferentes dominios.

Que bueno esta quedando!!

pero me da error en la linea 10 ( if(($k = array_search($url,$v)) !== false){ ) del archivo que redirecciona:
PHP Parse error: syntax error, unexpected T_STRING
  #9 (permalink)  
Antiguo 26/04/2010, 08:04
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Web en varios idiomas en diferentes dominios.

No le veo errores, lo probé y me sale bien
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #10 (permalink)  
Antiguo 26/04/2010, 10:14
 
Fecha de Ingreso: diciembre-2006
Mensajes: 173
Antigüedad: 17 años, 11 meses
Puntos: 2
Respuesta: Web en varios idiomas en diferentes dominios.

lo voy a probar de nuevo a ver..
  #11 (permalink)  
Antiguo 26/04/2010, 10:20
 
Fecha de Ingreso: diciembre-2006
Mensajes: 173
Antigüedad: 17 años, 11 meses
Puntos: 2
Respuesta: Web en varios idiomas en diferentes dominios.

abimaelrc eres el mejor!!!

Me funciona perfectamente!! ahora lo que hago es poner todo el menu en el array de un dominio con el menu del otro dominio y me funciona perfecto!!

Muchas gracias tio!!!

*** Me ha surgido una duda, si en el menu que he puesto en el array, no existe un archivo, se queda en blanco??

Última edición por userman; 26/04/2010 a las 10:22 Razón: duda
  #12 (permalink)  
Antiguo 26/04/2010, 14:11
 
Fecha de Ingreso: diciembre-2006
Mensajes: 173
Antigüedad: 17 años, 11 meses
Puntos: 2
Respuesta: Web en varios idiomas en diferentes dominios.

Estoy intentando modificar el codigo, para que si sale false, que ensenñe una pagina por defecto, osea si la url no esta en el array, que ensenñe una pagina, pero no se como ponerla :(

abimaelrc, alguna de tus maravillosas sugerencias por favor.

Etiquetas: diferentes, dominios, idiomas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:05.