专为VB制做的多语言软件开发工具,可以轻松完成对可视界面的多语言化.

专为VB制做的多语言软件开发工具,可以轻松完成对可视界面的多语言化,您只需要制做语言包母板后翻译复制该母板即可.点这里下载示例工程.



界面介绍如下:

启动图标:
点这里将启动该程序.



程序将向您的代码中添加以下代码,以便您访问语言包:

API:
  Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long 
   由于语言包是使用INI格式保存的,程序添加了该API函数,如果该API已经存在,将不添加.


在窗体的 Load 事件中添加调用界面语言加载子程序的代码.
Private Sub Form_Load()
Call frmMain.CoderHelper_VBMltLug_InitfrmMain(App.Path + IIf(Len(App.Path) = 3, "", "\") + App.EXEName + ".exe.lag") 'CoderHelper专用代码行请不要删除!
  '括号内的过程是计算语言包文件的文件路径和文件名称,文件名称是以可执行文件的路径为准,其文件名后加".lag"为扩展名的文件.要翻译该文件,请复制后打开使用文本工具翻译.在后续版本中,将提供部分翻译和转换方面的工具.


添加界面初始化程序.该程序的参数为一个有效的语言包文件的完整路径.
Public Sub CoderHelper_VBMltLug_InitfrmMain(lngFileName As String)
'MysticBoy 提醒您:由于一些控件的属性可能是只读的或在运行时是不可用的,建议调试以下代码.
Me.CmdDown.Caption = ch_GetKeyVal(lngFileName, "frmMain.CmdDown", "Caption", "V")
{......}
End Sub
 由于部分控件的部分属性在运行时是只读或是不可用的,建议在你编译工程之前,请调试该段代码,


该函数将用于访问语言包文件,读取指定字段中指定键的值,如果语言包无效或没有该值将使用默认值,即 DefValue参数指定值.
Public Function ch_GetKeyVal(ByVal FileName As String, ByVal Section As String, ByVal Key As String, Optional DefValue As String)
Dim RetVal As String, Worked As Integer
If Dir(FileName) <> "" And FileName <> "" Then
RetVal = String$(255, 0)
Worked = GetPrivateProfileString(Section, Key, DefValue, RetVal, Len(RetVal), FileName) If Worked = 0 Then
ch_GetKeyVal = DefValue
Else
ch_GetKeyVal = Left(RetVal, InStr(RetVal, Chr(0)) - 1)
End If
Else
ch_GetKeyVal = DefValue
End If
End Function


 该函数用于读取指定语言包内的字符串.字符串可能包括代码中的提示内容或着窗体的标题等文本.
Public Function ch_GetStr(Key As String, Optional DefValue As String) '
'请使用此函数读取字符串信息'如 i = MsgBox(Prompt:=ch_GetStr("SaveFile", "文件是否保存?"), Title:=ch_GetStr("SaveFile1", "文件未保存"), Buttons:=vbYesNo) '
ch_GetStr = ch_GetKeyVal(App.Path + IIf(Len(App.Path) = 3, "", "\") + App.EXEName + ".exe.lag", "Strings", Key, DefValue)
End Function
  '如果语言包你另有安排,请改写这段代码.



建议添加代码:
示例工程中,我们使用了这样的代码加载语言,首先把翻译好的语言包文件放置在资源文件中.然后使用以下直径读取资源保存到CoderHelper默认的语言包文件完整路径名称的文件.然后调用加载程序来加载语言.
Private Sub mEng_Click()
On Error GoTo errh
Dim lagfn As String, fn As Long
Dim ary() As Byte
fn = FreeFile
lagfn = App.Path + IIf(Len(App.Path) = 3, "", "\") + App.EXEName + ".exe.lag"
Open lagfn For Binary As #fn
ary = LoadResData(103, "lag") 'lag 为资源类型,103为当前语言包的资源代码.
Put #fn, , ary
Close #fn
Call frmMain.CoderHelper_VBMltLug_InitfrmMain(App.Path + IIf(Len(App.Path) = 3, "", "\") + App.EXEName + ".exe.lag")'加载语言.
errh:
If Err.Number <> 0 Then
MsgBox Err.Description, vbInformation
End If
End Sub
'多种语言放置在资源中.将方便您的访问.而加载不同语言,使用此建议代码,仅仅需要改动的是 ary = LoadResData(103, "lag"),您只需要改动资源ID号即可,多语言,建议最好使用控件数组.
Private Sub munLag(Index as Integer )
[...]
ary=LoadResData(100+Index,"lag")
[...]
End Sub
这是MysticBoy所建议的方式..

注意:在您所写的代码行中不要带"'CoderHelper专用代码行请不要删除!"这样的内容.否则.在重新生成代码时CoderHelper 将认为是CoderHelper 上次工作时添加的代码.在插入新代码前将删除.



此工具为CoderHelper正式发布的组件,因此产品是需要注册的.不注册的情况下.将和其它CoderHelper高级组件使用频率共同计数,限制在50次内.

最后祝愿您的软件开发成功.

时间: 2024-12-03 22:19:50

专为VB制做的多语言软件开发工具,可以轻松完成对可视界面的多语言化.的相关文章

directx-使用什么语言和开发工具编写能对3D模型变换的软件

问题描述 使用什么语言和开发工具编写能对3D模型变换的软件 我想要做一个应用程序,能够显示3D人体模型的,并能输入参数对模型进行变换的. 比如,选择男性,得到一个男性的标准模型,然后用户输入该男性的身高.腿长等,然后模型进行相应的变换. 那么,请问: 1.用什么开发环境和语言?unity和directX或java3D行吗? 2.该用什么方法进行模型的变换呢?有没有一个成熟的方法? 如果您知道该怎么办,恳请您回答一下,万分感谢,因为周围没有什么老师和同学可以指导的,只能求助于此,给点指导. 解决方

NetBeans IDE 7.0.1发布 开放源码软件开发工具

NetBeans IDE 7.0.1该版本支持Java JDK7,支持Oracle DB数据库.改进MySQL,PHP,Java EE的各种Web语言.许多其它方面的增强.总的品质和性能方面进行了改进. NetBeans是由Sun建立的开放源码的软件开发工具,是一个开放框架,可扩展的开发平台,可以用于Java,C++/C++等的开发,本身是一个开发平台,可以通过http://www.aliyun.com/zixun/aggregation/35077.html">扩展插件来扩展功能.它是一

NetBeans IDE v7.0发布 开放源码软件开发工具

NetBeans是由Sun建立的开放源码的软件开发工具,是一个开放框架,可扩展的开发平台,可以用于Java,C/C++等的开发,本身是一个开发平台,可以通过http://www.aliyun.com/zixun/aggregation/35077.html">扩展插件来扩展功能.它是一个全功能的开放源码Java IDE,可以帮助开发人员编写.编译.调试和部署Java应用,并将版本控制和XML编辑融入其众多功能之中.NetBeans开发环境可供程序员编写.编译.调试和部署程序.虽然它是用Ja

《嵌入式C编程实战》——1.5 软件开发工具

1.5 软件开发工具 现在有很多的软件开发语言,如C.C++.ADA.LISP等.软件的开发都遵循标准化的过程.程序(源代码)可以被编译成目标对象可以执行的代码,一些编译器会将代码转换为汇编程序.而链接器将程序与用到的库文件和其他一些东西组织在一起,而且所有的基地址都是绝对地址.链接器最后产生的可以被下载到目标系统并执行的机器代码,如图1.11所示. 1.5.1 编译器 编译器是一种计算机软件,它的作用是将源程序转换为目标程序.通常,通过两个步骤,就可以将一个C语言编写的程序转换为目标程序.第一

IBM推出开源软件开发工具Quarks,助力企业开发物联网应用

IBM新推出一款全新的开源软件开发工具Quarks,帮助制造商和程序员充分利用物联网传感器数据,进而开发高效应用. Quarks建立在IBM Streams系列产品(IBM Streams是处理移动数据的企业工具)的基础上,现在专为程序员和制造商提供开源工具,方便他们开发应用.目的很纯粹,就是为了让程序员们不费吹灰之力就直接使用设备中的移动数据. 比如,你可以通过可穿戴式设备来观测一个糖尿病患者的身体状况,或者让矿工和石油工人戴上传感器头盔,来检测他上工时的健康情况. 以上类似情景都需要通过传感

软件开发工具

       关于本次自考软件开发工具的学习,主要是让我们在学习了程序设计的基本知识后,进一步了解和掌握软件开发的各类工具,从而提高软件开发能力和水平,以适应未来工作的需要.        对于软件开发工具的学习,主要是根据课本中讲述的知识,来整理的个人思路,下面就用这幅图来解释一下.从图中,我们可以看出:主要从理论和实践两个大方面来分别讲述的.相对于其理论的叙述,在这里就不多说了,有机会的话,大家可以学习一下这本书.想要更好地软件的设计,又怎能离的开理论的支持!         自考,是我们成

Android软件开发工具eclipse如何安装ADT和SDK

  Android软件开发工具其中一个就是eclipse,然而在这些工具当中,Eclipse 更是一个开放源代码的.基于Java的可扩展开发平台.就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境.幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK).这些只是我们对Eclipse定义上的理解,我们的电脑一般都有eclipse,那么我们要学的就是要安装ADT和SDK了.现在跟着小编一起学习如何安装ADT和SDK

NetBeans IDE 7.1发布 开放源码的软件开发工具

NetBeans IDE 7.1本次发布的版来带来JavaFX 2.0.2 SDK的支持,在Java编辑器中一批重构工具进行了批量改进,一个新的UI调试器应用于JavaFX和Swing,支持GlassFish 3.1.1和WebLogic 12C++,CDI, EJB, JSF, Spring, Web Services改进支持,几个Subversion和Mercurial的增强及捆绑Git的支持,Maven和PHP的增强. NetBeans是由Sun建立的开放源码的软件开发工具,是一个开放框架

微软推出WindowsPhone7软件开发工具

3月15日消息,据国外媒体报道,微软推出了Windows Phone 7 Series软件开发工具,让开发人员为这个新的操作系统创建应用程序和游戏. 微软.Net开发者平台副总裁Scott Guthrie在MIX10会议上证实说,Windows Phone 7应用程序将建在Silverlight(微软对Flash的回应)技术的基础上并且支持电容式多点触控显示屏.地理位置. 推播通知以及支持数字 版权管理的硬件加速的视频功能. 游戏将采用微软的XNA Game Studio制作.这个工具原来是为制