タグ

cakephpと国際化に関するsachy_nのブックマーク (3)

  • blog.katsuma.tv

    Cakeではgettextを利用して多言語化(国際化対応)が簡単にできる仕掛けが用意されています。 __()関数を利用して文字列生成 cakeコンソールでpotファイルを作成 poエディタなどで各言語別に翻訳 実際は、こんな流れになります。詳しくは次のサイトなどが非常に詳しい情報が掲載されています。 CakePHP1.2の簡単国際化 - CakePHP のおいしいべ方 CakePHPで国際化の方法を試してみましたCommentsAdd Star - アシアルブログ 1.2系の多言語対応メモ(1) - Writing Some Code さて、この国際化対応のときに盲点となるのが「検索エンジン対応」です。 そもそものこの言語の切り替えというのは、HTTP RequestのAccept Languageを調べてそこで切り替えが行われています。(ブラウザでの優先する言語で設定できるやつですね。

  • バリデーションメッセージをDryにしつつ国際化 - cakephperの日記(CakePHP, Laravel, PHP)

    CakePHP1.2.3を利用しています。 CakePHPのバリデーションエラーメッセージは、各モデルに書いたりしますが、ここではgettextの__()を使った国際化の記述ができません。CakeBookにそのための回避策が一応書いてありました。 http://book.cakephp.org/ja/view/163/Localization-in-CakePHP 下記の記述をapp_model.phpに入れとけば、エラーメッセージ出力時に__()を付けてくれるので、言語ごとにエラーメッセージが切り替わります。 function invalidate($field, $value = true) { return parent::invalidate($field, __($value, true)); } 上記が一番楽なパターンではあるのですが、国際化対応する箇所をコマンド一発で抽出して

    バリデーションメッセージをDryにしつつ国際化 - cakephperの日記(CakePHP, Laravel, PHP)
  • CakePHP1.2の簡単国際化

    CakePHPは、PHP言語の高速開発用フレームワークです。日々、発展を遂げる各種フレームワークの動向を見極めつつ、日発のCakePHP応援ブログとして、最新情報をお届けします。 CakePHP1.2のbakeで自動生成した画面は、画面に表示される文字列が__('文字列') で囲まれています。これは、簡単に多言語翻訳ができるように配慮されているからです。 ここを無理やり日語に書き換えても日語化はできますが、せっかくなので、最初から国際化をにらんで、poファイルを生成、編集して日語化を進めてもよいのではないか、と思います。 CakePHP1.2はgettextを使用した翻訳と流れは同じです。 http://ja.wikipedia.org/wiki/Gettext (1)アプリで使用する文字リソース(メッセージ類)は、__('')で囲む こうしておくと、自動的に翻訳ファイルを作ってく

    CakePHP1.2の簡単国際化
  • 1