ホームページ  >  記事  >  バックエンド開発  >  CodeIgniterの多言語実装方法の詳細説明、codeigniter_PHPチュートリアルの詳細説明

CodeIgniterの多言語実装方法の詳細説明、codeigniter_PHPチュートリアルの詳細説明

WBOY
WBOYオリジナル
2016-07-12 09:00:04944ブラウズ

CodeIgniterの多言語実装方法の詳細な説明、codeigniterの詳細な説明

この記事では、例を通じてCodeIgniterの多言語実装方法を分析します。参考のために皆さんと共有してください。詳細は次のとおりです:

CI アプリケーション ディレクトリの下には、複数の異なる言語を構成するために使用される言語パッケージ ディレクトリがあります。言語設定は設定ファイルにあり、設定形式は次のとおりです:
コードをコピーします コードは次のとおりです: $config[' language'] = 'english';

定義言語ファイル

language の下に空の english ディレクトリがあります。これは、上で定義したシステムのデフォルトの言語ディレクトリです。システムはこのディレクトリから言語パック ファイルをロードします。 zh_cn などの別の言語パックを定義する場合は、zh_cn ディレクトリを作成し、対応する言語パック ファイルを構成するだけです。言語ファイルのサフィックスは _lang.php である必要があることに注意してください。言語変換は、キー名が重複するのを防ぐために、キー名に追加することができます。

設定方法は以下を参照してください:

リーリー

言語パックの使用方法

使用する前に言語パックをロードする必要があります。ロードと使用方法は次のとおりです:

リーリー

言語パックの使用は非常に簡単であると言えます。私も少し前に台湾版のシステムを作成しました。ところで、CI での言語パックの使用と注意が必要な問題についてお話します。

1. $config['言語'] が zh_cn として直接設定された場合はどうなりますか?

システムには、system/ language/english ディレクトリにいくつかのデフォルトの言語パッケージがあります。システムが提供するいくつかのクラスを使用してエラーが報告されると、対応する言語パッケージがロードされます。このとき、システムは最初に language/zh_cn ディレクトリを検索し、次に system/ language/zh_cn ディレクトリを検索します。見つからない場合は、言語パッケージが見つからないというエラーが表示されます。したがって、言語構成を変更する場合は、system/ language/english の下にあるファイルを対応する言語ディレクトリにコピーすることをお勧めします。

これは少し奇妙に思えますが、次のように考えてみてはいかがでしょうか。まず、 language/zh_cn ディレクトリに移動して見つけ、見つからない場合は、system/ language/english ディレクトリに移動します。これを英語と呼ぶのは適切ではないかもしれませんが、システムのデフォルト言語パックと呼ぶべきです。

2. 言語パックを使用する必要がありますか?

特定のシステムでこの状況が発生しました。一部のエラー プロンプトは言語パッケージを使用しており、一部は中国語を直接使用しています。これは、複数人による開発が原因である可能性があり、キーの名前を比較する必要があることがよくあります。対応する言語ファイルが必要なため、プログラムを読むのが比較的面倒ですが、中国語版にはこの問題はありません。また、システムで言語パックを使用するのが少し面倒だと思います。したがって、多言語プログラムを考慮する必要がない場合は、言語パックを使用しないことをお勧めします。

3. 言語パックを自動的に検出するにはどうすればよいですか?

通常は、ブラウザの言語タイプに基づいて判断でき、PHPの$_SERVER['HTTP_ACCEPT_LANGUAGE']で値を取得し、文字列の分離や正規のマッチングに基づいてクライアントブラウザのデフォルト言語を取得できます。タイプ。取得したら、を介してコードをコピーします。 コードは次のとおりです: $this->config->set_item(' language', 'zh_cn');

実際に言語パックを使用するかどうかについては、lang 関数を書き換えることができます。 ^_^ を使用する場合は、言語パックが使用されます。

リーリー

多くの場合、多言語実装は配列の形式で実装され、一部は .mo 形式で実装されます。l18n 多言語実装には php の php_gettext 拡張機能のサポートが必要です。詳細については、関連情報を参照してください。

CodeIgniter 関連のコンテンツに興味のある読者は、このサイトの特別トピック「codeigniter 入門チュートリアル」と「CI (CodeIgniter) フレームワーク上級チュートリアル」をチェックしてください

この記事が、CodeIgniter フレームワークに基づく皆様の PHP プログラム設計に役立つことを願っています。

興味があるかもしれない記事:

  • CodeIgniter カスタム コントローラー MY_Controller の使用分析
  • Codeigniter コントローラー コントローラーの継承問題例の分析
  • 2 Codeigniter ファイル一括アップロード コントローラーの作成例
  • CodeIgniter フックの使用例 詳細な説明
  • CodeIgniter 設定データベース。 php使用例分析
  • CI(CodeIgniter)モデル使用例分析
  • CodeIgniterビュー使用上の注意点
  • CodeIgniter読み書き分離実装方法詳細解説
  • CI(CodeIgniter)訪問者数の簡易統計実装方法
  • CodeIgniter分析コントローラーのビジネスロジックの例

www.bkjia.com本当http://www.bkjia.com/PHPjc/1094764.html技術記事 CodeIgniter の多言語実装方法を詳しく説明します。この記事では、CodeIgniter の多言語実装方法を例とともに分析します。参考のために皆さんと共有してください。詳細は次のとおりです: CI アプリケーション ディレクトリには...
があります...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。