我正在写这个网站,窗口顶部有一个导航栏,上面有一个切换列表,你可以选择用来查看这个网站的语言。
我设法编写了语言切换按钮的代码,这里是代码:
<li class="dropdown ' . (in_array($currentFile,$servicesArr)?'active':'') . '">
<a class="dropdown-toggle">
<img src="assets/images/flags/cn.png" width="16" height="11" alt="CN 語言" /> [CN] 简体中文<i class="fa fa-angle-down"></i>
</a>
<ul class="dropdown-menu">
<li><a href="index.php">
<img src="assets/images/flags/hk.png" width="16" height="11" alt="CN 語言" /> [HK] 繁體中文</a>
</li>
<li><a href="#">
<img src="assets/images/flags/us.png" width="16" height="11" alt="EN Language" /> [US] English</a>
</li>
</ul>
</li>
所以,我的问题是:根据我的代码,每当我更改一种语言时,链接将采用该语言的索引,但如果我不在我当前语言的索引页面怎么办?比方说,如果我用英语查看index-en / job.php,现在我想切换到中文,而不是在点击切换按钮后转到index-cn,我想切换到index-cn / job。 PHP。我怎么能这样做?
提前致谢!
答案 0 :(得分:0)
你使用了php
标签,所以我猜这是一个PHP文件。您可以使用PHP使用其他语言中的相应页面动态填充href
属性。
href
属性中插入匹配的网址。代码:
<?php
//URL path. eg: index-en/job.php
$path = trim($_SERVER['REQUEST_URI'],'/');
//language from URL. eg: index-en
$lang = explode('/',$path)[0];
//Paths in other languages: eg: 'cn' => 'index-cn/job.php'
$langs = [
'en'=>preg_replace("/$lang/",'index-en',$path,1),
'cn'=>preg_replace("/$lang/",'index-cn',$path,1),
...
];
?>
<ul class="dropdown-menu">
<li><a href="<?= $langs['cn']?>">
<img src="assets/images/flags/hk.png" width="16"
height="11" alt="CN 語言" /> [HK] 繁體中文</a>
</li>
<li><a href="<?= $langs['en']?>">
<img src="assets/images/flags/us.png" width="16"
height="11" alt="EN Language" /> [US] English</a>
</li>
</ul>