Craft CMS の日本語訳や複数環境向けの設定を調整する

これは Craft CMS Advent Calendar 2016 5日目の記事です。

Craft CMS の管理画面を操作していると、たまに日本語訳が気になるときがあります。
プラグインによっては日本語の翻訳ファイルが含まれていないことがあるため、カスタマイズ方法を覚えておきましょう。

また、本番環境開発環境 でデータベースの設定が異なるといったケースは多々あると思いますが、 Craft CMS では設定ファイルにまとめて定義しておくことができます。

そこで、翻訳ファイルや設定ファイルの調整方法についてご紹介します。

日本語訳の調整

前回セットアップしたデモコンテンツの News に属するエントリを見てみましょう。

Matrix フィールドのオプション設定

行列(Matrix)フィールドのオプションを表示すると、1番上が 倒れる、3つ目以降が 上記の○○追加 となっていて、少し判りづらい表現ですね。

そこで、この部分の日本語訳を変更してみましょう。

<?php
return array(
  'Add {type} above' => '「{type}」を上に追加',
  'Expand' => '展開する',
  'Collapse' => '折りたたむ',
);

エディタで新しいファイルを作成し、上記をコピー&ペーストして craft/translations/ja.php として保存します。このとき translations ディレクトリは新規作成してください。

変更後の Matrix フィールドのオプション設定

先程の管理画面をリロードすると、新しい表記に変わっていますね。
同様に Craft CMS 本体やプラグインでセットされている表記は、必要な文言だけを craft/translations/ に存在するファイルに定義した内容で置き換えることができます。

各言語ファイルは

  • Craft CMS 本体の日本語訳 craft/app/translations/ja.php
  • プラグイン別の言語ファイル craft/plugins/{プラグインのディレクトリ名}/translations/{言語名}.php

にありますので、既存の定義内容を参考にしながら craft/translations/ja.php へ追記していきましょう。

GitHub に公開されているプラグインなどで利用頻度が高いものは、いずれプルリクエストを送ったりしたいところですね。。。(※コミュニケーションスキルの問題もあるため、願望を含みますが w)

追記 2016.12.05 10:33

Twitter で Mention をいただき、次のバージョンで前述の調整を反映してもらえることになりました。

Nicolas さん、ありがとうございます!

複数環境の設定方法

Craft CMS の設定ファイルには、複数のサーバ環境に関する指定をまとめて定義しておくことができます。

例えば、全般設定 craft/config/general.php を下記のように変更すると、 example.dev というホスト名でアクセスしているときだけ、開発者モード(データベースのクエリをログに出力したりできるモード)にすることができます。

<?php
return array(
  'example.dev' => array(
    'devMode' => true,
  )
);

データベースの設定も craft/config/db.php を下記のようにしておくと、本番・開発環境に関わらず、共通ファイルを利用できるため便利です。

<?php
return array(
    // テーブルの接頭辞は、ホスト名に関わらず共通
    '*' => array(
        'tablePrefix' => 'craft',
    ),

    // 開発環境のデータベース接続情報
    'example.dev' => array(
        'server' => 'localhost',
        'user' => 'dev_db_username',
        'password' => 'dev_db_password',
        'database' => 'craft_dev_db',
    ),

    // 本番環境のデータベース接続情報
    'example.com' => array(
        'server' => 'xxx.xxx.xxx.xxx',
        'user' => 'publish_username',
        'password' => 'publish_password',
        'database' => 'craft_publish_db',
    ),
);

公式リファレンスでは アセットの保存先 などの環境変数をホスト名ごとに指定するサンプルコードも記載されていますので、興味のある方は参考にしてみてください。

Multi-Environment Configs | Documentation | Craft CMS:
https://craftcms.com/docs/multi-environment-configs

まとめ

日本語訳の調整や複数環境向けの設定が、比較的簡単にできることが判っていただけたでしょうか?
次回は、エントリに関連する「セクションや入力タイプ(フィールドレイアウト)」について解説しようと思います。