Ver Mensaje Individual
  #9 (permalink)  
Antiguo 12/04/2016, 03:22
Chivitoni
 
Fecha de Ingreso: febrero-2015
Mensajes: 56
Antigüedad: 9 años, 3 meses
Puntos: 1
Respuesta: Cambio de idioma no funciona en Firefox

Cita:
Iniciado por xfxstudios Ver Mensaje
la verdad no se que le haces, si es de php o no el problema, el asunto es que si no te genera la variable de sesion algo hay allí, yo traduje una web fué de esta manera:

Este codigo recibe la peticion de idioma y lo cargo por medio de un include en la cabecera de las paginas
Código PHP:
Ver original
  1. header('Cache-control: private'); // IE 6 FIX
  2.  
  3. if(isset($_GET['lang'])){
  4.     $lang = $_GET['lang'];
  5.  
  6.     //registra sesion
  7.     $_SESSION['lang'] = $lang;
  8.    
  9.     //define cookie
  10.     setcookie('lang', $lang, time() + (3600 * 24 * 30));
  11.    
  12.     //busca en variables cookie y session
  13. }else if(isset($_SESSION['lang'])){
  14.     $lang = $_SESSION['lang'];
  15. }else if(isset($_COOKIE['lang'])){
  16.     $lang = $_COOKIE['lang'];
  17. }else{
  18.     $lang = 'es';
  19. }
  20.  
  21. switch ($lang) {
  22.   case 'en':
  23.   $lang_file = 'lang/lang.en.php';
  24.   break;
  25.  
  26.   case 'es':
  27.   $lang_file = 'lang/lang.es.php';
  28.   break;
  29.  
  30.   case 'po':
  31.   $lang_file = 'lang/lang.po.php';
  32.   break;
  33.  
  34.   default:
  35.   $lang_file = 'lang/lang.es.php';
  36.  
  37. }
  38.  
  39. include_once $lang_file;


y la traducción la hago de esta manera:


Código PHP:
Ver original
  1. /*
  2. ------------------
  3. Language: English
  4. ------------------
  5. */
  6.  
  7. define('LANG_TIT1' , '¿WHY CHOOSE US?');
  8. define('LANG_RESTIT1','We are a company that offers a modern, innovative and unique management system Occupational Safety and Health, designed to simplify the work plans of the safety program with a systematic approach, an easy, fast, safe and efficient.');

y así con cada linea en la que tenga que definir el idioma, luego en el archvo solo cargo esto donde debo hacer la traducción:

Código PHP:
Ver original
  1. <?php echo LANG_TIT1; ?>

y ya está, me funciona en cualquier navegador y hasta en los móviles sin problemas. Saludos y espero te sirva
Probé eso tambien y nada, al final di con la solución cambiado el formulario:
Código PHP:
Ver original
  1. <button type="submit" name="idioma" class="botonidioma icoidioma" value="GALEGO" onClick="this.form.submit();">
  2.                             <input type="image"  src="img/galego.png" class="ficoidioma3"/>
  3.                         </button>
  4.                         <button type="submit" name="idioma" class="botonidioma icoidioma" value="ESPANHOL" onClick="this.form.submit();">
  5.                             <input type="image"  src="img/español.png" class="ficoidioma"/>
  6.                         </button>
  7.                         <button type="submit" name="idioma" class="botonidioma icoidioma" value="INGLES" onClick="this.form.submit();">
  8.                              <input type="image"   src="img/ingles.png" class="ficoidioma2"/>
  9.                         </button>
Y metiendole css a los botones para que fueran transparentes y tuvieran los iconos de fondo.Muchas gracias a todos igualmente.