现在做了一个软件。
是中文的,但老大说要英文的版本。。我想在软件中实现切换语言版本的功能,大家做过的给个方案,谢谢。。
最好能有个Demo看看。

解决方案 »

  1.   

    写一个Ini文件,里面是中英文对照
    比如:
    [Memu]
    File=文件
    Edit=编辑读的时候直接取ini相应值就可以了。。
      

  2.   

    或者建资源文件建一个名为chinese.rc的文本格式文件,内容如下:   
      STRINGTABLE   
      BEGIN   
      1,"确定"   
      2,"取消"   
      END   
        
      然后使用x:\delphi\bin\brcc32.exe   chinese.rc生成chinese.res文件   
        
      新建一个dll工程,工程中什么都不要加,dll的全部代码如下   
      library   mutiLang;   
        
      uses   
          SysUtils,   
          Classes;   
        
      {$R   *.RES}   
      {$R   chinese.res}   
      begin   
      end.   
      编译后生成chinese.dll   
        
      再随便建一个工程用于调用该dll内的资源,如下   
      procedure   TForm1.FormCreate(Sender:   TObject);   
      var   lanDll:string;   
              lanDllInstance:THandle;   
              lanBuff:array[0..8]   of   char;   
      begin   
      localLan:='chinese';   
      lanDll:=localLan+'.dll';   
      lanDllInstance:=LoadLibrary(PChar(lanDll));   
      loadString(lanDllInstance,1,lanbuff,SizeOf(lanbuff));   
      btnOK.caption:=lanbuff;             //确定   
      loadString(lanDllInstance,2,lanbuff,SizeOf(lanbuff));   
      btnCancel.Caption:=lanbuff;     //取消   
        
      //........................   
      FreeLibrary(lanDllInstance);   
      end;   (转载)
      

  3.   

    Delphi有相应的Demo,不过最好用控件Tag+XML方式比较方便
      

  4.   

    可以再数据库中定义以个字段或菜单描述表
    这样就可以做到了
    如果是英文版本的,就调用Engshine
    如果是中文的,就调用中文的菜单或字段
    至于怎么判断,这个可以再软件启动界面,标识下,用户可以根据自己的需要选择语言包!!!!
    这个方案也可以
    不过,好像有点繁琐