我正在为一家娱乐公司制作一个网站。因为我们为很多外国人工作,所以我尝试使网站成为多语言的。然而,当我测试所有内容时,文本返回为空白。我认为问题出在 common.php 文件中,但我不确定。我使用了一个小伙子的 common.php,他做了几乎相同的东西。
我将整个网站放在一个页面上(index.php),用户使用 js slider 功能转到下一部分。翻译脚本应该像这样工作: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 部分
<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中。但现在我真的很困惑,因为那不起作用!
最佳答案
删除。
include_once $lang_file
关于javascript - 我怎样才能让我的包含功能发挥作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27108698/