Я делаю сайт для развлекательной компании. Поскольку мы работаем для многих иностранцев, я попытался сделать сайт многоязычным. Однако, когда я тестировал все это, текст возвращался как пустой. Я думаю, что проблема заключается в файле common.php, но я не уверен. Я использовал common.php у парня, который сделал почти то же самое.Как я могу заставить свою функцию включения работать?
У меня есть весь сайт на одной странице (index.php), и пользователь переходит с помощью функции слайдера js в следующий раздел. Сценарий перевода должен работать следующим образом: файл common.php включен в мой index.php. Он проверяет, какой язык используется пользователем. Затем common.php СЛЕДУЕТ загружать соответствующий файл словаря в index.php. Но это не так ...
Любая помощь в том, как получить мой переведенный текст, загруженный на веб-сайт, будет действительно оценен!
<?php
/*
------------------
Taal: Nederlands
------------------
*/
$lang = array();
// Menu
$lang['MENU_FOTO'] = 'Fotogalerij';
$lang['MENU_INFO'] = 'Over ons';
$lang['MENU_AGENDA'] = 'Koncerten';
$lang['MENU_CONTACT'] = 'Contact';
?>
Раздел заголовка в моем index.php
<header>
<div class="sticky-nav">
<a id="mobile-nav" class="menu-nav" href="#menu-nav"></a>
<div id="logo">
<a id="goUp" href="#home-slider" title="Entertainment">Home</a>
</div>
<nav id="menu">
<ul id="menu-nav">
<li><a href="#foto"><?php echo $lang['MENU_FOTO']; ?></a></li>
<li><a href="#work"><?php echo $lang['MENU_INFO']; ?></a></li>
<li><a href="#about"><?php echo $lang['MENU_AGENDA']; ?></a></li>
<li><a href="#contact"><?php echo $lang['MENU_CONTACT']; ?></a></li>
</ul>
</nav>
</div>
</header>
И в common.php
<?php
session_start();
header('Cache-control: private');
if(isSet($_GET['lang']))
{
$lang = $_GET['lang'];
// register the session and set the cookie
$_SESSION['lang'] = $lang;
setcookie('lang', $lang, time() + (3600 * 24 * 30));
}
else if(isSet($_SESSION['lang']))
{
$lang = $_SESSION['lang'];
}
else if(isSet($_COOKIE['lang']))
{
$lang = $_COOKIE['lang'];
}
else
{
$lang = 'nl';
}
switch ($lang) {
case 'nl':
$lang_file = 'nederlands.php';
break;
case 'ba':
$lang_file = 'bosnisch.php';
break;
include_once .$lang_file;
?>
EDIT
теперь я даже пытался включить один из языковых файлов прямо в index.php. Но теперь я очень смущен, потому что это не сработало!
Не знаю, как заставить его работать, но Koncerten с C не является K – Naruto
Являются ли ваши языковые файлы в том же каталоге, что и ваш скрипт? – Konstantin
Вы проверили, заполнено ли '$ _GET'? Как насчет '$ _SESSION'? –