0

website.com/_locale/xxxxxxxx ルーティングを使用して Symfony2 で Web サイトを作成し、静的データを 2 つの言語に変換しました。この実装はうまくいきますが、それ以上のことをしたいと思っています。このウェブサイトを他のいくつかの国で運営したいのですが、これらの国 (言語が異なる) を 1 つのウェブサイトで管理するには、適切な変換が必要です。

Shops のエンティティがあるとします。作成された各オブジェクトには、住所、業種、設備などの変数があります。これにより、ユーザーは自分の言語でエントリを作成できますが、すべてのエントリがテーブルに混在します。テーブルにはイタリア語、英語、スペイン語のデータが含まれ、誰かが別の場所から Web サイトにアクセスすると、残念ながら他の言語のデータを表示する必要があります。

ユーザーが、英語と自分の言語の 2 つの言語で新しいショップを作成できるようにしたいと考えています。私が考えた解決策は次のとおりです。

  • たとえば「original_language」など、同じテーブルに新しい列を作成し、すべてのエントリがロケールとともに保存されます: en_US、es_SP など。
  • 別の言語で、元のテーブルのミラーとなる別のテーブルを作成します。これは、Shops テーブル/エンティティ、Shops_it、Shops_es、Shops_br などがあることを意味します。残念ながら、このソリューションでは、いくつかのテーブルと、他のリンクされたテーブル間の関係を作成する必要があります。
  • 各フィールドの同じ行に別の列を作成します。Shops.description、Shops.address などには、Shops.description_en、Shops.description_br、Shops.address_en、Shops.address_br なども含まれます。

私が望むことを行うための最も安全で、最も迅速で、より専門的な方法は何ですか?

4

2 に答える 2

1

Ocramius が提案したように、Doctrine の翻訳可能な拡張機能を使用してください

于 2013-01-15T13:48:16.973 に答える