0

我有一个网站,其中有 2 个项目需要翻译成不同的语言:文章和产品。

对于文章,我创建了两个表:

[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
4

1 回答 1

1

我认为没关系。

如果您只需要两种或三种固定语言的翻译,我只需将翻译文件添加到普通产品表中即可。

于 2013-10-23T08:08:31.733 回答