Suppose I have the table:
TABLE: product
=================================================================
| product_id | name | description |
=================================================================
| 1 | Widget 1 | Really nice widget. Buy it now! |
-----------------------------------------------------------------
If I want to provide multi-lingual support, what's the best approach to do that?
Possible solutions:
- Add a "language" column to the above table; that'll indicate the language the particular record is. (I don't think this is an option for me since other tables will be using product.product_id as its FK.)
- Remove any translatable columns in product table (in the above example, product.name and product.description) and put it in a separate table with a "language" column. That new table will use product.product_id as a FK. (I won't be supporting multi-languages in the first version of my application. This solution means I would have to do an extra JOIN just to get the values of the initially supported language.)
- Something else that I didn't consider?