Sito Multilingua

  • Creatore Discussione Creatore Discussione coguaro
  • Data di inizio Data di inizio

coguaro

Utente Attivo
28 Mar 2004
32
0
0
44
www.coguaro.it
Dovrei creare un sito multilingua ho trovato diversi script tutorial e altro sia on-line che nel forum/sito solo che non sono proprio recenti e magari adesso c'è qualcosa di più funzionale/rapido/semplice
io vorrei creare il sito che automaticamente si reindirizzasse alla pagina attuale nella lingua scelta scegliendo la lingua e anche automaticamente in base alla lingua del sistema dell'utente apra direttamente la lingua migliore la struttura sarebbe uguale per tutte le lingue cambiano proprio solo i testi cosa mi consigliate??

es. io ho come lingua di sistema l'italiano e quando entro nel sito mi apre direttamente la home in italiano se poi vado in un'altra pagina mi rimane comunque in italiano quando pero da una qualunque pagina scelgo una lingua diversa automaticamente mi apre la pagina attuale nella lingua scelta senza dover inserire direttamente tutti i link corretti ma con un link standard per avere la maggior parte del codice delle pagine uguali

l'ideale sarebbe che i file con i testi siano in domini di terzo livello differenti per filtrare meglio le informazioni

spero di essermi spiegato bene
 
Ciao, mi sembra di aver capito che in base all'accesso della lingua bisogna indirizzare l'utente alla lingua madre e fai così:
PHP:
<?php

if (!isset($Language)) { // verifica se la variabile è vuota
$Language = explode(‘,’,$_SERVER[‘HTTP_ACCEPT_LANGUAGE’]); //recupera le lingue supportate dal browser
$Language = strtolower(substr(chop($Language[0]),0,2)); //seleziona il codice relativo alla lingua di default
}

if ($Language == it){
// se lingua di default è italiana non fa nulla, rimanendo all’indirizzo digitato
}

else {
header(“Location: http://www.tuosito/en/”);
// se invece la lingua di default è diversa dall’italiano rimanda automaticamente all’indirizzo della versione inglese
}
?>
per quanto riguarda la struttura, io farei:
nella root principale fai una nuova directory con nome "en" nella quale fai una copia identica del sito ma in lingua inglese.
 
diciamo che il suggerimento di filomeni già andrebbe bene almeno per l'ingresso nel sito anche se probabilmente con qualche piccola modifica solo che io vorrei anche riuscire a fare una cosa simile oltre al reindirizzamento ( che probabilmente invece di farlo ad una sottocartella lo farò ad un dominio di terzo livello) vorrei anche visto che in alto alla pagina ci sarà la scelta della lingua che se uno si trova in una determinata pagina e sceglie un'altra lingua automaticamente viene riportato alla stessa pagina nella lingua scelta ( so che questo sarebbe semplice modificando il link per ogni pagina) ma vorrei almeno il menu lingue non modificarlo per ogni pagina ma tenere una stringa che lo gestisca in automatico????
mi sono spiegato???
 
alla fine ho trovato questo codice che mi sembra funzionare bene

Codice:
<?php
function redirect() {
        //prende le prime due lettere della sottostringa di risposta
    $lang=substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);

    switch($lang) {
        case "it": {
            header("Location: /it");
            break;
        }
        case "en": {
            header("Location: /en");
            break;
        }
		  case "fr": {
            header("Location: /fr");
            break;
        }
        case "de": {
            header("Location: /de");
            break;
        }
        //tutte gli altri casi
        default: {
        }
    }
}
redirect();
?>

mi servirebbe solo un'altra cosa nel sito c'è la possibilità di passare alle altre lingue quello che vorrei è che tali link senza doverli personalizzare io per ogni pagina vorrei che selezionando uno dei link mi vada direttamente alla stessa pagina nella lingua scelta es: io sono nella lingua italiano nella pagina progetti e se scelgo il link inglese mi si sposta alla pagina progetti in inglese e questo per tutte le pagine ma senza dover personalizzare tutte le pagine e tutti i link??
c'è qualche modo???
 

Discussioni simili