Visualizzazione risultati 1 fino 1 di 1

Discussione: riconoscere lingua del visitatore e mostrare pagina in inglese

  1. #1
    nrgjack non è connesso Utente
    Data registrazione
    05-06-2008
    Messaggi
    125

    Predefinito riconoscere lingua del visitatore e mostrare pagina in inglese

    come da titolo, nonostante abbia cercato sul forum non ho trovato niente di soddisfacente (ho trovato un javasctipt ma non mi convinceva..).

    premessa:
    il mio problema è che il sito è pieno di file.. e dovrei cercare di riordinarlo pian piano,
    inziare a creare un multilingua potrebbe essere carino. e aiutarmi nel riordinamento.
    ora la mia struttura è questa:
    nrgjack.altervista.org/ la base
    dento ci sono i file della main page, e le cartelle immagini, wordpress, phpbb, download e varie.

    volevo creare una versione "lite" del sito su cui applicare il multilingua.

    ad esempio /language/ come base del multilingua e home page lite.

    al cui interno inserire un file di index con il seguente codice
    Codice PHP:
    <?php
    $lang
    = $_SERVER['HTTP_ACCEPT_LANGUAGE'];

    if (
    substr($lang, 0, 2) == 'it') {
    echo
    "italiano";
    }

    if (
    substr($lang, 0, 2) == 'en') {
    echo
    "inglese";
    }
    ?>
    trovato in rete (non so assolutamente niente di php, questo dovrebbe redirezionare in base alla lingua del browser)
    e in base alla lingua andare nella sezione /language/it/ oppure /language/en/

    secondo voi funziona?

    avete consigli o suggerimenti da darmi al riguardo?

    grazie ciao a tutti



    EDIT:
    lo script che ho postato sopra non serve a una fava,
    ho risolto creando un index.php contenente questo script trovato in giro:
    Codice PHP:
    <?php
    $default
    = 'en/index.php';
    $redirect = array( 'fr' => 'fr/index.php',
    'it' => 'it/index.php',
    'es' => 'es/index.php',
    'pt' => 'pt/index.php', );

    ## / 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();
    }
    ?>
    e nella stessa directory dell'index.php contenente lo script una cartella "it" una "en" etcc


    lo posto perche magari serve ad altri,

    mi sorge un ulteriore problema pero...
    se uno volesse cambiare la lingua cosa dovrei fare?
    Ultima modifica di nrgjack : 22-10-2008 alle ore 18.40.19 Motivo: risolto..

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •