Magento2:テーマコンポーネントから日本語表示調整

イントロダクション

この記事ではMagento2においてオリジナルのテーマコンポーネントから日本語化表示を調整する手順を紹介します。
Magento2日本語化したい場合、まず最初に “公式日本語化パッケージ" または “サードパーティ製日本語化パッケージ" を導入するのが一般的かと思います。導入後の日本語化されたストアフロントを確認してみるとストアオリジナルでメッセージや用語など微調整したい部分がでてくる事もあるかと思います。この時オリジナルのテーマコンポーネントを用意して、調整したい日本語化部分をを上書き定義するのが管理上最も合理的だと思います。(ストア独自のカスタマイズが管理できる点。composerのupdateの影響を受けない点において)
この記事ではオリジナルテーマコンポーネントに対する作業について説明しますので、テーマ作成が済んでいない場合は “Magento2:オリジナルテーマ作成で最初に必要な作業" の記事に従って先に用意を済ませてください。

日本語Dictionaryファイルを配置

Translation Dictionary方式で日本語ロケール選択時の翻訳定義するファイル ja_JP.csv を新規作成します。
ファイル配置ディレクトリは、Themeコンポーネントのルート/i18n/ です。ディレクトリがなければ作成します。
下記のようなコマンドになります。(magento_userで実行)

$ mkdir ./app/design/frontend/Myvendor/custom/i18n
$ touch ./app/design/frontend/Myvendor/custom/i18n/ja_JP.csv

ファイルパーミッション設定

ここまでの作業で作成したディレクトリならびにファイルについてパーミッションを設定します。Webサーバのユーザー、CLIコマンド実行(=クーロン実行)をするmagento_userがアクセスできるように。

$ sudo chown -R magento_user:www-data ./app/design/frontend
$ find ./app/design/frontend -type d -exec chmod 770 {} \;
$ find ./app/design/frontend -type f -exec chmod 660 {} \;

翻訳文字列の定義

事前準備が整ったので、今回用意したDictionaryファイル(ja_JP.csv)へ任意の翻訳定義を追加すればストアの見た目に変更を加えられます。
Dictionaryファイルのファイルフォーマットは下記の形式です。

  • [1行目]=翻訳元i18n文字列(英語表記)
  • [2行目]=翻訳置換したい文字列

今回は一例として、3rdパーティ製日本語化パッケージ適用 後の状態から、「アカウント登録」の表示を『会員登録』、「アカウントの新規作成」を『新規会員登録』に変更してみます。

「アカウント登録」の表示を『会員登録』、「アカウントの新規作成」を『新規会員登録』変更前の画面イメージ

「アカウントの作成」となっている翻訳元i18n文字列は “Create an Account" 、「アカウントの新規作成」となっている翻訳元i18n文字列は “Create New Customer Account" なので ja_JP.csv の内容は下記のように定義します。

$ vi ./app/design/frontend/Myvendor/custom/i18n/ja_JP.csv
"Create an Account","会員登録" 
"Create New Customer Account","新規会員登録"

上記のように ja_JP.csv 変更したら表示が切り替わっているか確認します。
予めMagentoの動作モードをDeveloperモードにしておきます。

$ ./bin/magento deploy:mode:set developer

キャッシュクリアします。

$ ./bin/magento cache:flush
「アカウント登録」の表示を『会員登録』、「アカウントの新規作成」を『新規会員登録』変更後の画面イメージ

表示が変わっていることが確認できました。