我想做个多语言的软件!高分!
我想用vb.net做个多语言的软件,能实现英文,中文,日语的切换,最好是可以判断一下操作系统的语言,自动切换,
越详细越好!谢谢各位大侠了!
[解决办法]
使用资源文件
[解决办法]
试用自定义xml文件
[解决办法]
Public Sub setUICulture(Optional ByVal Culture As String = "")
If Culture = "" Then Exit Sub
Select Case Culture
Case "E" : Culture = "en"
Case "S" : Culture = "zh-CHS"
Case "T" : Culture = "zh-CHT"
End Select
System.Threading.Thread.CurrentThread.CurrentUICulture = New System.Globalization.CultureInfo(Culture)
End Sub
你可以这样改变程序使用的预言:
SetUICulture("en") 'English
SetUICulture("zh-CHS") 'Chinese Simplified
SetUICulture("zh-CHT") 'Chinese Traditional
SetUICulture("") 'Default
2
新建res文件,然后在文件里输入多语言的对照。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
GetChildCtrl(Me)
Dim rm As Resources.ResourceManager
rm = New Resources.ResourceManager("test1.resource3", Me.GetType().Assembly)
'Label1.Text = rm.GetString("物料号:") '改变 label内容到英文
For i As Int16 = 1 To MyCollections.Count
Dim str As String = Trim(CStr(CType(MyCollections.Item(i), Control).Text))
CType(MyCollections.Item(i), Control).Text = rm.GetString(str)
Next
End Sub
Private Sub GetChildCtrl(ByVal ParentCtrl As Control)
Dim ctrlC As Control
For Each ctrlC In ParentCtrl.Controls
MyCollections.Add(ctrlC) '加入集合
'如果有容器
If (TypeOf ctrlC Is Panel) OrElse _
(TypeOf ctrlC Is GroupBox) OrElse _
(TypeOf ctrlC Is ToolBar) Then
GetChildCtrl(ctrlC) '自身调用
End If
Next
End Sub
[解决办法]