1.The solution to your problem is described in details in MSDN next main link (with a set of sub-links):
Globalizing Windows Forms[
^]
2.Regarding the UI part here is the sub-link:
Walkthrough: Localizing Windows Forms[
^]
3.Regarding the database data, you should design your database in the way that you have "string" information in all used languages and, also your logic should implement the usage of them based on the current language.
PS: I have an article (and source code) related with this topic, but is for an ASP.NET MVC application:
MVC Basic Site: Step 1 – Multilingual Site Skeleton[
^]