2

私はCodeigniter2.1を使用してアプリケーションを構築しており、i18n多言語ライブラリを使用しており、すべてが正常に機能しています。唯一の問題は、現在のページを翻訳するときに発生します。問題はありませんが、ページを変更すると、デフォルトの言語で返されます。例:

myapp.com/en/home

アンカーをクリックします(switch_uri('de'))

myapp.com/de/home

別のコントローラーへのリンクをたどると、デフォルトの言語に戻ります

myapp.com/en/about

では、どうすれば修正できますか?コントローラーを切り替えると、言語はデフォルトではなく、最後に選択されたままになりますか?

前もって感謝します。:)

編集:

これらは、ページの言語を変更するための私のアンカーです。ある種のCookieを使用してユーザーの言語を保存し、次のコントローラーのロードごとに取得できると思いますが、もっとシンプルで簡単なものがあると確信しています。

<ul id="languages">
    <li><a href="<?= base_url($this->lang->switch_uri('bg')) ?>" class="lang-bg"></a></li>
    <li><a href="<?= base_url($this->lang->switch_uri('en')) ?>" class="lang-en"></a></li>
</ul>

メインメニューには他のページへのリンクがあります。

<li>
    <?= anchor(base_url('about'), 'about') ?>
</li>
4

1 に答える 1

2

問題は base_url() を使用しているリンクにあります。base_url() なしでこのようなリンクを試してください。

<?php echo anchor('about/index/', 'About'); ?>
于 2012-04-07T18:36:42.270 に答える