我有一个网站,有两个项目需要翻译成不同的语言:文章和产品。
对于这些文章,我创建了两个表:
[articles]
id PK
posted_on
[articles_local]
id PK
article_id FK(articles.id)
title
body
lang_code
我本可以创建三个表来存储语言代码和id,但我认为这太过分了,因为我的应用程序相对较小。
问题出在产品上。产品有两个需要翻译的信息,即产品名称和产品类别;所有其他语言都是中性的,对所有语言都是平等的。
这是我的产品表格结构,我需要帮助:
[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