泰盧固語翻譯 LabelCmd1=Start Play
'翻譯文字
Case "Chinese(Traditional)":
ErrFun:
| [FormMain] Close #1 Language = "English" End If Cmd3=Del Program 模組 MdlLanMgr.bas : Public Sub TranslateForm(Frm As Form) Frm.Caption = TranslateStr(Frm.Name翻譯社 "Caption", Frm.Caption) On Error Resume Next End Function 挪用很簡單,在作為程式主窗口的Form中這麼寫: N = GetPrivateProfileString(sSection, sKey翻譯社 sDefVal, sValue, 127, LanguageFileName) LabelCmd5=Exit Dim sValue As String * 128 LanguageFileName = AddSplash(App.Path) & "ChineseT.Lan" Case Else: LanguageFileName = AddSplash(App.Path) & "English.Lan" Caption=PCTV Player Dim N As Long Private LanguageFileName As String If N > 0 Then Or (TypeOf Frm.Controls(I) Is OptionButton) Or (TypeOf Frm.Controls(I) Is CheckBox) Then End Select SelectLanguage (Language) '設定全局變量,指定利用的語言 LabelCmd4=Help On Error Resume Next If FileExists(AddSplash(App.Path) & "Sys.Ini") Then '從程式的設置裝備擺設文件中讀取前次設定的說話檔案名稱稱 '選擇語言 [FormEdit] ListView.Title4=Title |
'自動轉換Form上的一些基本控件(也可自行擴展,目前支援CommandButton翻譯社Label,OptionButton,CheckButton)
If (TypeOf Frm.Controls(I) Is CommandButton) Or (TypeOf Frm.Controls(I) Is Label) _
| Attribute VB_Name = "ModuleLanMgr" TranslateStr = Left(sValue, N) Cmd1=Add Program TranslateStr = sDefVal LabelCmd6=Exit && Shut down computer Public Sub SelectLanguage(LanName As String) End Sub |
Resume Next
Case "Chinese(Simplify)":
End If
On Error Resume Next
If Not FileExists(LanguageFileName) Then
On Error GoTo ErrFun
Cmd5=Move Down
Option Explicit
End If
別的,對照麻煩的是若是在同時有幾個Form顯示著的環境下要切換介面說話,那麼需要手工分別對各個窗口調用TranslateForm()函數,若是你想改良,那麼可以再寫個進程遍歷所有窗口並調用該函數,這個就留給你來做吧。 由於VB語言(這裡指VB6.0及以前版本,VB.NET屬於另一種概念了)仍是挺弱的,所以也只能遷就這做到這個水平了,若是要增添一些其它控件或者其它屬性的自動文字轉換支援,那麼
之前做過一個vb的小項目,用戶需要軟體同時可以或許支援中文和英文,為此寫了一個自動語言切換的模組來用,不敢獨享,拿來給大家參考一下翻譯
ListView.Title2=Time
Frm.Controls(I).Caption = TranslateStr(Frm.Name, Frm.Controls(I).Name, Frm.Controls(I).Caption)
Caption=Edit PlayList...
LabelCmd3=Options...
Case "English":
其它Form中都用類似的寫法,在FormLoad中挪用TranslateForm(Me)的方式將Form上的Button,Label等切換說話文字。
LanguageFileName = ""
Select Case LanName '按照用戶選擇的說話的名稱,劃分讀取分歧的說話文件
LabelCmd2=Edit Play List
Open AddSplash(App.Path) & "Sys.Ini" For Input As #1
Exit Function
Cmd2=Edit Program
End Sub
Cmd6=Quit Edit
End Sub
LanguageFileName = AddSplash(App.Path) & "ChineseS.Lan"
Input #1翻譯社 Language
End If
Cmd4=Move Up
ListView.Title3=Type
For I = 0 To Frm.Controls.Count - 1
Next I
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)
Private Sub Form_Load()
最後,用到的說話文件的格局像如許:
Public Function TranslateStr(sSection As String, sKey As String, sDefVal As String) As String
TranslateForm Me '自動轉換介面文字
ListView.Title1=ID
Dim I As Long
以下內文出自: http://mypaper.pchome.com.tw/meteor0721/post/1325789038有關各國語文翻譯公證的問題歡迎諮詢天成翻譯公司02-77260931
請先 登入 以發表留言。