2

このチュートリアルhttp://sumonbd.wordpress.com/2009/09/16/develop-multilingual-site-using-codeigniter-i18n-library/を codeigniter の多言語に使用しています。

私は正しく記載されている指示に従いました。エラーにはなりませんが、正常に動作しているとは言えません。mysite.com/en/about と mysite.com/fr/about を実行すると、常にデフォルトの言語である英語が表示されます。適切に動作させるために設定する必要がある構成があるかどうか疑問に思っています。

私はconfig.phpでこれについて考えています

$config['言語']

これはautoload.phpにあります

$autoload['言語']

それらを構成する必要がありますか? または多言語を適切に動作させるためのその他の構成。

4

3 に答える 3

1

CIのコードとブログのコードを分析した後、私はこの解決策にたどり着きました。

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class About extends CI_Controller {

    function index()
    {
        // you might want to just autoload these two helpers
        $this->load->helper('language');
        $this->load->helper('url');

    $this->getLang();
        $this->load->view('about');
    }

    function getLang(){
        $url =  $_SERVER['REQUEST_URI'];
        $lang = explode("/", $url);

        if($lang[2] == 'en'){
        // load language file
            return $loadLang = $this->lang->load('english','english');
        }
        else if($lang[2] == 'fr'){
        // load language file
            return $loadLang = $this->lang->load('french','french');
        }
        else{
            // load language file
            return $loadLang = $this->lang->load('english','english');
        }

        return false;
    }


}

言語ファイルをロードする関数getLang()を作成しました。

$this->lang->load('language_file','language_folder');
于 2013-02-11T05:16:56.467 に答える
1

申し訳ありませんが、あなたが行ったことについて十分な情報を提供していません。しかし、私は答えようとします。

更新されたチュートリアルを試してみましたが、魅力的です。

ここに画像の説明を入力

まず、時代遅れのチュートリアルを指します。これは、更新を含むリンクのソースです: source

次に、MY_ という接頭辞が付いたファイル (デフォルト設定) は、ライブラリではなくコア クラス (「コア クラス」を参照) であり、application/core ディレクトリに配置する必要があります。

3 番目に、ビュー ファイルで、php ショート タグ ( <?=$variabel;?>) を使用しないようにしてください。これは、すべてのサーバー構成で php ショート タグが有効になっているわけではないためです。echo代わりに通常のタグを使用してください<?php echo $var; ?>。長くなりますが、標準パターンを作成する価値があります。

前に言ったように、更新されたチュートリアルに従えば、スクリプトは私のように動作するはずです。これが助けになることを願っています。私の英語で申し訳ありませんが、間違っている場合は修正してください。

于 2013-03-21T16:42:46.200 に答える
0

URI-Language-Identifier を確認する必要があると思います。多言語プロジェクトに使用しており、正常に機能しています。

于 2013-03-24T12:57:47.617 に答える