在PHP中切换语言时停留在当前页面上

问题描述 投票:1回答:1

我希望用户可以通过单击语言链接来切换语言而不更改当前页面。

我发现了下面的代码。它可以工作,但是找不到页面,因为页面名称不同。例如:当我在“ ../ 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>
php html language-design
1个回答
0
投票

您可以为每种语言使用全局arrays,并在应获取此路径的current path的情况下将key搜索到相应的数组中。然后,您可以使用另一种语言的数组来搜索此key的路径,例如,您具有:

$EN = array('about' => 'about.php');
$TR = array('about' => 'hakkimizda.php');

第一:

在数组key'about.php'中搜索$EN

THEN:]​​>

使用此key(将是about)在$TR中搜索相应的条目。

我建议这些数组应该为global

© www.soinside.com 2019 - 2024. All rights reserved.