EC-CUBE多言語対応版の利用

EC-CUBEは2.12.3enより、多言語対応をしました。海外への展開を考えているショップオーナーさんには朗報となりましたが、実際の運用となるとかなりの下準備とノウハウが必要になります。税金はどうなるの?発送はどうすればいいの?メールテンプレートやインボイスの変更、問い合わせ対応はどうすればいいの?などなど
このページでは、まずEC-CUBEに設定をすべき内容をご紹介します。

決済モジュールの導入

ペイパルプラグインの導入
ペイパルエクスプレスチェックアウトの多言語対応版を導入することができます。
プライグインはEC-CUBE公式サイトからダウンロードできます。
プラグインのインストール後、APIのユーザ名、パスワード等を設定しますが、
サンドボックスとして設定を行い、テスト的に使用することも可能です。
ペイパルのテストアカウントの取得については、こちらを参照ください。
ペイジェントの多通貨カード決済プラグインの導入
このプラグインの導入により、海外通貨での商品の表示とカード決済を行うことができるようになります。詳細は今後の公式サイトの掲載に期待です。

管理画面の日本語化

EC-CUBE多言語対応版では、英語と日本語の言語テンプレートがダウンロード時に準備され、デフォルトの言語設定は英語です。この設定はお客様の閲覧するサイトのフロント画面だけでなく、管理画面も同様です。しかし、ショップ管理者が日本人であれば、プロント画面の言語はなんであれ、管理画面は日本語で表示したいものです。

まず、「class\pages\admin\LC_Page_Admin.php」にグローバル変数を設定します。

/**
* Page を初期化する.
*
 * @return void
 */
function init() {
     :
  // 最後に追加
  $GLOBALS['isAdmin'] = true;
}
次に、「class\helper\SC_Helper_Locale.php」の文字列を取得するメソッドを変更します。
public function __construct(array $arrSelfInfo) {
    is_null(SC_Helper_Locale_Ex::$_instance) and SC_Helper_Locale_Ex::$_instance = new SC_Helper_Locale_Ex();

        // If language code is not specified, use site default.
        if (empty($options['lang_code'])) {
            $lang_code = $options['lang_code'] = defined('LANG_CODE') ? LANG_CODE : 'en-US';
        } else {
            $lang_code = $options['lang_code'];
        }
       
    //↓追加 
        if($GLOBALS['isAdmin']) {
            $lang_code = 'ja';
        }
    //↑

        :
 }
以上で、管理側ページへアクセス時は、\data\locales\jp.moファイルを読み、日本語が固定表示されます。
ただし、多言語対応版のプラグインを導入した場合は、プラグインに日本語用の言語ファイルが準備されておらず、プラグインの設定画面が正しく表示されないケースも考えられます。その場合は、プラグインの各設定画面のphpファイルで、下記のようにprocessメソッドでグローバル変数の設定を戻します。
/**
 * Page のプロセス.
 *
 * @return void
 */
function process() {
        $GLOBALS['isAdmin'] = false;
        parent::process();
        $this->action();
        $this->sendResponse();
}