[[CakePHP3めも]]

bake コマンドで作成されるテンプレートファイル内によく

 <?= __('Actions') ?>

などと __ で始まる書き方が見受けられます。~
変数でも無いのになんじゃこりゃと思っていましたが、多言語対応するための便利な書き方でした。

*言語ファイルを作成する [#o60426ad]

まずは対応表となるファイルを作成します。

src/Locale/ja 以下に default.po ファイルを作成します。~
あとはUTF-8のテキストファイルで対応する文言を書いていきます。

 msgid "Invalid username or password, try again"
 msgstr "ユーザー名かパスワードが間違っています。"
 
 msgid "Actions"
 msgstr "操作"

*言語設定をする [#m06ca3d8]

 config/app.php の App => defaultLocale を変更します。
config/app.php の App => defaultLocale を変更します。

     'App' => [
         'namespace' => 'App',
         'encoding' => env('APP_ENCODING', 'UTF-8'),
         'defaultLocale' => env('APP_DEFAULT_LOCALE', 'ja_JP'), // ここ
         'base' => false,
         'dir' => 'src',
         'webroot' => 'webroot',
         'wwwRoot' => WWW_ROOT,
         // 'baseUrl' => env('SCRIPT_NAME'),
         'fullBaseUrl' => false,
         'imageBaseUrl' => 'img/',
         'cssBaseUrl' => 'css/',
         'jsBaseUrl' => 'js/',
         'paths' => [
             'plugins' => [ROOT . DS . 'plugins' . DS],
             'templates' => [APP . 'Template' . DS],
             'locales' => [APP . 'Locale' . DS],
         ],
     ],

これで完了です。

*コマンドで言語ファイルを生成する [#p35678f3]

コマンドを使用するとソースから拾ってきてくれるみたいです。

 $ bin/cake i18n

何も考えずに進めると src/Locale 以下に default.pot ファイルが生成されます。~
default.po にリネームして ja 以下に置き直しましょう。

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS