我正在为娱乐公司制作一个网站。因为我们为很多外国人工作,所以我试图让网站多元化。然而,当我测试它时,文本作为空白回来了。我认为问题在于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中。但现在我真的很困惑,因为那也没有用!
答案 0 :(得分:2)
删除.
include_once $lang_file
答案 1 :(得分:1)
尝试关闭切换指令。
switch ($lang) {
case 'nl':
$lang_file = 'nederlands.php';
break;
case 'ba':
$lang_file = 'bosnisch.php';
break;
} // close switch
include_once $lang_file;
答案 2 :(得分:0)
include_once($lang_file);
它不是构造函数
答案 3 :(得分:0)
我找到了。问题不在于de php编码。由于某种原因,我的apache服务器的设置搞砸了,它没有读取任何PHP,只有HTML。所以它实际上显示网站就像你从计算机而不是从服务器加载它一样。
无论如何,感谢您的努力!