1

私はすでにこのリンクcodeigniter_i18多言語からの指示を読んでそれに従っています、そしてそれは動作します、しかし私はここで少し問題があります、私は多分ルート設定またはスクリプトでわかりません。

たとえば、このhttp://mysite.comはサイトのインデックスのデフォルト言語ですが、インスタンスdutchの別の言語を変更したい場合は、その実装方法で次のようなURLを取得できますhttp:/ /mysite.com/nl/

前もって感謝します

4

1 に答える 1

1

のようにパスで使用すると、最初のセグメントが常に国コードである必要があるため、実際には非常に複雑になります(したがって、英語の場合は/ enを使用する必要があります)

検討するのが簡単な方法は、言語を選択するときにセッション変数を設定し、それを「バックグラウンドで」行うことです。

MY_Controllerで:

public function __construct()
{               
parent::__construct();
$lang_code = ($this->session->userdata('lang_code'))? $this->session->userdata('lang_code'):'english';
$this->lang->load('project_launch', $lang_code);
$this->lang->load('project_launch_template', $lang_code);
$this->lang->load('project_launch_uploader', $lang_code);
}

function lang_select(){
    $lang_code = $this->input->post('lang_code');
    $this->session->set_userdata('lang_code', $lang_code );
}

言語セレクター(ドロップダウン、小さなフラグなど)でlang_select()を呼び出して言語を変更し、セッション変数を設定します。コンストラクトは、ページが読み込まれるたびに言語をチェックし、適切な言語ファイルを読み込みます

于 2013-02-07T04:55:13.363 に答える