title: Efficient MYSQL DB structure for internationalization
body: <p>I'm adding support for multiple languages to my db. It has about 10 different tables with various structures. I mapped out the structure below which I believe is a good approach:</p>
  
  <p>Table <em>Languages</em>: </p>
  
  <pre><code>lang_id (int)
  lang_name (varchar 128)
  </code></pre>
  
  <p>Table <em>Sample 1</em>: </p>
  
  <pre><code>sample_1_id (int)
  name (int -- tran_id)
  description (int -- tran_id )
  </code></pre>
  
  <p>Table <em>Sample 2</em>:</p>
  
  <pre><code>sample_2_id (int)
  person (int -- tran_id)
  page (int -- tran_id)
  </code></pre>
  
  <p>Table <em>Translations</em>:</p>
  
  <pre><code>tran_id (int)
  lang_id (int)
  content (text)
  </code></pre>
  
  <p>However, to make this work across the board won't the content column in the translations table have to be of type 'text'? If so wouldn't that waste space especially when the majority of the data storied in it is just going to be a few characters? Is there a better way?</p>