我正在爲娛樂公司製作網站。因爲我們爲很多外國人工作,我試圖讓網站成爲多語言。但是,當我測試完所有內容後,文本回到空白處。我認爲問題在於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;
?>
編輯
我現在甚至試圖在語言文件中的一個直接進入index.php。但是現在我感到非常困惑,因爲這種方式並不適用!
不知道如何讓它工作,但Koncerten使用C不是K – Naruto 2014-11-24 15:53:46
您的語言文件與腳本位於同一目錄中嗎? – Konstantin 2014-11-24 15:58:10
您是否檢查過以確保'$ _GET'已填充? '$ _SESSION'如何? – 2014-11-24 15:58:21