Tương tự như phương pháp 3:
[languages]
id (int PK)
code (varchar)
[products]
id (int PK)
neutral_fields (mixed)
[products_t]
id (int FK)
language (int FK)
translated_fields (mixed)
PRIMARY KEY: id,language
Vì vậy, đối với mỗi bảng, hãy tạo một bảng khác (trong trường hợp của tôi là hậu tố "_t") chứa các trường đã dịch. Khi bạn SELECT * FROM products
, chỉ cần ... LEFT JOIN products_t ON products_t.id = products.id AND products_t.language = CURRENT_LANGUAGE
.
Không quá khó và giúp bạn không bị đau đầu.