0

我为我的网站创建了 3 个语言包:英语、西班牙语和法语。我只是无法根据用户选择来实施它们。我有以下下拉菜单:

<select onchange='document.location.href=this.options[this.selectedIndex].value;'>
  <option>Select</option>
  <option value="?lang=eng">US English</option>
  <option value="?lang=esp">Español</option>
    <option value="?lang=fra">Français</option>
</select>

如何根据用户选择的内容包含语言文件,我只是不知道在if 语句中放置什么作为条件

谢谢。

4

3 回答 3

2

当您通过查询字符串引入选项时,您可以使用

$lang = $_GET['lang']
于 2010-01-30T19:50:57.747 回答
1

首先,保存用户在用户会话中选择的值。例如:

switch($_POST['lang']) {
    case 'en': $_SESSION['lang'] = 'English'; break;
    case 'sp': $_SESSION['lang'] = 'Spanish'; break;
    default:   $_SESSION['lang'] = 'English'; break;
}

在每个页面请求中,根据您保存的值从相关语言文件夹中获取语言文件。

例如,这将如何看待文件结构:

  • 英语
    • 全局.php
    • 注册.php
  • 西班牙语
    • 全局.php
    • 注册.php

然后,每当您需要加载文本文件时,请使用:

function load_text_file($filename) {
    include 'languages/' . $_SESSION['lang'] . '/' . $filename.'php';
    return $txt;    // $txt should be an array
}
//...

$text = array(); $text += load_text_file('Global'); $text += load_text_file('Register');

于 2010-01-30T19:59:43.973 回答
0

对于我的模板,那段代码是

$_SESSION['language'] = 'english';

于 2014-03-10T11:21:02.240 回答