Come implementare i language pack in PHP

Ho creato 3 pacchetti di lingue per il mio sito: inglese, spagnolo e francese. Ho solo problemi nell'implementarli in base alla selezione dell'utente. Ho il seguente menu a discesa:

<select onchange='document.location.href=this.options[this.selectedIndex].value;'> <option>Select</option> <option value="?lang=eng">US English</option> <option value="?lang=esp">Español</option> <option value="?lang=fra">Français</option> </select> 

Come posso includere i file di lingua in base a ciò che l'utente seleziona, non so proprio cosa mettere come condizione nell'istruzione if .

Grazie.

Inizialmente, salva il valore selezionato dall'utente nella session utente. per esempio:

 switch($_POST['lang']) { case 'en': $_SESSION['lang'] = 'English'; break; case 'sp': $_SESSION['lang'] = 'Spanish'; break; default: $_SESSION['lang'] = 'English'; break; } 

Su each richiesta di pagina, recupera i file della lingua dalla cartella della lingua pertinente in base al valore che hai salvato.

Ad esempio, questo come vedrà la struttura dei file:

  • Inglese
    • global.php
    • register.php
  • spagnolo
    • global.php
    • register.php

Quindi, each volta che è necessario caricare un file di text, utilizzare:

 function load_text_file($filename) { include 'languages/' . $_SESSION['lang'] . '/' . $filename.'php'; return $txt; // $txt should be an arrays } //... 

function load_text_file($filename) { include 'languages/' . $_SESSION['lang'] . '/' . $filename.'php'; return $txt; // $txt should be an arrays } //...

$ text = arrays ();
$ text + = load_text_file ('Global');
$ text + = load_text_file ('Register');

Mentre stai introducendo l'opzione tramite una string di query, puoi accedervi con

 $lang = $_GET['lang'] 

Per il mio model, quel pezzo di codice è

$_SESSION['language'] = 'english';