I created 3 language packs for my site: English, Spanish and French. I am just having trouble implementing them based on user selection. I have the following drop down menu:
<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>
How can I include the language files based on what the user selects, I just don't know what to put as the condition in the if statement.
Thanks.
At first, save the value that the user selected in the user session. e.g.:
switch($_POST['lang']) {
case 'en': $_SESSION['lang'] = 'English'; break;
case 'sp': $_SESSION['lang'] = 'Spanish'; break;
default: $_SESSION['lang'] = 'English'; break;
}
On every page request, fetch the language files from the relevant language folder according to the value the you saved.
For example, this how will look the files structure:
Then, whenever you need to load a text file, use:
function load_text_file($filename) {
include 'languages/' . $_SESSION['lang'] . '/' . $filename.'php';
return $txt; // $txt should be an array
}
//...
$text = array();
$text += load_text_file('Global');
$text += load_text_file('Register');