Примерно так работает:
Langs.php
<?
// check if language switch as been set at url var
if ($_GET["lang_change"]) {
$_SESSION['session_name']["lang"] = $_GET["lang_change"];
}
// set value to lang for verification
$active_lang = $_SESSION['session_name']["lang"];
// verify $lang content and set proper file to be load
switch ($active_lang) {
case 'prt':
$lang_file = 'prt.php';
break;
case 'gbr':
$lang_file = 'gbr.php';
break;
case 'fra' :
$lang_file = 'fra.php';
break;
case 'esp' :
$lang_file = 'esp.php';
break;
case 'deu' :
$lang_file = 'deu.php';
break;
default:
$lang_file = 'gbr.php';
}
// load proper language file for site presentation
include_once ('$lang_file);
?>
LANG GBR FILE (gbr.php)
define("LANG_PAGETITLE_HOMEPAGE", 'Homepage');
define("LANG_BTN_KNOW_MORE", 'know more');
СПОСОБ ИЗМЕНЕНИЯ ЯЗЫКА (образец URL)
<a href="index.php?lang_change=gbr" title"">USE ENG</a>
По сути, у вас есть PHP-файлы с константами, каждый файл с языком.
При нажатии вы устанавливаете URL-адрес var (например: lang_change = lang).
Это приведет к перезагрузке страницы, и файл langs.php, включенный в начало вашего index.php, загрузит выбранный язык ...
Если вам нужно больше объяснений по этому поводу, оставьте комментарий, и я вышлю вам рабочий образец!
Ps: переменные сеанса, показанные в этом коде, полезны для взаимодействия с системами входа в систему или просто для того, чтобы избежать использования параметров url ...