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

1

最初に、ユーザーがユーザー セッションで選択した値を保存します。例えば:

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

ページ要求ごとに、保存した値に従って、関連する言語フォルダーから言語ファイルを取得します。

たとえば、ファイル構造は次のようになります。

  • 英語
    • Global.php
    • Register.php
  • スペイン語
    • Global.php
    • Register.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 に答える