我在網站上工作,有一個MySQL表稱爲「物品」,如:自動完成在不同的語言或:如何存儲不同語言的Web應用
item_id | item
(第二列是隻爲識別ITEM_ID)
在language1.php我存儲陣列與ITEM_ID和LANGUAGE1項目本身的名稱,如:根據用戶的語言
$items = array(
1 -> 'Apple',
2 -> 'Orange',
...
);
,正確的包含語言文件。
應該有一個自動完成輸入框的items-array(< 1000 items/array)。我猜,它不是一個好的解決方案,用php(「search_array」或類似這樣的函數)在language1.php中搜索數組,但我認爲沒有辦法維護這個系統並通過mysql進行搜索,而不是它?
如何爲網站存儲不同的語言並使其可供搜索?
是否有必要將所有語言存儲在mysql中的特定列中?
您的'items_localization'確實不應該包含'content'字段。在每一次翻譯中都會有多餘的內容,除了直接查看這些行以外,它不會被使用。 – SJFrK
我個人喜歡有一個地方,我可以看到我的語言選擇的字符串是什麼。我知道這會在時尚方面存在一點冗餘,但對我來說,這並不是真正的性能問題,因爲我永遠無法查詢該字段。你也許可以規範化甚至超過我在第二個模式選項中提到的內容表,然後在轉換表中引用該內容id,但對於我來說,與翻譯的內容並排放置這個字段會更方便在同一張桌子裏。 –
夠公平的,我也沒有正常化一切。但是這對於視圖來說可能是一個很好的用法(如果SQL服務器已經實現了它們)。 – SJFrK