切换多语言问题

时间:2011-08-08 17:38:32

标签: php translation

我可以通过点击相同的链接将法语网站的语言切换为英语,将英语翻译成法语。但问题是,我需要在链接上按两次才能获得好结果。我已将此添加到header.php文件中:

<li>
  <?php if(isset($_GET['lang'])and $_GET['lang']=='en'){
      echo '<a href="index.php?lang=fr">Francais</a>';}
    else echo '<a href="index.php?lang=en">English</a>'; ?>
</li>

如果我们点击Francais或者点击英语时切换到英语,这是切换语言为法语。它有效。问题是我们必须在链接上单击两次才能更改语言。这不正常。我该如何解决?

以下是我登录Xibo时的第一个网址:http://myIP_adress/Xibo/(显示主菜单界面,顶部有英文图标,注销图标旁边)。文字是英文的。

如果我按下英文图标,我会收到此网址:http://myIP_adress/Xibo/index.php?lang=en(现在英文图标切换为Francais图标,文字仍为英文)

如果我按法语上的Francais图标按下文字,我会收到这个网址:http://myIP_adress/Xibo/index.php?lang=fr&lang=en(仍然可以获得Francais图标和文字仍为英文)

如果我再次按下francais图标,我会得到这个网址http://myIP_adress/Xibo/index.php?lang=fr&lang=fr(现在Francais图标切换到英文图标,文字是法文,所以它按照我的预期做出回应)。从这里,我必须按2次英文图标以获得预期的响应(Francais图标和英文文本)。

1 个答案:

答案 0 :(得分:0)

使用绝对路径而不是相对路径。现在,您的路径会被添加到浏览器看到的基本URL中。

$path = '/Xibo/index.php';
echo '<a href="'.$path.'?lang=fr">Francais</a>';}