CakePHP多言語化対応
Upcoming SlideShare
Loading in...5
×
 

CakePHP多言語化対応

on

  • 7,215 views

第17回高蔵寺SE勉強会LT資料です。

第17回高蔵寺SE勉強会LT資料です。

Statistics

Views

Total Views
7,215
Views on SlideShare
7,185
Embed Views
30

Actions

Likes
2
Downloads
4
Comments
0

1 Embed 30

http://www.slideshare.net 30

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

CakePHP多言語化対応 CakePHP多言語化対応 Presentation Transcript

  • CakePHP 多言語化対応         発表 : kuma   http://kuroutoshikou.blog16.jp/  
  • 1. 手順 1. 多言語化を想定したビュー作成 2. 翻訳ファイルに集約 3. 翻訳ファイル配置 4. 翻訳メッセージ編集
  • 2.View 作成 __() 関数 そのまま出力する場合 (echo の代わり ) <?php __( &quot;ErrorMessage&quot; ); ?> 戻り値として渡す場合 <?php sprintf(__( &quot;Error %s&quot; , true ), 123 ); ?>
  • 3. 翻訳ファイル作成 i18n シェル /cake/console/  -> ./cake i18n 1. [E] (抽出)を押す 2. 対象ディレクトリのフルパスを入力 3. 出力先を入力(デフォルトで OK ) 4. 1 つのファイルにまとめるので [y] 5. 出力ファイル名を入力(デフォルト) /app/locale/default.pot ができる
  • 4. 翻訳ファイル配置 (1) 出力されたファイルを移動   /app/locale/default.pot  (テンプレート)           ↓   /app/locale/ 言語 /LC_MESSAGES/default.po [ 言語 ]   jpn ・・・日本語  chi ・・・中国語   eng ・・・英語  fre ・・・フランス語  他は /cake/libs/l10n.php を参照のこと
  • 5. 翻訳ファイル配置 (2) default.po 書式   msgid “__() で出力した元のメッセージ”   msgstr “ それに対応するメッセージ”   msgid “…”   msgstr “…”  …繰り返し…
  • 6. 翻訳のポイント 基本は sprintf() に準拠   msgid &quot;This is the ErrorMessage&quot;   msgstr &quot; これはエラーメッセージです &quot;   msgid &quot;ErrorID: %s &quot;   msgstr &quot; エラー ID: %s &quot;   msgid &quot;Error %s in file %s &quot;   msgstr &quot; ファイル %2$s でエラー %1$s &quot;
  • 7. 補足事項 どうやって言語が選択されるの?      ↓ http ヘッダ(ブラウザの設定)らしい 手動で固定したいときは?      ↓ /config/core.php に以下の設定を追加   Configure::write( 'Config.language' , 'ja' );
  • 8. まとめ あらかじめ多言語化を想定した Veiw にしておく ↓ 出力メッセージの一元管理もできる! CakePHP 日本語化 エラーメッセージを日本語化できる Yahoo! で「 Cakephp 日本語化 」で検索! http://tsundere-server.net/caketrans/