2017-10-20 36 views
0

私はyii2フレームワークに取り組んでいます。ショッピングカートサイト(英語とアラビア語)の複数言語オプションを設定したい私は何らかの方法で試しましたが、成功しませんでした。Yii2多言語

  1. データベースに各テーブルのコピーを作成します。
  2. 言語ごとに異なるデータベースを接続します。
  3. テーブルの言語用に2つのフィールドを追加します。

どちらが優れていますか?または他のオプション?

答えて

0

私は別の解決策があります。

例:

tablename = post 

表には、このフィールドがあります。各ポストのため

id 
post_title 
post_content 
language 
slug 
... 

スラグ-unique文字列。

id | post_title  | post_content  |slug  |... 
1  title_en   content_en   title_slug 
2  title_ar   content_ar   title_slug 
3  title_fr   content_fr   title_slug 
4  title_uz   content_uz   title_slug 

あなたは、このようなURLを設定することがあります。

http://example.com/en/post/title_slug

1

Yii2は、手順は、次のマニュアル

Internationalization

のものに専用のセクションを持っている、あなたが作成することができます翻訳テーブルと使い方 Yii::t()

+0

内容はバックエンドから追加されます。ユーザーがフロントエンドから言語を選択すると、すべての内容が国際化を使用して選択された言語に変更されますか? – SaabzCoder

+0

出力は 'I18n'ライブラリと' Yii:t() 'で管理することができます。 文字列とそのそれぞれの翻訳をデータベースに格納し、 '\ Yii :: $ app-> language'の値に応じてそれらを管理します – Sageth

1

私は最近これについて別の投稿をしましたが、そこに私はクライアントと持っているバージョンの複雑なアーキテクチャで動作する戦略の種類を提案しました。その答えをお読みください、私はあなたと他の人を助けることを願っています。

ここでは、3つの主要なコンポーネントについて説明します。
1.メッセージ翻訳。
2.ルートダイナミックトランスレーション。
3.データベースコンテンツの翻訳。

Yii2 best practices translating dynamic content

そして、私はドキュメントであっ基づいて議論することはすべてのtehの他の回答でdiscused Yii2 i18n Message translationに提供します。