diff --git a/Base/Base.vbproj b/Base/Base.vbproj
index f6ca6eae..42e132b1 100644
--- a/Base/Base.vbproj
+++ b/Base/Base.vbproj
@@ -79,6 +79,7 @@
+
True
diff --git a/Base/Language.vb b/Base/Language.vb
new file mode 100644
index 00000000..6c9b0e10
--- /dev/null
+++ b/Base/Language.vb
@@ -0,0 +1,32 @@
+Imports System.Globalization
+Imports System.Threading
+Imports DigitalData.Modules.Logging
+
+Public Class Language
+ Public Shared Sub SetApplicationLanguage(pLogger As Logger, pUserLanguage As String, Optional pUserDateFormat As String = Nothing)
+ Try
+ pLogger.Debug("Setting application language..")
+
+ 'Dim Culture = CultureInfo.CreateSpecificCulture(pUserLanguage)
+ Dim Culture As New CultureInfo(pUserLanguage)
+ Culture.DateTimeFormat.ShortDatePattern = pUserDateFormat
+
+ pLogger.Debug("Culture object for language [{0}] created", pUserLanguage)
+
+ ' The following line provides localization for data formats.
+ Thread.CurrentThread.CurrentCulture = Culture
+ ' The following line provides localization for the application's user interface.
+ Thread.CurrentThread.CurrentUICulture = Culture
+
+ ' Set this culture as the default culture for all threads in this application.
+ ' Note: The following properties are supported in the .NET Framework 4.5+
+ CultureInfo.DefaultThreadCurrentCulture = Culture
+ CultureInfo.DefaultThreadCurrentUICulture = Culture
+
+ pLogger.Debug("Application language set to [{0}]", Culture.Name)
+ Catch ex As Exception
+ pLogger.Warn("Could not set application language!")
+ pLogger.Error(ex)
+ End Try
+ End Sub
+End Class