CakePHP3めも

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

<?= __('Actions') ?>

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

言語ファイルを作成する

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

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

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

msgid "Actions"
msgstr "操作"

言語設定をする

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],
        ],
    ],

これで完了です。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS