Здравствуйте Гость!


Запомнить.
Авто. вход.
Забыли пароль?
Регистрация

ПОДПИСКА Подписавшись по E-mail, Вы будете получать уведомления о новых статьях к себе на почту.
Подписатся на почтовую рассылку на сайте astranar.ru
Подписаться



ДОБАВЛЯЙТЕСЬ В ДРУЗЬЯ Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте на стене моего аккаунта.
Мой аккаунт Вконтакте
Мой аккаунт
Главная - PHP - Как сделать мультиязычный сайт или многоязычный сайт своими руками.


Как сделать мультиязычный сайт или многоязычный сайт своими руками.


Как сделать мультиязычный сайт или многоязычный сайт своими руками

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

Так давайте же разберемся как же нам сделать такой сайт!? А все опять же просто(как это не смешно).

Для начала нам понадобятся языковые файлы и главная страница.

То есть структура сайта будет такова:
language/language.ru.php
language/language.en.php
language/language.ua.php
index.php


Для начала мы создадим для каждого языка свой языковой пакет для определенных слов на сайте:
- Русский языковый файл (language/language.ru.php)

// Русский языковой Пакет
// Источник: astranar.ru

$lang = array(
"title" => "Мой многоязычный сайт на PHP",
"header_title" => "Многоязычный сайт",
"site_slogan" => "Заголовок сайта",

// Меню
"index_menu" => "Главная страница",
"contact_menu" => "Контакты",
"site_map" => "Карта сайта",
"advertisement"=> "Реклама",
);

- Английский языковой пакет (language/language.en.php)
// Английский языковый файл
// Источник: astranar.ru
$lang = array(
"title" => "My multi_language site on a PHP",
"header_title" => "My multi_language site",
"site_slogan" => "Site of Programmer",

// Меню
"index_menu" => "Start page",
"contact_menu" => "Contakts",
"site_map" => "Site map",
"advertisement"=> "Reklame",
);


- Украинский языковой Пакет (language/language.ua.php)
// Украинский языковый файл
// Источник: astranar.ru
$lang = array(
"title" => "Мій багатомовний сайт на PHP",
"header_title" => "Багатомовний сайт",
"site_slogan" => "Сайт програміста",

// Меню
"index_menu" => "Головна сторінка",
"contact_menu" => "Контакти",
"site_map" => "Карта сайту",
"advertisement"=> "Реклама",
);

Теперь создаем главный файл index.php который будет вызывать языковой пакет в зависимости от выбора пользователя.

<?php
@session_start();
// Массив доступных для выбора языков
$LangArray = array("ru", "ua", "en");
// Язык по умолчанию
$DefaultLang = "ru";
// Если язык уже выбран и сохранен в сессии отправляем его скрипту
if(@$_SESSION['NowLang']) {
// Проверяем если выбранный язык доступен для выбора
if(!in_array($_SESSION['NowLang'], $LangArray)) {
// Неправильный выбор, возвращаем язык по умолчанию
$_SESSION['NowLang'] = $DefaultLang;
}
}
else {
$_SESSION['NowLang'] = $DefaultLang;
}
// Выбранный язык отправлен скрипту через GET
$language = addslashes($_GET['lang']);
if($language) {
// Проверяем если выбранный язык доступен для выбора
if(!in_array($language, $LangArray)) {
// Неправильный выбор, возвращаем язык по умолчанию
$_SESSION['NowLang'] = $DefaultLang;
}
else {
// Сохраняем язык в сессии
$_SESSION['NowLang'] = $language;
}
}
// Открываем текущий язык
$CurentLang = addslashes($_SESSION['NowLang']);
include_once ("language/language.".$CurentLang.".php");
?>

<a href='index.php?lang=ru'><img src='img/ru.png'>Russian</a>
<a href='index.php?lang=ua'><img src='img/en.png'>English</a>
<a href='index.php?lang=ro'><img src='img/ua.png'>Ukraine</a>

Теперь когда мы будем переходить по ссылкам
ваш_сайт.ru/index.php?lang=ru (Будет русский язык, скрипт загрузит файл language.ru.php)
и так далее для каждого языка (ru,en,ua).
Удачи вам.



Просмотров страницы: 22628
Урок добавлен: 26 Ноября 2012

<<<Предыдущая статьяСледущая статья >>>

Копирование материалов разрешается только с указанием автора (Пальгов Олег) и индексируемой прямой ссылкой на сайт (https://astranar.ru/)!

Добавляйтесь ко мне в друзья ВКонтакте: https://vk.com/palgov_oleg. Если Вы хотите оценить меня и мою работу, то напишите на стене моего аккаунта ВКонтакте.

Если Вы не хотите пропустить новые материалы на сайте, то Вы можете подписаться на обновления:
Подписаться на обновления


Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Ещё статьи по php:
Сколько памяти занимает исполняемый код? Разберемся!
Добавление комментариев Ajaxs+PhP+MySql
Работа с массивами PHP – создание, наполнение, удаление
Sql injection или sql инъекция.


Комментарии (0)


Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.
Как сделать мультиязычный сайт или многоязычный сайт своими руками.
Изменения – это всегда страшно. Но никто не изменит за вас вашу жизнь. Вы понимаете, какой должны сделать выбор, но несмотря на страх, двигайтесь вперед. Это главное правило успеха.

Пауло Коэльо


Вступайте в группу!