close

英古什文翻譯
 Frm.Caption = TranslateStr(Frm.Name, "Caption"翻譯社 Frm.Caption)

   LanguageFileName = ""
  Caption=PCTV Player
 On Error Resume Next
'選擇語言
  End If
 N = GetPrivateProfileString(sSection翻譯社 sKey, sDefVal, sValue翻譯社 127, LanguageFileName)
  LabelCmd4=Help
 End If
  Cmd6=Quit Edit

End Function

 SelectLanguage (Language) '設定全局變量,指定使用的說話
  由於VB說話(這裡指VB6.0及之前版本,VB.NET屬於另一種概念了)仍是挺弱的,所以也只能遷就這做到這個程度了,若是要增添一些其它控件或其它屬性的自動文字轉換支援,那麼翻譯公司必需自行擴展TranslateForm()函數。(不像Delphi,可以使用RTTI來搞定一切)
 Dim sValue As String * 128
  If (TypeOf Frm.Controls(I) Is CommandButton) Or (TypeOf Frm.Controls(I) Is Label) _
  其它Form中都用近似的寫法,在FormLoad中調用TranslateForm(Me)的方法將Form上的Button,Label等切換說話文字。
End Sub
   LanguageFileName = AddSplash(App.Path) & "ChineseS.Lan"
  模組 MdlLanMgr.bas :
 If FileExists(AddSplash(App.Path) & "Sys.Ini") Then '從程式的配置文件中讀取前次設定的說話檔案名稱稱

  Or (TypeOf Frm.Controls(I) Is OptionButton) Or (TypeOf Frm.Controls(I) Is CheckBox) Then
 On Error Resume Next
 Dim N As Long


 End Select
  Case "Chinese(Simplify)":
 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)
  Cmd3=Del Program

  [FormMain]
  Case "English":
 TranslateStr = sDefVal
  ListView.Title3=Type
 End If
'翻譯文字
  
  Exit Function
  Case "Chinese(Traditional)":
 Dim I As Long

Private LanguageFileName As String
  
  ListView.Title2=Time
Public Sub SelectLanguage(LanName As String)
 For I = 0 To Frm.Controls.Count - 1
 End If

End Sub
 On Error GoTo ErrFun
  ListView.Title1=ID
 Resume Next
 If N > 0 Then

之前做過一個vb的小項目,用戶需要軟體同時可以或許支援中文和英文,為此寫了一個主動語言切換的模組來用,不敢獨享,拿來給大師參考一下翻譯
  LabelCmd5=Exit
Public Sub TranslateForm(Frm As Form)
  TranslateStr = Left(sValue, N)
  Cmd2=Edit Program
  最後,用到的語言文件的格局像如許:
 If Not FileExists(LanguageFileName) Then
  
  LabelCmd1=Start Play
  Caption=Edit PlayList...
Option Explicit
'主動轉換Form上的一些根基控件(也可自行擴大,目前支援CommandButton,Label翻譯社OptionButton,CheckButton)
  LabelCmd6=Exit && Shut down computer
  Close #1
  
End Sub


  挪用很簡單,在作為程式主窗口的Form中這麼寫:
   LanguageFileName = AddSplash(App.Path) & "ChineseT.Lan"
  Open AddSplash(App.Path) & "Sys.Ini" For Input As #1
  Input #1, Language
Attribute VB_Name = "ModuleLanMgr"
  Case Else:
   LanguageFileName = AddSplash(App.Path) & "English.Lan"
  別的,對照麻煩的是若是在同時有幾個Form顯示著的情況下要切換介面說話,那麼需要手工離別對各個窗口調用TranslateForm()函數,假如你想改進,那麼可以再寫個進程遍歷所有窗口並挪用該函數,這個就留給你來做吧。   [FormEdit]


 Next I
 Select Case LanName '按照用戶選擇的說話的名稱,別離讀取不同的語言文件
Public Function TranslateStr(sSection As String, sKey As String, sDefVal As String) As String

  Cmd5=Move Down
  LabelCmd2=Edit Play List

  
  Cmd1=Add Program
  LabelCmd3=Options...
  ListView.Title4=Title

  Cmd4=Move Up
 TranslateForm Me '主動轉換介面文字
 On Error Resume Next
  

Private Sub Form_Load()
ErrFun:
   Frm.Controls(I).Caption = TranslateStr(Frm.Name, Frm.Controls(I).Name, Frm.Controls(I).Caption)
 Language = "English"



本文來自: http://mypaper.pchome.com.tw/meteor0721/post/1325789038有關各國語文翻譯公證的問題歡迎諮詢天成翻譯公司02-77260931

arrow
arrow
    文章標籤
    翻譯社
    全站熱搜
    創作者介紹
    創作者 hudsonrd10k 的頭像
    hudsonrd10k

    這裡是和天成翻譯有關的地盤,歡迎到訪我的BLOG!

    hudsonrd10k 發表在 痞客邦 留言(0) 人氣()