SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
Copyright © LOCKON CO.,LTD.All Rights Reserved.
多言語化
Copyright © LOCKON CO.,LTD.All Rights Reserved.
多言語化
Copyright © LOCKON CO.,LTD.All Rights Reserved.
多言語化
- 3 -
概要
• 日本語だけでなく、英語やその他の言語で表示するための機構が組み込ま
れました。
• 現時点では日本語または英語に対応しています。
Copyright © LOCKON CO.,LTD.All Rights Reserved.
多言語化
- 4 -
言語の切り替え
• 環境変数でロケールを指定し、表示言語を切り替えることが出来ます。
• ルートディレクトリ直下に、.envファイルを作成し、
「ECCUBE_LOCALE」を設定します。
• 設定後、画面をリロードすると、言語表示が切り替わります。
.envに環境変数「ECCUBE_LOCALE」を設定する
// 英語表示にする場合
ECCUBE_LOCALE=en
Copyright © LOCKON CO.,LTD.All Rights Reserved.
多言語化
- 5 -
英語(en)設定時の表示
※ データベースに保持されているデータは翻訳されません。
※ ECCUBE_LOCALEはフロント/管理画面共通です。
Copyright © LOCKON CO.,LTD.All Rights Reserved.
多言語化
- 6 -
メッセージファイル(翻訳ファイル)
• メッセージファイルは、「src/Eccube/Resouce/locale」以下に保存され
ています。
• ECCUBE_LOCALEの値に応じて、
– messages.[locale].php
– validators.[locale].php
• のファイルが読み込まれます。
Copyright © LOCKON CO.,LTD.All Rights Reserved.
多言語化
- 7 -
メッセージファイル(翻訳ファイル)
• メッセージファイルは単純な連想配列で定義されたphpファイルです。
• 連想配列のキーはメッセージのID、値は翻訳された文字列を表します。
// messages.ja.php
<?php
return [
//common
'common.label.add' => '新規作成’,
'common.label.edit' => '編集’,
'common.label.delete' => '削除’,
'common.label.save' => '登録’,
…
Copyright © LOCKON CO.,LTD.All Rights Reserved.
多言語化
- 8 -
trans関数
• trans関数にメッセージIDを指定することで、翻訳された文字列を取得でき
ます。
基本的な使い方
<?php
// 'common.label.edit' => ‘編集’,
$message = trans('common.label.edit’);
var_dump($message);
//→「編集」が表示されます。
パラメータ付きメッセージ
// 'admin.order.index.paginator_total_count' => '検索結果:%count%件が該当しました’,
$message = trans('admin.order.index.paginator_total_count', ['%count%' => 10]);
var_dump($message);
// →「検索結果:10件が該当しました」が表示されます。
Copyright © LOCKON CO.,LTD.All Rights Reserved.
多言語化
- 9 -
transフィルタ
• twig内で翻訳する場合は、transフィルタを使用します。
基本的な使い方
{{ 'common.label.edit'|trans }}
//→「編集」が表示されます。
パラメータ付きメッセージ
{{ 'admin.order.index.paginator_total_count'|trans({
‘%count%' : 10
}) }}
// →「検索結果:10件が該当しました」が表示されます。
Copyright © LOCKON CO.,LTD.All Rights Reserved.
多言語化
- 10 -
参考
• EC-CUBEの翻訳機構は、SymfonyのTranslationコンポーネントを利用し
ています。
• より詳しく知りたい場合は、Symfonyの公式ドキュメントを参照してみて
ください。
• http://symfony.com/doc/current/translation.html
Copyright © LOCKON CO.,LTD.All Rights Reserved.
通貨
Copyright © LOCKON CO.,LTD.All Rights Reserved.
通貨
- 12 -
概要
• 初期設定では、通貨の表示は日本円で表示されます。
• 環境変数で指定することにより、日本円以外の通貨を表示することができます。
Copyright © LOCKON CO.,LTD.All Rights Reserved.
通貨
- 13 -
通貨表示の切り替え
• 環境変数でロケール/通貨コードを指定し、通貨表示を切り替えることがで
きます。
• ルートディレクトリ直下に、.envファイルを作成し、
「ECCUBE_LOCALE」および「ECCUBE_CURRENCY」を設定します。
• 設定後、画面をリロードすると、通貨表示が切り替わります。
.envに環境変数「ECCUBE_LOCALE、ECCUBE_CURRENCY」を設定する
// de_DEでユーロ表示にする場合
ECCUBE_LOCALE=de_DE
ECCUBE_CURRENCY=EUR
Copyright © LOCKON CO.,LTD.All Rights Reserved.
通貨
- 14 -
ドイツ・ユーロ設定時の表示
※ 小数点や桁区切り、通貨記号の位置も自動で反映されます。
※ 通貨の表示を切り替える機能です。通貨レートの変換は行いません。
Copyright © LOCKON CO.,LTD.All Rights Reserved.
通貨
- 15 -
参考
• 通貨の切り替え機構を追加
• https://github.com/EC-CUBE/ec-cube/pull/2431
Copyright © LOCKON CO.,LTD.All Rights Reserved.
タイムゾーン
Copyright © LOCKON CO.,LTD.All Rights Reserved.
タイムゾーン
- 17 -
概要
• 初期設定では、タイムゾーンはAsia/Tokyoに設定されています。
• 環境変数で指定することにより、Asia/Tokyo以外のタイムゾーンを使用す
ることができます。
Copyright © LOCKON CO.,LTD.All Rights Reserved.
タイムゾーン
- 18 -
タイムゾーンの切り替え
• 環境変数でタイムゾーンを指定し、タイムゾーンを切り替えることができ
ます。
• ルートディレクトリ直下に、.envファイルを作成し、
「ECCUBE_TIMEZONE」を設定します。
• 環境変数設定後、画面をリロードすると、タイムゾーンが切り替わります。
.envに環境変数「ECCUBE_TIMEZONE」を設定する
// Asia/Saigon(ベトナム・ホーチミン)に設定する場合
ECCUBE_TIMEZONE=Asia/Saigon
Copyright © LOCKON CO.,LTD.All Rights Reserved.
タイムゾーン
- 19 -
参考
• 日時データ型の対応
• https://github.com/EC-CUBE/ec-cube/pull/2308
Copyright © LOCKON CO.,LTD.All Rights Reserved.
今後の課題
Copyright © LOCKON CO.,LTD.All Rights Reserved.
今後の課題
- 21 -
• インストーラ
– インストール時に、使用する言語等を設定できるように
• 入力フォーム
– 都道府県の選択や、住所入力の扱いなど
• 言語・通貨表示・タイムゾーンの切り替え
– ユーザ単位で切り替えできるように
• 税金計算
– 税の計算ロジックを切り替えられるように
• 送料計算
– 重量ベースの送料計算が必要
– 越境の場合はEMSの料金テーブルから算出する必要がある
• データベース内のデータの多言語化
– 商品名・商品説明など、データベース内のテキストの多言語化
Copyright © LOCKON CO.,LTD.All Rights Reserved.
フィードバック
22
• ご意見やフィードバックはこちらから
– https://github.com/EC-CUBE
– https://eccube-slack.herokuapp.com/

Weitere ähnliche Inhalte

Mehr von EC-CUBE

20171117 最新機能紹介
20171117 最新機能紹介 20171117 最新機能紹介
20171117 最新機能紹介 EC-CUBE
 
20171122_VAddyMeetUp_EC-CUBEでのVAddy活用事例
20171122_VAddyMeetUp_EC-CUBEでのVAddy活用事例20171122_VAddyMeetUp_EC-CUBEでのVAddy活用事例
20171122_VAddyMeetUp_EC-CUBEでのVAddy活用事例EC-CUBE
 
201710_EC-CUBE 開発進捗説明会:拡張APIダイジェスト
201710_EC-CUBE 開発進捗説明会:拡張APIダイジェスト201710_EC-CUBE 開発進捗説明会:拡張APIダイジェスト
201710_EC-CUBE 開発進捗説明会:拡張APIダイジェストEC-CUBE
 
201710_EC-CUBE 開発進捗説明会:開発背景・今後のスケジュール
201710_EC-CUBE 開発進捗説明会:開発背景・今後のスケジュール201710_EC-CUBE 開発進捗説明会:開発背景・今後のスケジュール
201710_EC-CUBE 開発進捗説明会:開発背景・今後のスケジュールEC-CUBE
 
201710_EC-CUBE 開発進捗説明会:Customize・Pluginライブコーディン
201710_EC-CUBE 開発進捗説明会:Customize・Pluginライブコーディン201710_EC-CUBE 開発進捗説明会:Customize・Pluginライブコーディン
201710_EC-CUBE 開発進捗説明会:Customize・PluginライブコーディンEC-CUBE
 
201710_EC-CUBE 開発進捗説明会:管理画面UI改善
201710_EC-CUBE 開発進捗説明会:管理画面UI改善201710_EC-CUBE 開発進捗説明会:管理画面UI改善
201710_EC-CUBE 開発進捗説明会:管理画面UI改善EC-CUBE
 
201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 04_機能改善
201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 04_機能改善201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 04_機能改善
201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 04_機能改善EC-CUBE
 
201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 02_デザインカスタマイズ
201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 02_デザインカスタマイズ201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 02_デザインカスタマイズ
201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 02_デザインカスタマイズEC-CUBE
 
201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 01_全体方針
201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 01_全体方針201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 01_全体方針
201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 01_全体方針EC-CUBE
 
201703 EC-CUBE 3.1開発方針説明会:機能カスタマイズ編 02_機能カスタマイズのためのアーキテクチャ
201703 EC-CUBE 3.1開発方針説明会:機能カスタマイズ編 02_機能カスタマイズのためのアーキテクチャ201703 EC-CUBE 3.1開発方針説明会:機能カスタマイズ編 02_機能カスタマイズのためのアーキテクチャ
201703 EC-CUBE 3.1開発方針説明会:機能カスタマイズ編 02_機能カスタマイズのためのアーキテクチャEC-CUBE
 
201703 EC-CUBE 3.1開発方針説明会:機能カスタマイズ編 01_全体方針
201703 EC-CUBE 3.1開発方針説明会:機能カスタマイズ編 01_全体方針201703 EC-CUBE 3.1開発方針説明会:機能カスタマイズ編 01_全体方針
201703 EC-CUBE 3.1開発方針説明会:機能カスタマイズ編 01_全体方針EC-CUBE
 
2016 07-16 PHPカンファレンス関西2016(EC-CUBE)
2016 07-16 PHPカンファレンス関西2016(EC-CUBE)2016 07-16 PHPカンファレンス関西2016(EC-CUBE)
2016 07-16 PHPカンファレンス関西2016(EC-CUBE)EC-CUBE
 

Mehr von EC-CUBE (12)

20171117 最新機能紹介
20171117 最新機能紹介 20171117 最新機能紹介
20171117 最新機能紹介
 
20171122_VAddyMeetUp_EC-CUBEでのVAddy活用事例
20171122_VAddyMeetUp_EC-CUBEでのVAddy活用事例20171122_VAddyMeetUp_EC-CUBEでのVAddy活用事例
20171122_VAddyMeetUp_EC-CUBEでのVAddy活用事例
 
201710_EC-CUBE 開発進捗説明会:拡張APIダイジェスト
201710_EC-CUBE 開発進捗説明会:拡張APIダイジェスト201710_EC-CUBE 開発進捗説明会:拡張APIダイジェスト
201710_EC-CUBE 開発進捗説明会:拡張APIダイジェスト
 
201710_EC-CUBE 開発進捗説明会:開発背景・今後のスケジュール
201710_EC-CUBE 開発進捗説明会:開発背景・今後のスケジュール201710_EC-CUBE 開発進捗説明会:開発背景・今後のスケジュール
201710_EC-CUBE 開発進捗説明会:開発背景・今後のスケジュール
 
201710_EC-CUBE 開発進捗説明会:Customize・Pluginライブコーディン
201710_EC-CUBE 開発進捗説明会:Customize・Pluginライブコーディン201710_EC-CUBE 開発進捗説明会:Customize・Pluginライブコーディン
201710_EC-CUBE 開発進捗説明会:Customize・Pluginライブコーディン
 
201710_EC-CUBE 開発進捗説明会:管理画面UI改善
201710_EC-CUBE 開発進捗説明会:管理画面UI改善201710_EC-CUBE 開発進捗説明会:管理画面UI改善
201710_EC-CUBE 開発進捗説明会:管理画面UI改善
 
201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 04_機能改善
201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 04_機能改善201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 04_機能改善
201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 04_機能改善
 
201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 02_デザインカスタマイズ
201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 02_デザインカスタマイズ201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 02_デザインカスタマイズ
201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 02_デザインカスタマイズ
 
201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 01_全体方針
201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 01_全体方針201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 01_全体方針
201706 EC-CUBE 3.1開発進捗説明会:デザインカスタマイズ&新機能編 01_全体方針
 
201703 EC-CUBE 3.1開発方針説明会:機能カスタマイズ編 02_機能カスタマイズのためのアーキテクチャ
201703 EC-CUBE 3.1開発方針説明会:機能カスタマイズ編 02_機能カスタマイズのためのアーキテクチャ201703 EC-CUBE 3.1開発方針説明会:機能カスタマイズ編 02_機能カスタマイズのためのアーキテクチャ
201703 EC-CUBE 3.1開発方針説明会:機能カスタマイズ編 02_機能カスタマイズのためのアーキテクチャ
 
201703 EC-CUBE 3.1開発方針説明会:機能カスタマイズ編 01_全体方針
201703 EC-CUBE 3.1開発方針説明会:機能カスタマイズ編 01_全体方針201703 EC-CUBE 3.1開発方針説明会:機能カスタマイズ編 01_全体方針
201703 EC-CUBE 3.1開発方針説明会:機能カスタマイズ編 01_全体方針
 
2016 07-16 PHPカンファレンス関西2016(EC-CUBE)
2016 07-16 PHPカンファレンス関西2016(EC-CUBE)2016 07-16 PHPカンファレンス関西2016(EC-CUBE)
2016 07-16 PHPカンファレンス関西2016(EC-CUBE)
 

201803_EC-CUBE開発進捗説明会_6_多言語化

  • 1. Copyright © LOCKON CO.,LTD.All Rights Reserved. 多言語化
  • 2. Copyright © LOCKON CO.,LTD.All Rights Reserved. 多言語化
  • 3. Copyright © LOCKON CO.,LTD.All Rights Reserved. 多言語化 - 3 - 概要 • 日本語だけでなく、英語やその他の言語で表示するための機構が組み込ま れました。 • 現時点では日本語または英語に対応しています。
  • 4. Copyright © LOCKON CO.,LTD.All Rights Reserved. 多言語化 - 4 - 言語の切り替え • 環境変数でロケールを指定し、表示言語を切り替えることが出来ます。 • ルートディレクトリ直下に、.envファイルを作成し、 「ECCUBE_LOCALE」を設定します。 • 設定後、画面をリロードすると、言語表示が切り替わります。 .envに環境変数「ECCUBE_LOCALE」を設定する // 英語表示にする場合 ECCUBE_LOCALE=en
  • 5. Copyright © LOCKON CO.,LTD.All Rights Reserved. 多言語化 - 5 - 英語(en)設定時の表示 ※ データベースに保持されているデータは翻訳されません。 ※ ECCUBE_LOCALEはフロント/管理画面共通です。
  • 6. Copyright © LOCKON CO.,LTD.All Rights Reserved. 多言語化 - 6 - メッセージファイル(翻訳ファイル) • メッセージファイルは、「src/Eccube/Resouce/locale」以下に保存され ています。 • ECCUBE_LOCALEの値に応じて、 – messages.[locale].php – validators.[locale].php • のファイルが読み込まれます。
  • 7. Copyright © LOCKON CO.,LTD.All Rights Reserved. 多言語化 - 7 - メッセージファイル(翻訳ファイル) • メッセージファイルは単純な連想配列で定義されたphpファイルです。 • 連想配列のキーはメッセージのID、値は翻訳された文字列を表します。 // messages.ja.php <?php return [ //common 'common.label.add' => '新規作成’, 'common.label.edit' => '編集’, 'common.label.delete' => '削除’, 'common.label.save' => '登録’, …
  • 8. Copyright © LOCKON CO.,LTD.All Rights Reserved. 多言語化 - 8 - trans関数 • trans関数にメッセージIDを指定することで、翻訳された文字列を取得でき ます。 基本的な使い方 <?php // 'common.label.edit' => ‘編集’, $message = trans('common.label.edit’); var_dump($message); //→「編集」が表示されます。 パラメータ付きメッセージ // 'admin.order.index.paginator_total_count' => '検索結果:%count%件が該当しました’, $message = trans('admin.order.index.paginator_total_count', ['%count%' => 10]); var_dump($message); // →「検索結果:10件が該当しました」が表示されます。
  • 9. Copyright © LOCKON CO.,LTD.All Rights Reserved. 多言語化 - 9 - transフィルタ • twig内で翻訳する場合は、transフィルタを使用します。 基本的な使い方 {{ 'common.label.edit'|trans }} //→「編集」が表示されます。 パラメータ付きメッセージ {{ 'admin.order.index.paginator_total_count'|trans({ ‘%count%' : 10 }) }} // →「検索結果:10件が該当しました」が表示されます。
  • 10. Copyright © LOCKON CO.,LTD.All Rights Reserved. 多言語化 - 10 - 参考 • EC-CUBEの翻訳機構は、SymfonyのTranslationコンポーネントを利用し ています。 • より詳しく知りたい場合は、Symfonyの公式ドキュメントを参照してみて ください。 • http://symfony.com/doc/current/translation.html
  • 11. Copyright © LOCKON CO.,LTD.All Rights Reserved. 通貨
  • 12. Copyright © LOCKON CO.,LTD.All Rights Reserved. 通貨 - 12 - 概要 • 初期設定では、通貨の表示は日本円で表示されます。 • 環境変数で指定することにより、日本円以外の通貨を表示することができます。
  • 13. Copyright © LOCKON CO.,LTD.All Rights Reserved. 通貨 - 13 - 通貨表示の切り替え • 環境変数でロケール/通貨コードを指定し、通貨表示を切り替えることがで きます。 • ルートディレクトリ直下に、.envファイルを作成し、 「ECCUBE_LOCALE」および「ECCUBE_CURRENCY」を設定します。 • 設定後、画面をリロードすると、通貨表示が切り替わります。 .envに環境変数「ECCUBE_LOCALE、ECCUBE_CURRENCY」を設定する // de_DEでユーロ表示にする場合 ECCUBE_LOCALE=de_DE ECCUBE_CURRENCY=EUR
  • 14. Copyright © LOCKON CO.,LTD.All Rights Reserved. 通貨 - 14 - ドイツ・ユーロ設定時の表示 ※ 小数点や桁区切り、通貨記号の位置も自動で反映されます。 ※ 通貨の表示を切り替える機能です。通貨レートの変換は行いません。
  • 15. Copyright © LOCKON CO.,LTD.All Rights Reserved. 通貨 - 15 - 参考 • 通貨の切り替え機構を追加 • https://github.com/EC-CUBE/ec-cube/pull/2431
  • 16. Copyright © LOCKON CO.,LTD.All Rights Reserved. タイムゾーン
  • 17. Copyright © LOCKON CO.,LTD.All Rights Reserved. タイムゾーン - 17 - 概要 • 初期設定では、タイムゾーンはAsia/Tokyoに設定されています。 • 環境変数で指定することにより、Asia/Tokyo以外のタイムゾーンを使用す ることができます。
  • 18. Copyright © LOCKON CO.,LTD.All Rights Reserved. タイムゾーン - 18 - タイムゾーンの切り替え • 環境変数でタイムゾーンを指定し、タイムゾーンを切り替えることができ ます。 • ルートディレクトリ直下に、.envファイルを作成し、 「ECCUBE_TIMEZONE」を設定します。 • 環境変数設定後、画面をリロードすると、タイムゾーンが切り替わります。 .envに環境変数「ECCUBE_TIMEZONE」を設定する // Asia/Saigon(ベトナム・ホーチミン)に設定する場合 ECCUBE_TIMEZONE=Asia/Saigon
  • 19. Copyright © LOCKON CO.,LTD.All Rights Reserved. タイムゾーン - 19 - 参考 • 日時データ型の対応 • https://github.com/EC-CUBE/ec-cube/pull/2308
  • 20. Copyright © LOCKON CO.,LTD.All Rights Reserved. 今後の課題
  • 21. Copyright © LOCKON CO.,LTD.All Rights Reserved. 今後の課題 - 21 - • インストーラ – インストール時に、使用する言語等を設定できるように • 入力フォーム – 都道府県の選択や、住所入力の扱いなど • 言語・通貨表示・タイムゾーンの切り替え – ユーザ単位で切り替えできるように • 税金計算 – 税の計算ロジックを切り替えられるように • 送料計算 – 重量ベースの送料計算が必要 – 越境の場合はEMSの料金テーブルから算出する必要がある • データベース内のデータの多言語化 – 商品名・商品説明など、データベース内のテキストの多言語化
  • 22. Copyright © LOCKON CO.,LTD.All Rights Reserved. フィードバック 22 • ご意見やフィードバックはこちらから – https://github.com/EC-CUBE – https://eccube-slack.herokuapp.com/