2017-10-20 313 views
0

我正在開發yii2框架。我想爲購物車網站(英語和阿拉伯語)設置多種語言選項。我嘗試了一些方法,但沒有取得成功。Yii2多種語言

  1. 在數據庫中創建每個表的副本。
  2. 爲每種語言連接不同的數據庫
  3. 爲表中的語言添加兩個字段。

哪個更好?或任何其他選項?

回答

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

而且所有我討論有基於文檔中提供了有關Yii2 i18n Message translation在格蘭對方的回答discused。