我無法想象是第一個遇到這個問題,但我仍然沒有找到滿意的答案。數據庫查詢表和i18n
我的PHP/MySQL/CodeIgniter應用程序使用MySQL數據庫和一堆查找表來處理狀態和離散選項。這些表具有通用形式:
table XXXXXX
id: int (PK)
description: varchar(100)
該網站將有兩種語言,英語和泰語。我們將爲靜態內容使用一個資源包,但如何處理查找值,這在大多數情況下會在下拉框中顯示?
我的第一個想法是使用2個單獨的描述字段:description_en和description_th,並根據會話中存儲的語言環境選擇正確的字段。
我的同事傾向於在資源包中包含所有i18n值,這會使表中的描述字段變得冗餘。只有一個PK字段的表是nonense,這意味着對應的FK字段將被「降級」爲普通的查找關鍵字。 或仍然使用查找表與資源包結合,並將英文說明保留爲管理員參考?
查找表只能由管理員修改,而不能由最終用戶修改。
我想對此做出明智的決定,因此歡迎任何建議!