多言語アプリケーションをPHPで設計する方法はたくさんあります。いくつかの言語ファイルベース、他のデータベースベース。 ほとんどの段落で -PHP - 多言語アプリケーションの設計
私は、テキスト例えば、エラーのほとんど 少量のためにそれを使用することを探しています。
私は十二人かかりそうだと思います。
言語です。
本当に私は決定的な答えではなく、推奨事項を探しています。最も簡単更新する最速のあるものは何あなたが前に使用している、など
多くのおかげで、
多言語アプリケーションをPHPで設計する方法はたくさんあります。いくつかの言語ファイルベース、他のデータベースベース。 ほとんどの段落で -PHP - 多言語アプリケーションの設計
私は、テキスト例えば、エラーのほとんど 少量のためにそれを使用することを探しています。
私は十二人かかりそうだと思います。
言語です。
本当に私は決定的な答えではなく、推奨事項を探しています。最も簡単更新する最速のあるものは何あなたが前に使用している、など
多くのおかげで、
機能のGettext
家族は良い出発点である:
gettextの機能がNLS 実装(母国語サポート)API を使用して PHPアプリケーションを国際化することができます。
Zend_Translate
は非常に柔軟で、gettext
のスレッドセーフ実装です。それはネイティブの国際化の実装で、次のような問題に対処し、手動状態:
- 一貫性のないAPI:異なるソース フォーマットのための単一のAPIはありません。例の のgettextの使用は非常に複雑です。
- PHPはgettextとネイティブ配列のみをサポートしています。つまり、PHP自身がarrayまたはgettextのサポートを に提供しています。 ネイティブサポートがないため、他のソース形式はすべて に手動でコード化する必要があります。
- デフォルト言語の検出なし: のデフォルト言語ユーザーが別のWebブラウザのための背景 の 深い知識なしに検出することができません。
- Gettextはスレッドセーフではありません。PHPのgettextライブラリはスレッドセーフではなく、マルチスレッド環境では使用しないでください。これは、PHPではなくgettext自体の問題が原因ですが、既存の問題です。
それはZend Framework
がフルスタックのフレームワークではないことは注目に値する - 言い換えれば、あなたはその国際化APIを利用するには、単に全体を使用する必要はありません。
本当に好きなのはmultiple adapters for different data sourcesのサポートです。アプリケーションに非常に軽い変更を加えるだけで簡単にミックス、マッチ、変更ができます。希望が役立ちます。
私は両方のソリューションを扱っています。 (データベースとフラットファイル)しかし、私は別の視野角を与えるでしょう。アプリケーションやソフトウェアを設計するときには、最初から考えなければならないもう一つの重要な点があります。言語項目をデータベースとフラットファイルに保存します。データベース(またはテーブル)とテキストファイルの言語サポートが重要です。あなたがlatin 1データベースにトルコ文字を保持しようとすると、いくつかの問題に直面します。トルコ語がその一例です。データベースは、言語項目の文字をサポートする必要があります。