Global CurrentLanguage As VLanguage Enum VLanguage en bg End Enum Public Sub SetLanguage(f As Form, Language As VLanguage) On Error Resume Next Dim s() As String CurrentLanguage = Language For Each Control In f.Controls s = Split(Control.Tag, "|") If Control.Tag <> "" Then Control.Caption = Replace(s(CurrentLanguage), "\n", vbCrLf) If f.Tag <> "" Then Dim fs() As String fs = Split(f.Tag, "|") f.Caption = fs(CurrentLanguage) End If Next Control End Sub Public Function m(Message As String, Optional T As String = "") As String On Error Resume Next Dim s() As String s = Split(Message, "|") m = s(CurrentLanguage) m = Replace(m, "\n", vbCrLf) m = Replace(m, "%T", T) End Function