我想做个多语言的软件!高分!
我想用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
[解决办法]
[解决办法]
使用资源文件
如果你是WIN的话,大致可以这样做
点一个form,属性里有一个language,默认是default,如果你想加日文版的话,那就把这一项选成日文
这个时候,你再在把一个lable的text改成对应的日文,那么到日文系统下,他就会自己切换了.你想改中文的话,也是同样.
具体的你可以去网上找找相关的资料
[解决办法]
资源文件
xml结构
数据
都可以,
用户登录的时候保存一下选择的语言类型,然后加载他的语言类型就可以了
[解决办法]
使用资源文件肯定是可以的,不过就不知道有没有更简便的方法。关注中
------解决方案--------------------
C#的Windows编程中多语言的实现
http://dev.yesky.com/msdn/470/2568470.shtml
[解决办法]
建议楼主看一下 MSDN 的多语言化的内容,
技术实现有好多方法,可以使用资源文件.strings
也可以考虑自己创建 *.xml 的资源文件,写类去读取。
[解决办法]