[eccube] 多言語対応版のEC-CUBEをイジる ①(仕組みについて)

EC-CUBEの多言語版が公開されて丁度一年が経ちましたね。
公開されたのが2013年1月30日で、今日は2014年1月30日)

嗚呼、“多言語対応版 EC-CUBE”ってやつは…

EC-CUBEの場合は多言語版といっても『言語を数カ国語に切り替えできる』といった仕様では無く、単に管理画面の言語ファイルのみが.moファイル(.poを元に作る)で外部化されただけで表示側は相変わらず.tplファイルにべた書きなんですね。つまり管理画面はデフォルトの英語をはじめ中国語版や韓国語版なども簡単に作れますが、例えば表側を中国語にしようとした場合は100以上ある.tplファイルを一つ一つ翻訳して行かなければなりません(厳密にはページタイトルだけ.moファイルから呼び出したりしていますが)。

この仕様にガッカリして手をつけずに遠くから眺めていた訳ですが、ただこの各国向けテンプレート作成の問題だけ解決すれば、あとはユーザーエージェントやホスト名等から判断して言語を自動で切り替えるといったカスタムも普通のEC-CUBEをベースにするよりは比較的容易なのでは? と思った次第です。

多言語版のトップ

しかし考えるのと実際にやってみるとでは全然違うもの。

表示側は言語の切り替え実装が出来ても受注メールの文字化け、各国通貨表示や送料設定、各国に対応したカード決済の問題等々、パッと思いつくだけでもいろいろ難儀しそうな課題があります。

なので、今回は手始めとして日本語化する流れだけ(設定変更だけ)をざっと見てみす。

試しに言語ファイルをイジってみましょう

まず『Poedit』というアプリを使って.poファイルを編集し.moファイルに書き出します。

分かり易く全てに「ああああああ….」と入れて保存し、.moファイルを作成してみました。

poファイル

すると、管理画面はこんなカオス状態に。

eccube管理画面

多言語版のEC-CUBEを日本語化して使うメリット(カスタムベースとして)

多言語版はボタン類が全てCSSで作られているので画像を作成する手間が省けるくらいしかメリットが見当たりませんが、実はこれがカスタムベースとして使う場合に大きなメリットとなる気がします。近いうちに通常の日本語版でもCSSになるでしょうね。

という訳で、次回は上記を踏まえつつ日本語化を行ってみます。

Similar posts