小弟要作一软件,需支持中文版和英文版,考虑再三,有两种方式,一是从数据库开始
到整个程序的编写,都使用中文字段,而后再来一次英文改版,二是.......不知道怎么做了,您有更好的方法吗?

解决方案 »

  1.   

    我见过一些软件是这样做的,把菜单、资源字符串等要用到的文字全部放在ini文件中,然后可以根据系统版本来调用相对应的ini文件生成菜单,界面等。
      

  2.   

    to qinmaofan
      菜单、界面是好说,从ini文件中读出来,可是,可是,程序中的对话框要用中英文,dbgrid 中要显示不同的中英文字段怎没半?岂不是要增加好多判断,相当于将两套程序(中英)写道一个程序中,这样,这样,岂不是使程序运行速度降低?!占用太多的系统资源。
      谁有好的办法?快来教教晚生。
      

  3.   

    定义一个全局变量,判断系统是英文还是中文。
    程序编写的时候是英文的,运行的时候,如果是英文系统,则使用默认字符串,否则读取中文字符串并代替原来的字符串。
    速度方面不会有多大影响的
    超级解霸知道把,他把中文全部放到一个动态连接库中,你如果把那个DLL文件删掉了,他就变成英文的了
      

  4.   

    也可以放在两个文件里,这样只要开始时设一下文件名就好了,不用太多的判断。如:ASPACK
      

  5.   

    数据库有必要用中文么?dbgrid提供的column属性就是用来代替字段名的
    其他用到字符串的地方可用上面说的ini或资源文件来存贮调用,甚至可用不同文件对应不同版本,在程序中动态切换
      

  6.   

    常见的办法是使用资源文件,可以利用 Delphi 自己的 Language 功能实现呀。
      

  7.   

    to CloneCenter
     HOW TO USE 'Delphi.Language'?
      

  8.   

    刚试了一下,Delphi可以根据不同语言自动生成资源文件,只要修改资源编译就可以了,在菜单Project->languages里面
      

  9.   

    to cuihl()
       我利用languages作了一下,怎么在中文版理调出来的字符串还是英文。
    麻烦给点源码。
      

  10.   

    先在菜单languages->set active激活中文,然后update Resource Dlls,然后要在菜单View->project manager里面激活中文版工程,编译,然后再激活主工程,编译运行即可
      

  11.   

    OK 小弟谢了,一切OK,多些多谢。真是高高。不好意思,其它各位分少了点,我的分不够用的,不知怎么才能多挣。