gpt4 book ai didi

php - 使用 PHP 在网站上切换语言

转载 作者:行者123 更新时间:2023-12-04 06:52:47 30 4
gpt4 key购买 nike

我只是在寻求一些建议。我正在创建一个提供(至少)2 种语言的网站。
我设置它的方法是使用语言的 XML 文件,PHP 来检索 XML 节点中的值。
假设您有任何 XML 文件,按如下方式加载:

<?php
$lang = "en";
$xmlFile = simplexml_load_file("$lang/main.xml");
?>

一旦文件内容可用,我只需将每个节点输出到一个 HTML 标记中,如下所示:
<li><?php echo $xmlFile->navigation->home; ?></li>
which in turn is equal to : <li><a href="#">Home</a></li>
as a nav bar link.

现在,我切换语言的方式是通过“$_POST”更改“$lang”变量的值,如下所示:
if(isset($_POST['es'])){
$lang = "es";
}elseif(isset($_POST['en'])){
$lang = "en";
}

"$lang"变量的值被重置并加载新文件,同时加载新 XML 文件中的所有新节点,从而更改语言。

我只是想知道是否有另一种方法可以使用“$_POST”或“$_GET”以外的其他东西来重置“$lang”变量。我也不想使用查询字符串。
我知道我可以使用 JavaScript 或 jQuery 来实现这一点,但我想让网站不太依赖 JavaScript。

我很感激任何想法或建议。

谢谢

最佳答案

我会去 session 变量。

在页面的开头,您将拥有:

 if (!isset($_SESSION['language']))
$_SESSION['language'] = "en";

然后你会有一些更改语言的链接
<a href="changelanguage.php?lang=es">Español</a>
<a href="changelanguage.php?lang=fr">Français</a>

Changelanguage.php 就是这样
$language = $_GET['lang'];
// DO SOME CHECK HERE TO ENSURE A CORRECT LANGUAGE HAS BEEN PASSED
// OTHERWISE REVERT TO DEFAULT
$_SESSION['language'] = $language;
header("Location:index.php"); // Or wherever you want to redirect

关于php - 使用 PHP 在网站上切换语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2878875/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com