Rambler's Top100
Время - деньги!

Time is money!

  Rambler's Top100 width="88" height="31" alt="HotLog">
С.Зубарев
Локализация сайта с помощью PHP.
1 2 3 

Будем создавать локализацию на основе словарей, представляющих собой пары ключ-значение. В зависимости от выбранного языка подгружается соответствующий словарь.


Сначала создадим менеджер словарей common.php, расположенный в корневой директории(htdocs).
common.php:

<?php
global $root_path, $root_path_url;

$root_path = $_SERVER['DOCUMENT_ROOT'].'/';
$root_path_url = 'http://'.$_SERVER['SERVER_NAME'].'/';
/////////////////////////////////////////////////////////


/* эта часть кода предназначена для обработки смены языка*/
if (isset($_GET['lang'])){
change_language($_GET['lang']);
}


//инициализация словарей в зависимости от выбранного языка или ru по умолчанию
if (!isset($_SESSION['USER_LANG']) || !isset($_SESSION['LANG'])){
change_language('ru');
}


function change_language($new_lang){
global $root_path;

if (!isset($_SESSION['USER_LANG']) || (isset($_SESSION['USER_LANG']) && $_SESSION['USER_LANG'] != $new_lang)){
$_SESSION['USER_LANG'] = $new_lang;
$lang = array();
include($root_path . 'language/' . $_SESSION['USER_LANG'] . '/lang_main.php');

$_SESSION['LANG'] = $lang;
}

}
?>

Все словари храняться в файлах lang_main.php в <server_dir>/language/<language name>/lang_main.php
Вот пример:

<?php
$lang['START_PAGE_PROJECTS'] = 'Проекты';
$lang['START_PAGE_NEWS_TITLE'] = 'Новости';
$lang['START_PAGE_BACK_TO_INDEX'] = 'На главную страницу';
?>

1 2 3

Открытые коды