If you simply want to use your application with data in different language, there is nothing to do about it: .NET supports Unicode, so all the languages you mentioned are already supported, as well as many others.
If you want to write UI in any of these languages, the situation is the same.
However, if you want to be able switch you UI so the application would be able to show UI in the language supported by the user, it's a bit more difficult: you need to
globalize you application (even though it is already in English, you should remove everything which makes your code culture-dependent; practically, it mostly means moving all
immediate constants to resources; but your UI should also be fluid, so layout should not be mangled by different lengths of strings) and then you can
localize it to languages you want to introduce, possibly one by one.
You can also switch the culture of the application during run-time, and the localized resource will be automatically found (or the closest to the requested culture, due to a special
fallback mechanism, and refreshed UI will show a different culture.
Please see:
http://msdn.microsoft.com/en-us/library/h6270d0z.aspx[
^],
http://msdn.microsoft.com/en-us/library/aa291552%28v=vs.71%29.aspx[
^],
http://msdn.microsoft.com/en-us/library/ms788718.aspx[
^],
http://msdn.microsoft.com/en-us/library/vstudio/dd997383%28v=vs.100%29.aspx[
^].
See also my past answers:
globalization/localization problem in winform .net[
^],
globalization in winforms[
^].
—SA