RE:PROGRAMA EN VARIOS IDIOMAS
Yo hice eso en algunos de mis programas.
Debes incluir un ResourceManager y usar Culture (busca información). Además necesitas un .resx para cada idioma que quieras añadir a la aplicación, donde estará la id de cada control y su texto en el idioma correspondiente.
Protected gStrings As New ResourceManager("MultiIdioma.Idioma", GetType(WebForm1).Assembly)
Después debes tener la función:
Private Sub SetCulture(ByVal sLang As String, Optional ByVal cControl As Control = Nothing)
Thread.CurrentThread.CurrentUICulture = New CultureInfo(sLang)
Thread.CurrentThread.CurrentCulture = _
CultureInfo.CreateSpecificCulture(sLang)
btnBoton.Text = gStrings.GetString(btnBoton.ID) <-- Ejemplo para cada control
End Sub
La cultura debe de ser alguna de las "oficiales", es, ca, en, de, fr, ... para los idiomas que quieras. Y los archivos resx deben de tener el mismo nombre con la cultura para diferenciarlos. Ej: Idioma.resx (si no se dice ninguan cultura), Idioma.es.resx, Idioma.en.resx,...
Me parece que no te habré aclarado mucho, pero espero que te sirva de guía. Busca más información al respecto de resorucemanager y multiidioma.
Te dejo un enlace, que te puede servir.
http://p2p.wrox.com/topic.asp?TOPIC_ID=58062