0
我有一個需要翻譯成不同語言的2個項目的網站:文章和產品。MySQL多語言表格結構
對於文章中,我創建了兩個表:
[articles]
id PK
posted_on
[articles_local]
id PK
article_id FK(articles.id)
title
body
lang_code
我可能已經創建了三個表來還存放了語言代碼和編號,但我認爲這是矯枉過正,因爲我的應用程序是比較小的。
問題出在產品上。產品有兩個需要翻譯的信息,產品名稱和產品類別;所有其他人都是中立的,等於所有語言。
這裏是我的產品,我需要幫助的表結構:
[products]
id PK
name // always the same in all languages
product_code
weight
image_url
category_id FK (category.id)
[category]
id PK
cat_name_IT
cat_name_EN
cat_nameRU
[products_local]
id PK
product_id FK(products.id)
prod_description
lang_code
所以基本上category
表包含了三種語言翻譯的類別名稱。這些類別共有6個,不會很快改變。
products_local
只有產品的翻譯說明和product
表中每種語言相同的信息。
我認爲我的產品結構有點搞砸了,但我無法弄清楚爲什麼以及如何改進。我認爲這是基於對我來說似乎更「正確」和清潔的文章結構。
有沒有什麼辦法可以改進這種表格結構?
我不知道它的問題,但在我php
我解壓基於文件夾的名稱,it
,en
,ru
的物品和產品:
$lang = // get folder name from URI
$sql = "SELECT * FROM articles_local WHERE lang_code = :lang";
// bind $lang to :lang
感謝您的回答。我知道我可以做到這一點,但這種方式感覺更有組織性和可管理性,如果將來我需要更改某些內容或添加更多列,這種方式更容易。 –