There is a more efficient option to choosing the language as well:System.Globalization.CultureInfo.CurrentCulture.LCID
The GetActiveLanguage() can sometimes take a while to return since it uses the DataTable XML serialization for the encrypted XML file that is stored in the application data. We use the LCID property of the CurrentCulture within our applications so that the language is chosen by the region setting the user has set up in the Control Panel within Windows.
You'll also want to put a Select Case right after getting the locale ID just in case your application is not localized in the language that is chosen (or you might get an exception thrown). This is what we do within the security editor:
'-- Configure the localization information
Select Case System.Globalization.CultureInfo.CurrentCulture.LCID
Case 1031, 3079
'-- German (Germany)
Localization.MessageLocaleID = 1031
Case 1036, 3084
'-- French (France)
Localization.MessageLocaleID = 1036
Case 1040
'-- Italian (Italy)
Localization.MessageLocaleID = 1040
Case 1046, 2070
'-- Portuguese Brazil
Localization.MessageLocaleID = 1046
Case 1049
'-- Russian (Russia)
Localization.MessageLocaleID = 1049
Case 2058, 11274
'-- Spanish (Mexico)
Localization.MessageLocaleID = 2058
Case Else
'-- English (USA)
Localization.MessageLocaleID = 1033
End Select