title: Better way of storing translations in MySQL
body: <p>What is the best way of storing multilanguage fields in database and updating/accessing to it?<br>
  I am handling 6 languages.<br>
  <br>
  Examples with 2 rows and 2 languages<br>
  <br>
  <strong>Option 1:</strong><br>
  Database - 1 table design:<br></p>
  
  <pre><code>table1.products
  id --- parent -- product_name
  1  ---    5   -- a:2:{s:2:"en";s:3:"dog";s:2:"cs";s:3:"pes"}
  2  ---    5   -- a:2:{s:2:"en";s:3:"cat";s:2:"cs";s:5:"macka"}
  </code></pre>
  
  <p>Updating this option 1 is too easy<br> 1. Merge old translations array with updated or new language fields (PHP array_merge) <br>2. Serialize merged array <br>3. Simple update database. <br>
  <br>
  Advantages:<br></p>
  
  <ul>
  <li>Less MySQL JOIN procedures</li>
  <li>One table, one row</li>
  <li>Easy handling multiple rows, f.e.: updating X products with Y languages</li>
  </ul>
  
  <p><br><br>
  <strong>Option 2:</strong><br>
  Database - 2 table design:<br></p>
  
  <pre><code>table1.products
  id --- parent
  1  ---    5  
  2  ---    5  
  
  table2.products_translations
  product_id --- lang -- product_name
      1      ---  en  -- dog
      1      ---  cs  -- pes
      2      ---  en  -- cat
      2      ---  cs  -- macka
  </code></pre>
  
  <p>Updating this option 2 is a bit harder.
  <br><br>
  Advantages:<br></p>
  
  <ul>
  <li>Better access to one language</li>
  <li>Better database view</li>
  </ul>
  
  <p><br><br>
  What do you mean to be the best database solution? Each product will contain ifinite blocks of texts (descriptions) in all languages.<br>Thanks</p>