首頁  >  文章  >  後端開發  >  討論 YII2 開發多語言動態網站方案

討論 YII2 開發多語言動態網站方案

WBOY
WBOY原創
2016-08-30 09:36:421226瀏覽

除了使用多套資料表方案,還有其他方案嗎?要做到 所有從資料庫讀出來的資料都實現多語言的。

回覆內容:

除了使用多套資料表方案,還有其他方案嗎?要做到 所有從資料庫讀出來的資料都實現多語言的。

太少見使用多套資料表的方案了,一般還是用語言檔案...資料庫裡面可以只存放key,然後自動轉換為翻譯關鍵字,如category表
category.id = 1, category.name = ' Demo', category.slug = demo, category.meta = 'It is demo'
對應的翻譯文件
category_id_1_name = '演示'
category_id_1_meta = '這是一個演示'
如果需要的話可以自行開發語言文件的管理頁面,不過一般用類似PO的編輯器就行了。
當然有些東西是不能這樣處理的,例如文檔,需要額外的語言字段,而不是新建表。如 article 表會包含 id, language, title, content等,在顯示的時候自動依照語言過濾不同的文件清單出來就行了。

歸納一下就是 簡單的翻譯使用語言文件,複雜的資料添加語言字段,不同語言的內容按多條記錄進行管理。

至於 「所有從資料庫讀出來的資料都實現多語言」 ,這方案太累了,資料庫壓力也大,資料的維護量也大,而且缺少彈性。通常我們認為翻譯是前端為了優化互動使用的方案,而不是資料庫的工作。類似的問題還有貨幣轉換、數字格式、日期格式,你都要靠資料庫?新建個商品存3種不同格式的價格?想想都覺得累。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn