Attribute VB_Name = "modLanguage"
Option Explicit
Private LanguagePath As String
'**********************************
'*
'* Client Menu
'*
'**********************************
Public MI_FILE As String
Public MI_EDIT As String
Public MI_VIEW As String
Public MI_FORMAT As String
Public MI_COMMANDS As String
Public MI_WINDOW As String
Public MI_HELP As String
' File menu
Public MI_FILE_NEWSERVER As String
Public MI_FILE_CONNECT As String
Public MI_FILE_DISCONNECT As String
' Edit menu
Public MI_EDIT_UNDO As String
Public MI_EDIT_CUT As String
Public MI_EDIT_COPY As String
Public MI_EDIT_PASTE As String
Public MI_EDIT_DELETE As String
Public MI_EDIT_SELECTALL As String
' Format menu
Public MI_FORMAT_BOLD As String
Public MI_FORMAT_COLOR As String
Public MI_FORMAT_REVERSE As String
Public MI_FORMAT_UNDERLINE As String
' Window menu
Public MI_WINDOW_CASCADE As String
Public MI_WINDOW_TILEH As String
Public MI_WINDOW_TILEV As String
'************************************
Sub Language_Init()
Dim slash As String
If Right$(App.PATH, 1) <> "/" Then slash = "/"
LanguagePath = App.PATH & slash & "languagepacks/"
End Sub
Sub LoadLanguage(strLang As String)
Dim LangFile As String, Trash As String
LangFile = LanguagePath & strLang & ".lng"
On Error GoTo errorHandler
Open LangFile For Input As #1
Input #1, MI_FILE, Trash
Input #1, MI_EDIT, Trash
Input #1, MI_VIEW, Trash
Input #1, MI_FORMAT, Trash
Input #1, MI_COMMANDS, Trash
Input #1, MI_WINDOW, Trash
Input #1, MI_HELP, Trash
Input #1, Trash, Trash
Input #1, MI_FILE_NEWSERVER, Trash
Input #1, MI_FILE_CONNECT, Trash
Input #1, MI_FILE_DISCONNECT, Trash
Input #1, Trash, Trash
Input #1, MI_EDIT_UNDO, Trash
Input #1, MI_EDIT_CUT, Trash
Input #1, MI_EDIT_COPY, Trash
Input #1, MI_EDIT_PASTE, Trash
Input #1, MI_EDIT_DELETE, Trash
Input #1, MI_EDIT_SELECTALL, Trash
Input #1, Trash, Trash
Input #1, MI_FORMAT_BOLD, Trash
Input #1, MI_FORMAT_COLOR, Trash
Input #1, MI_FORMAT_REVERSE, Trash
Input #1, MI_FORMAT_UNDERLINE, Trash
Input #1, Trash, Trash
Input #1, MI_WINDOW_CASCADE, Trash
Input #1, MI_WINDOW_TILEH, Trash
Input #1, MI_WINDOW_TILEV, Trash
Close #1
Exit Sub
errorHandler:
Select Case Err
Case 76:
MsgBox "(ERROR 76) The language pack specified does not exist, and therefore could not be loaded. Please check the manual on how to fix this problem. The program will now exit.", vbCritical
End
Case 62:
MsgBox "(ERROR 62) The language pack is not complete. Please check the manual for more information. The program will now exit", vbCritical
End
Case Else:
MsgBox "An unknown error has occured. The following information has been obtained, but is not documented in the manual." & vbCrLf & vbCrLf & "Error #" & Err & " : " & Error, vbCritical
End Select
End Sub
Public Sub SetLang_Menu()
CLIENT.mnu_Connect.Caption = MI_FILE
CLIENT.mnu_Edit.Caption = MI_EDIT
CLIENT.mnu_View.Caption = MI_VIEW
CLIENT.mnu_Format.Caption = MI_FORMAT
CLIENT.mnu_Commands.Caption = MI_COMMANDS
CLIENT.mnu_Window.Caption = MI_WINDOW
CLIENT.mnu_Help.Caption = MI_HELP
CLIENT.mnu_Connect_NewServer.Caption = MI_FILE_NEWSERVER
CLIENT.mnu_Connect_Connect.Caption = MI_FILE_CONNECT
CLIENT.mnu_Connect_Disconnect.Caption = MI_FILE_DISCONNECT
CLIENT.mnu_Edit_Undo.Caption = MI_EDIT_UNDO
CLIENT.mnu_Edit_Cut.Caption = MI_EDIT_CUT
CLIENT.mnu_Edit_Copy.Caption = MI_EDIT_COPY
CLIENT.mnu_Edit_Paste.Caption = MI_EDIT_PASTE
CLIENT.mnu_Edit_Delete.Caption = MI_EDIT_DELETE
CLIENT.mnu_Edit_SelectAll.Caption = MI_EDIT_SELECTALL
CLIENT.mnu_Format_Bold.Caption = MI_FORMAT_BOLD
CLIENT.mnu_Format_Color.Caption = MI_FORMAT_COLOR
CLIENT.mnu_Format_Reverse.Caption = MI_FORMAT_REVERSE
CLIENT.mnu_Format_Underline.Caption = MI_FORMAT_UNDERLINE
CLIENT.mnu_Window_Cascade.Caption = MI_WINDOW_CASCADE
CLIENT.mnu_Window_TileH.Caption = MI_WINDOW_TILEH
CLIENT.mnu_Window_TileV.Caption = MI_WINDOW_TILEV
End Sub