[eccube] 多言語対応版のEC-CUBEをイジる ②(日本語にしてみる)

前回の仕組みについてみていきましたが、今回は日本語化する手順をみていきましょう。

環境(各バージョン)

まずはおきまりの環境でございます。

・EC-CUBE version: 2.12.6en-p1
・PHP information: 5.4.10
・DB information: MySQL 5.5.29

多言語版の管理画面

変更個所(管理画面)

「System settings » Parameter settings」から変更します。

(※「MAIL_HEADER_CONTENT_TYPE」や「TIMEZONE」など日本語版には無かった項目が増えてますね)

テンプレートを日本版に切り替える

/data/Smarty/templates/の中に「default_en-US」「sphone_en-US」という英語用のテンプレートが追加されています。 デフォルトではこのテンプレートが指定してあるので、下記の様に変更します。
(※「mobile」テンプレートは英語版が無いようです)

■PC表示

	DEFAULT_TEMPLATE_NAME "default_en-US"
	 ↓
	DEFAULT_TEMPLATE_NAME:"default"
	
	TEMPLATE_NAME:"default_en-US"
	 ↓
	TEMPLATE_NAME:"default"
	

■スマートフォン表示

	SMARTPHONE_DEFAULT_TEMPLATE_NAME:"sphone_en-US"
	 ↓
	SMARTPHONE_DEFAULT_TEMPLATE_NAME:"sphone"
	
	SMARTPHONE_TEMPLATE_NAME:"sphone_en-US"
	 ↓
	SMARTPHONE_TEMPLATE_NAME:"sphone"
	

■フィーチャーフォン(ガラケー)表示

	変更なし(※「mobile」テンプレートは英語版が無いようです)
	

 

管理画面日本語になった

管理画面を日本語に切り替える

■言語ファイル(.mo)の読み込みを変更

/data/class/helper/SC_Helper_Locale.php の57行目付近の2カ所で使われている。
/data/class/locales/ にある en-US.mo から ja.mo を使うように変更

	LANG_CODE:"en-US"
	 ↓
	LANG_CODE:"ja"
	

※言語ファイルはwordpressと同様に「○○○○.po」ファイルを編集して「○○○○.mo」ファイルを作成する訳ですが、編集/変換はPoeditというアプリで行えます。Mac/Win/Linux対応という懐のデカさに感謝。

■ロケールを日本語で明示的に設定

/data/class/SC_Initial.php の134行目付近の1カ所で使われている。

	LOCALE:"en_US.UTF-8"
	 ↓
	LOCALE:"ja.UTF-8"
	または
	LOCALE:"ja_JP.UTF-8"
	

 

メールヘッダの変更

/data/class/SC_SendMail.php の239行目/247行目付近の2カ所で使われている。

	MAIL_HEADER_CONTENT_TYPE:"US-ASCII"
	 ↓
	MAIL_HEADER_CONTENT_TYPE:"ISO-2022-JP"
	

 

タイムゾーンの変更

/data/class/SC_Initial.php の497行目付近の1カ所で使われている。

	TIMEZONE:"Etc/GMT+0"
	 ↓
	TIMEZONE:"Asia/Tokyo"
	

Similar posts