Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    reindirizzamento alla pagina in base alla lingua del browser

    ciao,

    io ho questo script che reindirizza l'utente alla pagina index in base alla lingua installata sul browser. cioè se l'utente ha un browser con installata la lingua inglese, viene indirizzato alla index in inglese, etc.
    questo è lo script:


    codice:
    <?php
    
    $default = 'eng/index.htm';
    
    $redirect = array('fr' => 'fra/index.htm',
                            'it' => 'ita/index.htm',
                            'es' => 'esp/index.htm',
                            'pt' => 'por/index.htm', );
     
    ## / config ##
    
    // get the language string proposed by the browser if there is one
    
    function lang_from_browser() {
    
        // it;q=1.0,fr;q=0.9,en;q=0.8 OR fr-ch
    
        $lang_list = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
    
        //echo $lang_list ;exit(); 
        
        $lang_block = explode(',', $lang_list);
    
       
        
        $lang_ar = array();
    
        foreach ($lang_block as $t) {
    
            array_push($lang_ar, strtolower(substr(trim($t), 0,2)));
    
        }
    
            return $lang_ar;
    
    }
    
    // redirect to the browser language if there is one
    
    function redirect($lang){
    
        global $redirect;
    
        if(count($lang) > 0){
    
          foreach($lang as $l){
    
              if(array_key_exists($l,$redirect)){
    
                  header('Location: '.$redirect[$l]);
    
                  die();
    
              }
    
          }
    
        }
    
        return true;
    
    }
    
    
    ## redirect ##
    
    if(redirect(lang_from_browser())){
    
        header('Location: '.$default);
    
        die();
    
    }
    
    ?>
    la domanda : con php è possibile inidividuare la lingua del browser SOLO se ne ho installata una, oppure è possibile far individuare la lingua dal semplice fatto che ad esempio ho il browser in italiano?

    grazie per la risposta

  2. #2
    a mia conoscenza tutti i browser, anche senza installarla, hanno una lingua predefinita, in genere è la lingua nella quale è installato il browser ma non è per forza di cose sempre così

  3. #3
    il fatto appunto è che facendo delle prove, ho notato ad esempio che IE e firefox non hanno una lingua predefinita e lo script mi apre la index con la lingua di default che ho impostato,cioè in inglese, mentre safari per mac c'è l'ha e mi apre la pagina in italiano.
    quindi non mi resta che avvisare l'utente che se vuole aprire la index nella sua lingua, dovrà impostarla nel browser.

    salvo smentite...

  4. #4
    strano, il mio IE è impostato su it-ch perché questa à la lingua impostata in Windows all'installazione, e per Firefox mi son trovato con l'inglese messo di default e io ho aggiunto le altre (ovviamente non ci si deve accontentare di installarlo ma lo si deve configurare ...)

  5. #5
    STRONZATA: perchè non provi con js? A me di solito quando mi imbatto in uno di quei siti di webmaster che vogliono far credere di avere il tuo PC in pugno segnala la lingua in italiano (Uso firefox).
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.