在VB中如何实现动态变换程序界面语言。

marcoleung 2004-07-18 12:14:58
在VB中如何实现动态变换程序的语言版本?功能就类似于FALSHGET那样,只选相应的语言,程序界面就会动态变成该语言版本的程序。

...全文
315 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
marcoleung 2004-07-19
  • 打赏
  • 举报
回复
这的确是一个很好的办法,但问题是如果程序有三十多个窗体,而且每个窗体上的控件也有很多,那么这个方法来实现,是不是有点烦
gdami 2004-07-19
  • 打赏
  • 举报
回复
//这的确是一个很好的办法,但问题是如果程序有三十多个窗体,而且每个窗体上的控件也有很多,那么这个方法来实现,是不是有点烦

你不自己输入,还想指望程序帮你翻译啊。肯定要自己干撒。
瓯越浪子 2004-07-19
  • 打赏
  • 举报
回复
用资源文件写,很方便,要改只需将资源文件的语言修改一下就行了
marcoleung 2004-07-19
  • 打赏
  • 举报
回复
:)
BlueBeer 2004-07-19
  • 打赏
  • 举报
回复
//是不是有点烦

你烦,用户就省心,用户烦。。。。你就会更烦。。。。。。
BlueBeer 2004-07-18
  • 打赏
  • 举报
回复
就是不同的语言分别写成不同的ini(不一定),并把他们列出在菜单里,用户选择其中的一项时,就从对应的配置文件中读出文本,替换到现有界面上的文本内容

个人认为这种办法很可取,方便,开放性好
BlueBeer 2004-07-18
  • 打赏
  • 举报
回复
一般都是用配置文件实在的吧
fishmans 2004-07-18
  • 打赏
  • 举报
回复
看看VB的打包程序的源程序吧,装了MSDN就有,看过就明白了啊
熊孩子开学喽 2004-07-18
  • 打赏
  • 举报
回复
把你程序中所有用到的:按钮,菜单,标题,说明等等等等,凡是和文字有关的东西都放在一个文件里,一种语言就对应一个文件,在你的程序载入的时候根据用户的选择来读取相应的文件,并将文件的内容再赋给你程序里的那些元素。
online 2004-07-18
  • 打赏
  • 举报
回复
http://www.sijiqing.com/vbgood/experience/index.asp?action=read&id=3721
开发中英(简、繁)双版本
现在比较流行的软件都会有中文版、英文版、繁体版等等多个版本,并可以根据系统的语言自动显示相适应的版本,那么这个功能在 VB 是如何实现得呢的:
1、 首先通过 API 函数GetSystemDefaultLCID 判断系统的语言
Option Explicit
Dim lang As String
Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long
Private Sub Form_Load()
Dim LocaleID As Long
LocaleID = GetSystemDefaultLCID
Select Case LocaleID
Case &H404
MsgBox "当前系统为:中文繁体", , "语言"
Case &H804
MsgBox "当前系统为:中文简体", , "语言"
lang = "1"
Case &H409
MsgBox "当前系统为:英文", , "语言"
lang = "2"
End Select
End Sub
2、然后程序就可以加载保存在资源文件(这里我们就是使用的这种方法)、注册表、INI 文件、文本文件或其他文件中的各类字符串,以达到达到实现多种语言的目的。
⑴启动 VB6.0,在“外接程序→外接程序管理器”中加载“Visual Basic 6 资源编辑器”
⑵在 VB 资源编辑器窗口中,点击“编辑字符串表格”输入如下资料:
标识号 中文(中国)
101 例子
102 中文
103 英文
201 Ensample
202 Chinese
203 English
⑶保存资源文件,写如下代码:(自定义装载字符的函数 LoadString)
Sub LoadString()
Me.Caption = LoadResString(Int(lang & "01"))
Command1(0).Caption = LoadResString(Int(lang & "02"))
Command1(1).Caption = LoadResString(Int(lang & "03"))
End Sub
⑷怎么样一个简单的中英双版本的程序就做出来了,如果把 lang 的值设置为 1,则显示中文,如果把 lang 的值设置为 2,则显示英文。
  • 打赏
  • 举报
回复
网上源代码很多的,找找吧!!!
j_x_y 2004-07-18
  • 打赏
  • 举报
回复
建议使用资源文件,方便
BlueBeer 2004-07-18
  • 打赏
  • 举报
回复
一样的啊,放在资源文件里也可以,反正都是文本嘛,原理是一样的啊

我还是觉得用配置文件更好,更改资源文件还需要专业人士,而按一定规则建立文本文件就方便的多,所以我说这种做法开放性好
marcoleung 2004-07-18
  • 打赏
  • 举报
回复
但如果要把所有界面上的控件文字转换,我想这不是一个好的办法。我以前看过DELPHI的实现是把这些资源放到不同的资源文件上,然后动态加载的。不知道VB能否用类似的方法实现。

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧