Craft CMS に独自の翻訳を適用する方法をご紹介します。
この記事は「Craft CMS Advent Calendar 2017」の5日目の記事です。
Craft CMS は最初から日本語にも対応していますが、別の翻訳の方がクライアントに分かりやすい場合もあります。
例えば、下記の画像にある「有効期限の日付」。
これは個人的には「公開終了日」の方が分かりやすい気がします。そのような場合は、独自の翻訳ファイルを用意して本体の翻訳を上書きすることができます。
独自の翻訳ファイルを設置する方法は BUN さんが下記の記事ですでに書いてくれていますね。
ここでもざっくり説明しておくと、下記の手順になります。
translations
ディレクトリを作成craft/app/translations/ja.php
ファイルを作成した craft/translations
にコピーあとはこのコピーした ja.php
を修正していけばOKです。
先程あげた「有効期限の日付」を修正してみると、
'Expiry Date' => '有効期限の日付',
という部分を、
'Expiry Date' => '公開終了日',
として保存すると翻訳が上書きされます。
さて、実はこの自分で設置した ja.php
はプラグインの翻訳にも使えます。
例えば、無料でメールフォームを作成できる高機能なプラグイン「amforms」の初期状態の画面は下図のようになっています。
フィールド
と 設定
だけ翻訳されていて少し違和感ありますよね。
そこで、独自 ja.php
に下記のように追加してみます。
// amforms
'Forms' => 'フォーム',
'Exports' => 'エクスポート',
'Submitted from' => '送信フォーム',
'Submissions' => '投稿されたデータ',
'All submissions' => '全ての投稿データ',
すると下図のようになりました。
さらにこの独自の ja.php
は自分で追加したフィールド名などにも適用できます。
例えば、「Caption」という名前のプレーンテキストのフィールドを作ったとして、独自の ja.php
に以下のコードを追加すれば管理画面上は「キャプション」と表示されます。
'Caption' => 'キャプション',
したがって、多言語サイトで管理画面も多国籍の人が利用する場合は、初めからフィールド名を英語で追加して、独自の ja.php
等に翻訳を追加していくというのもありかもしれませんね。僕は今作業している案件のサイトではそうしています。
また、翻訳ファイルを1箇所で管理できたり、他の案件に使い回したりできるというメリットもあります。
以上です。