Cakeの「組み込み」ローカリゼーション機能の素晴らしいレビューのために、CakePHP2.1.xで二言語アプリを構築しています。しかし、私はこの強力な機能を機能させることに取り組んでいます。
このトピックは以前のバージョンのCake(ここ、ここ、 ここ、およびここ)で取り組まれていることは知っていますが、Cake2.xでは解決されていません。クックブックでこれらの記事も参照しています(はい、マニュアルを読みました):
- http://book.cakephp.org/2.0/en/core-libraries/internationalization-and-localization.html
- http://book.cakephp.org/2.0/en/core-libraries/behaviors/translate.html
いくつかのこと-私は言語ごとに別々のサブドメインを作りたくありません。代わりに、ボタン(この場合はフラグアイコン)をクリックするだけでURLベースの言語を切り替えることを好みます。サイトは積極的に維持されるため、コンテンツは動的に更新する必要があります。クライアントに2つの別々のサイト/データベースを維持するように依頼することは問題外です。
PostModelにTranslate動作を設定しましたが、機能しているかどうかわかりません。また、コンソールで実行してI18nを初期化I18n
し、データベーステーブルが存在することを確認し、.poファイルを設定し、すべてのコンテンツをでラップしました__()
。ただし、ブラウザのデフォルト言語をフランス語に変更すると、サイトは英語のままになります。
P28nコンポーネントを試しましたが、Cake2.xでは古くなっていると思います。このnuts-and-bolts-of-cakephpの記事に基づいてURLベースの言語切り替えも試しましたが、明らかに新しいCakePHPAPIと互換性がありません。
誰かがCakePHP2.xで動作するチュートリアルや手順の方向に私を向けることができますか?ここでまだ参照されていないものはありますか?
更新:この記事を見つけました:http ://www.localizingjapan.com/blog/2011/11/10/localizing-a-cakephp-application/comment-page-1/#comment-7467 。誰かがあなたがコードをどこに置くか知っていますCakeSession::write('Config.language', 'fre');
かsetlocale("LC_ALL", "fr_FR.utf8");
?