我正在为我的网站设置一个语言切换器,但是实际的切换器有一个问题,该问题总是带回到主页(index.php)。 :-s非常烦人
我是php的完全新手,一直在youtube上遵循此教程进行操作:https://www.youtube.com/watch?v=cgvDMUrQ3vA
我正在尝试在多页网站上实施它。实际的语言交换就像一种魅力一样,似乎在整个页面上都保留了设置的语言,但是切换的机制却没有,因为它使用静态链接来加载index.php + new language属性,从而不可避免地将访问者带回了主页,而不是重新加载当前页面。
<?php echo $lang['lang-selector-href'] /* set the <a> tag src="index+lang='x'" */ ?>
<?php echo $lang['lang-selector-switch'] /* display language to be set */ ?>
</a>
我正在使用两个相似的文件(en.php和fr.php),其中包含一个数组来存储翻译后的内容
en.php:
<?php
$lang = array(
"lang-selector-href" => "<a href='index.php?lang=fr'>",
"lang-selector-switch" => "Français (French)",
...
...
);
?>
fr.php:
<?php
$lang = array(
"lang-selector-href" => "<a href='index.php?lang=en'>",
"lang-selector-switch" => "English (anglais)",
...
...
);
?>
问题: 我如何将链接更改为:
<a href='current-page.php?lang=fr'> Français (French) </a>
或:
<a href='current-page.php?lang=en'> English </a>
根据设置的语言?
这是我的config.php文件
<?php
session_start();
// if no language selected go for english
if (!isset($_SESSION['lang']))
$_SESSION['lang'] = "en";
else if (isset($_GET['lang']) && $_SESSION['lang'] != $_GET['lang'] && !empty($_GET['lang'])) {
if ($_GET['lang'] == "en")
$_SESSION['lang'] = "en";
else if ($_GET['lang'] == "fr")
$_SESSION['lang'] = "fr";
}
// load content
require_once "content/languages/" . $_SESSION['lang'] . ".php";
?>
对不起,如果听起来很基础,我敢肯定,但找不到一个可行的简单答案... 谢谢!
答案 0 :(得分:0)
用html制作下拉列表,其中的选项具有如下所示的语言值,
.bss
更改下拉列表时,您需要调用函数,该函数会将选定的语言值设置为php <select onchange="callSomeFunc()">
<option value="fr">French</option>
<option value="en">English</option>
</select>