我正在尝试在我的网页上添加第二语言。我决定使用不同语言的不同文件分开路径 - language/pl/projects.ln
包含波兰语文本,language/en/projects.ln
- 英语。那些扩展只是告诉其他语言文件,内容很简单:
$lang["desc"]["fabrics"]["title"] = "MATERIAŁY";
$lang["desc"]["fabrics"]["short_text"] = "Jakiś tam tekst na temat materiałów";
$lang["desc"]["services"]["title"] = "USŁUGI";
$lang["desc"]["services"]["short_text"] = "Jakiś tam tekst na temat usłóg";
然后在索引页面上我这样使用它:
session_start();
if (isset($_SESSION["lang"])) {
$language = $_SESSION["lang"];
} else {
$language = "pl";
}
include_once("language/$language/projects.ln");
print $lang["desc"]["fabrics"]["title"];
问题是如果没有设置会话变量,一切正常,数组项目内容会显示但是一旦我改变并设置$_SESSION["lang"]
,就不会显示任何内容。我测试了包含本身是否正常工作,方法是将print "sth";
放在projects.ln文件的开头,并且可以$_SESSION["lang"]
设置和取消设置。
请帮忙。
答案 0 :(得分:1)
你能告诉我们这个输出是什么:
if(session_start()) {
echo SID, '<br/>';
if(isset($_SESSION['lang'])) {
echo 'lang = "',$_SESSION['lang'], '"';
}
}
答案 1 :(得分:0)
会话开始很好,不小心我设法解决了。
我将$_SESSION['lang']
重命名为$_SESSION['curr_lang']
,现在它可以正常工作了。它接缝就像它不喜欢具有相同名称的数组和会话变量(?)。