title: Best practice to make a multi language application in C#/WinForms?
body: <p>I've been looking into making applications suitable for multiple languages in C# since I need to work on a small project where this is the case. I have found basically two ways to do this:</p>
  
  <p>Set a form's Localizable property to true, set the Language property, fill all the labels and such, and you're 'done'. The major drawback I see in this is: how to make other stuff which is not part of a form ready for multiple languages (e.g. pop-up windows, log files or windows, etc).</p>
  
  <p>Create a resource file, for example 'Lang.en-us.resx' and one for every language, for example 'Lang.nl-nl.resx' and fill it up with Strings. The IDE seems to generate a class for me automatically, so in the code I can just use Lang.SomeText. The biggest drawback I see in this is: for every form I need to set all the labels and other captions myself in the code (and it doesn't seem data binding works with these resources).</p>
  
  <p>I'm sure, however, that there are other methods to do this as well.</p>
  
  <p>So, what is the best practice? What's the easiest for small applications (a few forms, database connection etc) and what scales best for larger applications?</p>