我希望用户可以通过单击语言链接来切换语言而不更改当前页面。
我发现了下面的代码。它可以工作,但是找不到页面,因为页面名称不同。例如:当我在“ ../ en / about.php”页面上更改语言时,它将转到“ ../ tr / about.php”页面。应该去的页面是“ ../ tr / hakkimizda.php”。
我该如何解决这个问题?
<?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: 'tr' => 'index-cn/job.php'
$langs = [
'en'=>preg_replace("/$lang/",'../en',$path,1),
'tr'=>preg_replace("/$lang/",'../tr',$path,1),
];
?>
<ul class="dropdown-menu">
<li>
<a href="<?= $langs['tr']?>">Türkçe</a>
</li>
<li>
<a href="<?= $langs['en']?>">English</a>
</li>
</ul>
您可以为每种语言使用全局arrays
,并在应获取此路径的current path
的情况下将key
搜索到相应的数组中。然后,您可以使用另一种语言的数组来搜索此key
的路径,例如,您具有:
$EN = array('about' => 'about.php');
$TR = array('about' => 'hakkimizda.php');
第一:
在数组key
的'about.php'
中搜索$EN
;
THEN:]>
使用此key
(将是about
)在$TR
中搜索相应的条目。
我建议这些数组应该为global