ThinkPHP がパブリック言語パッケージを使用する場合の問題と解決策
ThinkPHP3.1.3を使用しています。私のプロジェクトのスクリーンショット
注: 私のプロジェクトはグループ化されているため、ここでは例として Admin グループを使用して言語パックを作成します。
まず、プロジェクトのルート ディレクトリのアプリの下に Lang に新しい zh-cn フォルダーを作成し、次に zh-cn フォルダーの下に Admin グループを作成し、Admin に新しい user.php を作成します。言語パックの定義は以下にあります
user.phpに次のように言語情報を記述します
配列を返す(
'SITE_TITLE' => '24 ユース',
'SITE_URL' => 'http://jahan.sinaapp.com/',
'SITE_KEYWORDS' => 'php thinkphp',
.....
);
次にconfig.php(自分のプロジェクトの設定情報ファイル)で設定を行います
配列を返す(
'LANG_AUTO_DETECT' => FALSE, //言語の自動検出をオフにします。複数の言語がある場合は、オンにできます。
'LANG_SWITCH_ON' => TRUE, //言語パック機能を有効にします。これは有効にする必要があります'DEFAULT_LANG' => 'zh-cn', //zh-cn フォルダー名 /lang/zh-cn/common.php
);
次のように、プロジェクトの tags.php (通常は Conf ディレクトリにありますが、ない場合は自分で作成できます) にコードを追加します
配列を返す(
'app_begin' => array(
「CheckLang」、
)、
);
アプリが実行される前に、この構成ファイルは CheckLang メソッドを呼び出すためにロードされます。プロジェクトを実行したところ、「クラス 'CheckLangBehavior' が見つかりません」というエラーが発生したことがわかりました。
「CheckLangBehavior」クラスが見つからないため、TP のフルバージョンをダウンロードして CheckLangBehavior.class.php を見つけます。スクリーンショットは次のとおりです。
このクラスをプロジェクトの Extend ディレクトリ、または Lib ディレクトリに配置します。これにより、カスタム言語パックを使用できるようになります。
言語パックの呼び出し:
アクションで呼び出される場合、形式は L('site_name') です
テンプレート ファイルで呼び出される場合、形式は {:L('site_name')} です
http://www.bkjia.com/PHPjc/477291.html