This is a big topic, but all solutions are well-known and thoroughly supported by .NET.
See my past answer where I explain
globalization and localization:
Multi Langauge WINFORm[
^].
For detail, look here first:
http://msdn.microsoft.com/en-us/library/aa292205(v=vs.71).aspx[
^].
Read this CodeProject article:
WPF Localization Using RESX Files[
^].
See also my article on a specific topic of enumeration globalization/localization:
Human-readable Enumeration Meta-data[
^].
For Windows application, it is also important to make your application flexible, so it won't be sensitive to lengths of the strings in the UI.
Please see my past recommendations here:
GUI Apperance - C#.Net[
^],
Zom Out malfunctions when Screen resolution changes[
^].
For ASP.NET, see this article:
Globalization and localization demystified in ASP.NET 2.0[
^].
—SA