Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Recargar una página con otro idioma

Estas en el tema de Recargar una página con otro idioma en el foro de PHP en Foros del Web. Hola, Tenemos una página web de una inmobiliaria en varios idiomas. Lo que necesitamos es que cuando se esta viendo una propiedad (en ingles por ...
  #1 (permalink)  
Antiguo 25/08/2017, 00:56
 
Fecha de Ingreso: febrero-2008
Mensajes: 88
Antigüedad: 16 años, 1 mes
Puntos: 1
Recargar una página con otro idioma

Hola,

Tenemos una página web de una inmobiliaria en varios idiomas.
Lo que necesitamos es que cuando se esta viendo una propiedad (en ingles por ejemplo), al pulsar un botón, que se pueda ver la misma página pero en otro idioma.


Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 25/08/2017, 03:35
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 4 meses
Puntos: 154
Respuesta: Recargar una página con otro idioma

Hola Gropo,

Seguro que aquí encuentras a alguien que te lo haga.
  #3 (permalink)  
Antiguo 25/08/2017, 03:53
 
Fecha de Ingreso: febrero-2008
Mensajes: 88
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Recargar una página con otro idioma

Gracias Rúben,

Pero me gustaria algo de ayuda para poder hacerlo yo solo.

Saludos
  #4 (permalink)  
Antiguo 25/08/2017, 06:11
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 4 meses
Puntos: 154
Respuesta: Recargar una página con otro idioma

Hola Gropo,

Según has planteado tu consulta, es más una oferta de trabajo que una consulta en si.

Si lo que buscas es ayuda, deberías mostrar lo que tienes hecho, los problemas y/o fallos que te da y especificar con total claridad lo que pretendes hacer.

Creo que esto te podrá ayudar a plantear tu problema.
  #5 (permalink)  
Antiguo 25/08/2017, 07:27
 
Fecha de Ingreso: febrero-2008
Mensajes: 88
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Recargar una página con otro idioma

Gracias Rúben de nuevo,

Tu respuesta me ha sido de gran ayuda.
No se como agradecertelo. Es algo que me ha cambiado la vida por completo.

Muchas gracias, de verdad.

A ver si otra persona tiene otra idea y me puede decir otra cosa.

Última edición por Gropo; 25/08/2017 a las 07:38
  #6 (permalink)  
Antiguo 25/08/2017, 10:16
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 10 años, 8 meses
Puntos: 46
Respuesta: Recargar una página con otro idioma

Yo he visto que hacen redirect ??

Osea es.tuweb.com y si cambian pasa a en.tuweb.com

Eso significa tener todo en los diferentes idiomas. Ahora, grandes compañías como Aliexpress, si no me equivoco, tienen algoritmos o usan un servicio de traslate automático para este fin.
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.
  #7 (permalink)  
Antiguo 25/08/2017, 10:54
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Recargar una página con otro idioma

Hay algoritmos de traducción bien complejos, que no lo compartiria por aca debido a su complejidad, tambien hay empresas dedicadas a eso. Pero podrias usar get e ir aplicando mensajes con arrays algo asi

Código PHP:
Ver original
  1. function getLang($lang,$langs){
  2. if(!in_array($lang, $langs)){ return 0; } // spanish default??
  3. return $langs[$lang];
  4. }
  5.  
  6. function completeUrl($langs){
  7. $nlangs = array();
  8.     for($k=0;$k<sizeof($langs);$k++){
  9.     $nlangs["&lang=".key($langs)] = "";
  10.     next($langs);
  11.     }
  12. $keys = array_keys($nlangs);
  13. $values = array_values($nlangs);
  14. $url = str_ireplace($keys, $values, $_SERVER["REQUEST_URI"]);
  15. return $_SERVER["REQUEST_SCHEME"].'://'.$_SERVER["HTTP_HOST"].$url;
  16. }
  17. if(empty($_GET["lang"])){ $lang = "esp"; }else{ $lang = strtolower($_GET["lang"]); }
  18. $langs = array("esp"=>0,"eng"=>1,"ger"=>2,"fra"=>3, etc..);
  19.  
  20.  
  21. echo '<div>'.array("Hola", "Hello", "Hallo", "bonjour")[getLang($lang,$langs)].'</div>';
  22. echo '<div>'.array("Adios", "Bye", "Tschüss", "Au revoir")[getLang($lang,$langs)].'</div>';

Entonces en los botoncitos cambiar lenguajes, haces esto:

<a href="lang=esp">Español</a>
<a href="lang=fra">Français</a>
<a href="lang=eng">English</a>
<a href="lang=ger">Deutsch</a>

Ahora, lo unico que falta, es que el enlace te enviaría a "lang=fra", para eso lo arreglas asi:

<a href="<?=completeUrl($langs);?">&lang=fra">Françai s</a>

Y listo.

Es algo poco ortodoxo, pero son maneras de mostrarte como se pueden ir resolviendo problemas.

Saludos.

Edito, tube que modificar para resetear la url

Última edición por alvaro_trewhela; 25/08/2017 a las 12:08
  #8 (permalink)  
Antiguo 25/08/2017, 12:12
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 4 meses
Puntos: 154
Respuesta: Recargar una página con otro idioma

Cita:
Iniciado por Gropo Ver Mensaje
Gracias Rúben de nuevo,

Tu respuesta me ha sido de gran ayuda.
No se como agradecertelo. Es algo que me ha cambiado la vida por completo.

Muchas gracias, de verdad.

A ver si otra persona tiene otra idea y me puede decir otra cosa.
Hola Gropo,

Si quieres que te hagan el trabajo, no es la mejor manera de pedir ayuda y, hasta donde yo sé, aquí no se le hace el trabajo a nadie, se puede ayudar, pero cuando se ve voluntad de hacer algo, no cuando se ve un mensaje de "quiero hacer esto, gracias", al menos yo si veo esto, sin código sobre el que ayudar, no puedo ayudar en nada.

Por lo que veo, Álvaro es mucho más generoso...
  #9 (permalink)  
Antiguo 27/08/2017, 15:53
 
Fecha de Ingreso: febrero-2008
Mensajes: 88
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Recargar una página con otro idioma

Hola Álvaro,

Muchas gracias por la ayuda.
He seguido tus indicaciones.
He creado una variable de sistema donde guardo la página activa:
.........................
$_SESSION['pag_activa'] = "http://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
.....

Luego, pulsar el enlace, cambio el idioma y voy redirecionando la página:
..........................
<?php
$_SESSION['currLang'] = 'en';

if(!empty($_SESSION['pag_activa']))
{
header('Location:'.$_SESSION['gropo']);
}
?>
........................

Muchas gracias de nuevo.

Por otro lado, no entiendo muy bien la actitud de Rúben, no he pedido a nadie que me haga mi trabajo, simplemente si alguien me puede dar una idea o sugerencia(tal como hizo Árturo y Kathyu a los cuales les agradezco de nuevo).
No se por que cree que si pongo 50 o 100 líneas de una página php tengo mas interes en resolver el problema que tengo...

En fin, parece ser que a algunos les gusta estar en medio de la atención aunque no tengan nada que decir.

Última edición por Gropo; 27/08/2017 a las 17:04
  #10 (permalink)  
Antiguo 27/08/2017, 17:41
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 7 meses
Puntos: 2237
Respuesta: Recargar una página con otro idioma

Gropo, no es que pongas determinada cantidad de líneas, sino mostrar algo de código que hayas intentado y no te funcione, para saber lo que estás haciendo mal y tratar de ofrecerte una ayuda más concreta; de lo contrario parecerá solicitud para completar una tarea escolar o que alguien más haga el código por ti.

Supongo que no es tu caso; lamentablemente hay muchos que vienen con la idea de encontrar una solución con el mínimo esfuerzo y nada de ganas de aprender.

Finalmente, no tomes tan personal los comentarios de Rubén, si tienes oportunidad de continuar participando en FDW, verás que le gusta ayudar a los demás.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: idioma, página
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 08:08.