德文口譯 Close #1
On Error Resume Next
Open AddSplash(App.Path) & "Sys.Ini" For Input As #1
ListView.Title2=Time
Cmd6=Quit Edit
Cmd2=Edit Program
Case "Chinese(Traditional)":
調用很簡單,在作為程式主窗口的Form中這麼寫:
Private Sub Form_Load() LabelCmd2=Edit Play List Caption=PCTV Player End If TranslateForm Me '主動轉換介面文字 別的,比力麻煩的是若是在同時有幾個Form顯示著的環境下要切換介面說話,那麼需要手工別離對各個窗口挪用TranslateForm()函數,若是你想改良,那麼可以再寫個進程遍歷所有窗口並挪用該函數,這個就留給你來做吧。 LabelCmd4=Help ListView.Title4=Title |
LabelCmd5=Exit
End Sub
LanguageFileName = AddSplash(App.Path) & "ChineseT.Lan"
[FormEdit]
ListView.Title1=ID
End Sub
LabelCmd6=Exit && Shut down computer
ListView.Title3=Type
On Error Resume Next
End If
End Sub
模組 MdlLanMgr.bas :
On Error Resume Next
Dim sValue As String * 128
Frm.Caption = TranslateStr(Frm.Name, "Caption"翻譯社 Frm.Caption)
On Error GoTo ErrFun
Case "Chinese(Simplify)":
If (TypeOf Frm.Controls(I) Is CommandButton) Or (TypeOf Frm.Controls(I) Is Label) _
Cmd3=Del Program
Caption=Edit PlayList...
Case "English":
Input #1翻譯社 Language
Public Sub TranslateForm(Frm As Form)
TranslateStr = sDefVal
Option Explicit
Private Declare Function GetPrivateProfileString& Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String翻譯社 ByVal lpKeyName As String翻譯社 ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String)
最後,用到的語言文件的花樣像如許:
Exit Function
Select Case LanName '按照用戶選擇的說話的名稱,別離讀取分歧的說話文件
Language = "English"
LanguageFileName = AddSplash(App.Path) & "ChineseS.Lan"
End Select
Cmd4=Move Up
LabelCmd3=Options...
LabelCmd1=Start Play
TranslateStr = Left(sValue, N)
End Function
ErrFun:
Public Sub SelectLanguage(LanName As String)
Public Function TranslateStr(sSection As String, sKey As String, sDefVal As String) As String
由於VB語言(這裡指VB6.0及之前版本,VB.NET屬於另外一種概念了)還是挺弱的,所以也只能遷就這做到這個水平了,若是要增加一些其它控件或其它屬性的主動文字轉換支援,那麼
Case Else:
End If
Next I
LanguageFileName = ""
'選擇說話
SelectLanguage (Language) '設定全局變量,指定使用的說話
End If
Resume Next
Attribute VB_Name = "ModuleLanMgr"
|