現在、codeigniter 2.1.2 で Web サイトを構築しています。現在、多言語 Web サイトを効率的に構築する際に問題が発生しています。
言語クラスのチュートリアルとヘルパーを読み、「中国語」と「英語」の 2 つの言語フォルダーを保存しました。
私がやろうとしているのは、「lang」という言語セッション変数が欲しいということです。そして、私は次のものが欲しいです:
- セッション変数「lang」が存在しない場合は、作成して「english」を指すようにします
- セッション変数がすでに設定されていて、ユーザーが言語の変更をクリックした場合、セッション変数は「中国語」から「英語」または「英語」から「中国語」に変更されます。
私はPHPとCodeigniterにまったく慣れていません。今考えられるのは、次のようなものだけです。ユーザーが自分のサイトで言語を効率的に変更できるようにする方法について、誰かが光を当てることができますか?
ユーザーのクリックイベントでセッション変数を変更する方法がわかりません。
// Load Language Files
if(!$this->session->userdata('lang')) {
$this->session->set_userdata('lang','english');
$lang = 'english';
} else {
$lang = 'chinese';
}
$this->lang->load('pages/header',$lang);
言語コントローラーを作成し、セッション変数を設定してから、ページを前のページにリダイレクトします。それは良い方法ですか?
<?php
Class language Extends CI_Controller {
function index() {
if(!$this->session->userdata('lang')) {
$this->session->set_userdata('lang','english');
} else {
$lang = $this->session->userdata('lang');
if ($lang =="chinese") {
$this->session->set_userdata('lang','english');
} elseif ($lang == "english") {
$this->session->set_userdata('lang','chinese');
} else {
$this->session->set_userdata('lang','english');
}
}
header('Location: ' . $_SERVER['HTTP_REFERER']);
}
}