И так для начала в корне сайта создаем папку language, куда поместим два файла ru.php и en.php - эти файлы у нас и будут хранить в себе перевод языка, один язык - один файл. Для создания списка слов/фраз в языковых файлах я использую массив array(), вот так:
Файл ru.php:
<?php
$lang = array(
'index' => 'Главная страница',
'register' => 'Регистрация',
'input' => 'Вход',
'blog' => 'Блог',
'exit' => 'Выход',
);
Файл en.php:
<?php
$lang = array(
'index' => 'Index page',
'register' => 'Register',
'input' => 'Input',
'blog' => 'Blog',
'exit' => 'Exit',
);
Теперь заменяем в файлах фразы на переменные такого вида:
$lang[blog];
(данная переменная выводит слово Блог на русском, и Blog на английском). Если Ваш сайт имеет шаблоны, то переменные меняем в них на такую конструкцию: <?=$lang[blog]?>
.Теперь давайте дадим Вашим пользователям возможность сменить язык по умолчанию на другой. Информация о том какой язык установил пользователь будет храниться в Базе Данных. Эту опцию, можно установить в личном кабинете пользователя или при регистрации нового пользователя.
Делаем список выбора языка:
<form method="post" />
<input type="radio" name:"language" value="ru" />Русский<br />
<input type="radio" name:"language" value="en" />Английский<br />
<input type="submit" name:"submit" value="Отправить" />
</form>
Сам скрипт замены языка:
if (isset($_POST['submit'])) {
$language = $_POST['language'];
$sql = "UPDATE `user` SET `language`=`$language` WHERE `id`='$id'";
}
Затем выполняем запрос в Базу Данных:
ALTER TABLE `user` ADD COLUMN `language` VARCHAR(32)
Название таблицы user - меняете на своё.
Теперь используем язык, который выбрал пользователь, если пользователь не выбирал языка, будем использовать язык по умолчанию, в данном примере язык по умолчанию является русским. Подключать языковой файл будем функцией include():
if ($language == 'ru') {
include('language/ru.php');
}
elseif ($language == 'en') {
include('language/en.php');
}
#Если не один из языков не выбран, выводим язык по умолчанию:
else {
include('language/ru.php');
}
Данное условие надо вставлять после запроса в БД, иначе невозможно будет проверить переменную
$language
.
Вот и всё! Теперь Ваши пользователи могут выбрать один из двух языков. При желании можно добавить больше языков.
Конечно, можно сделать всё это намного проще, но я только учусь... Так, что прошу сильно не ругайте!
Спасибо.