title: How to detect system language in delphi for multi-language project?
body: <p>I need to translate a program in others languages, actually I have the same program in 3 languages (english, spanish, portuguese), but I translated, recompiled, and I have 3 separate executables. And add more languages, and keep links, and adding new functions is driving me crazy.</p>
  
  <p>So now I decided to keep a single executable, and a external language file, so adding new languages does not need recompiling, just editing the language file with a text editor, and everything is ok.</p>
  
  <p>I want to keep all languages in a single external file. like <code>international.lang</code></p>
  
  <pre><code>[portuguese]
  greeting="Bem-vindo"
  
  [spanish]
  greeting="Ben venido"
  </code></pre>
  
  <p>if the file <code>international.lang</code> is not there, or your language is not on the file, the program will launch in english by default, with no errors. Just like most multi-languages programas based on resources.</p>
  
  <p><strong>So the question is,</strong> how detect the Windows language in delphi?
  Any thoughts on my approach?
  There is any way to replace all captions on dialogs programaticly?</p>
  
  <p>ps: I'm using delphi7, and I can't find any component that is free that is good.</p>