Hello Tom,
in my personal opinion I would use views which are in different languages. Then you can detect the language in the "FormEvent_Loading" event. To detect the language you can use the 'CultureInfo' class which is in the System.Globalization namespace.
So you have to add in your using block:
using System.Globalization;
... and in the "FormEvents_Loading" you can detect the language in the following way:
CultureInfo ci = CultureInfo.InstalledUICulture ;
XPathNavigator nav = MainDataSource.CreateNavigator();
nav.SelectSingleNode("/my:myFields/my:field1", NamespaceManager).SetValue(ci.Name);
Depending on the system (english, french) the result in 'field1' is "en-en" or "fr-fr" (culture info). Then you can switch the views depending on the value.
Hope that helps,