Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

商品情報なども多言語対応可能にしたい #4600

Open
tao-s opened this issue Jun 27, 2020 · 5 comments
Open

商品情報なども多言語対応可能にしたい #4600

tao-s opened this issue Jun 27, 2020 · 5 comments
Labels
enhancement 機能追加
Milestone

Comments

@tao-s
Copy link
Contributor

tao-s commented Jun 27, 2020

概要(Overview)

現状、言語設定を帰るとUIは変わるが、商品情報などDBに入っている情報は1言語だけなのでそのまま表示されてしまう。
良さそげな対応方法を見つけたのでコアに取り込みたい。

期待する内容(Expect) or 要望 (Requirement)

ref: https://panda-telecoms.github.io/2020/06/26/%E3%80%90EC-CUBE4%E3%80%91DoctrineExtensions%E3%81%A7EC-CUBE%E3%81%AEDB%E3%82%92%E5%A4%9A%E8%A8%80%E8%AA%9E%E5%8C%96%E3%81%99%E3%82%8B/
上記の取り込み。
商品周り、ニュース、ブロックなども対応したい。

環境 (environment)

  • EC-CUBE: 4.0.x
  • PHP: 7.x.x
  • DB:
    • PostgreSQL x.x.x
    • MySQL x.x.x

関連情報 (Ref)

https://panda-telecoms.github.io/2020/06/26/%E3%80%90EC-CUBE4%E3%80%91DoctrineExtensions%E3%81%A7EC-CUBE%E3%81%AEDB%E3%82%92%E5%A4%9A%E8%A8%80%E8%AA%9E%E5%8C%96%E3%81%99%E3%82%8B/

@panda-telecoms
Copy link

記事内で触れていませんがコアに組み込む際は

  • CSVアップロードの対応が必要
    (英語版文言のカラムの追加)

  • 管理画面で翻訳済みかどうかが判別できない
    (たとえば商品名が日本語版でも英語だと商品一覧でぱっと見翻訳済みなのかわからない)

  • 翻訳した文言はこれまで通りの各テーブルのカラムではなく"ext_translations"に入るので、
    テーブル管理は少し複雑になる
    (翻訳機能がいらない人にはただ不要な仕様変更になりそう)

というのを考慮しないといけない気がします。
(記事の案件ではそれらを合意の上でカスタマイズしています)

@okazy
Copy link
Contributor

okazy commented Jun 29, 2020

紹介いただいている手順でDB情報の言語切り替えができました!

商品情報だけ Translatable アノテーションを付与しました。

image

他はフォールバックされています。

英語で商品登録後は環境変数の ECCUBE_LOCALE の切り替えのみで商品名が切り替わっています。

@okazy okazy added the enhancement 機能追加 label Jun 29, 2020
@okazy okazy added this to the 4.0.x milestone Jun 29, 2020
@okazy
Copy link
Contributor

okazy commented Jun 29, 2020

修正内容的を見ると互換性を保ちながら導入もできそうでしたので 4.0.x のマイルストンを設定しておきます。
影響範囲によっては 4.1 になるかもしれません。

@okazy
Copy link
Contributor

okazy commented Jun 29, 2020

CSVアップロードの対応が必要

こちらも盲点でした。初期CSVの形はかなり変わりそうですね。
対応すべきカラムの洗い出しも必要そうです。

管理画面で翻訳済みかどうかが判別できない

確かに、一つの画面で例えば日本語と英語を一緒に登録できるUIの方が良さそうですね。
少しカスタマイズが必要そうですが、言語別に保存するようにはできそうです。
https://github.com/Atlantic18/DoctrineExtensions/blob/v2.4.x/doc/translatable.md#persisting-multiple-translations
対応言語を自由に増やせる(例えば日本語と英語と中国語・・・)みたいな機能まで考えるとかなり複雑になってしまいそうです。。。

翻訳した文言はこれまで通りの各テーブルのカラムではなく"ext_translations"に入るので、テーブル管理は少し複雑になる

こちらは私も気になりました。導入前にパフォーマンスの調査は必要ですね。
商品情報、カテゴリ、規格、ニュースなどは多言語化の対象になると思うので、それぞれEntityは分けて用意した方がいいかもしれませんね。

@Yangsin Yangsin modified the milestones: 4.0.x, 4.1 Jun 29, 2020
@Yangsin
Copy link

Yangsin commented Jun 29, 2020

めちゃくちゃ取り込みたい気持ちはつよいのですが、互換性は保ちながらも、既存仕様の大幅な変更にはなり、マイナーレベルでは混乱が予想されるので4.0.xではなく4.1で検討させてください。
4.1でぜひ採用したいですね

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement 機能追加
Projects
None yet
Development

No branches or pull requests

5 participants