CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

关于在Delphi中支持多过语言的问题

楼主enlightenment(破冰超人)2004-08-01 23:49:48 在 Delphi / VCL组件开发及应用 提问

 
  刚刚看到一贴:  
   
  “一个土制的多语言引擎   Langine,希望能借此简化编写多国语言系统的工作”  
  http://community.csdn.net/Expert/topic/3151/3151612.xml?temp=8.926028E-02  
   
  程序支持多国语言问题,我想这也是许多Delphi   Fans共同关注的问题。所以把自己的一点经验贴出来,与大家共享一下;  
   
  其实Delphi本身就已经包含的很完善的多国语言支持的功能;  
   
  .   为不同语言的UI资源保存、编译不同的副本资源文件;  
   
  .   为程序中使用的字符串(非UI资源)保存、编译不同的副本资源文件;  
   
  .   程序运行后动态的选择支持语言;  
   
  例子:  
   
  1、新建一个空工程、放一些组件(菜单、按钮,任意组件……)、保存;  
   
  2、菜单Project->Language->Add;按提示选择语言,如英语(美国)+中文(中国),一路确认,最后生成两个目录CHS,   ENU,为UI资源文件副本;  
  (注意:此时会提示存储ProjectGroup,存下来会很方便以后使用)  
   
  3、打开UI副本并设置各个组件在不同语言副本中的内容;  
   
  4、菜单Delphi->Language->Set   Active   设置缺省语言;  
   
  5、菜单Delphi->Language->Update   Resource   DLLs,当你在主工程中进行资源文件更新后,用此功能更新各个资源文件副本。(除非你的主工程有大的改动,否则副本内容也是选择更新,即,不会每次对各种语言重新翻译一遍)  
   
  6、使用菜单Project->Build   All   Projects,编译;  
   
  7、此时你可能会问,如果是非UI资源内容,譬如想为程序中的某些/全部字符串保存不同语言副本,该如何处理;  
   
  如下:  
   
  在自动生成的自动副本目录下都会有一个“*_RC.rc”文件,存储不同的内部使用字符串;  
   
  在程序中,找到你要存储多国语言的字符串,先在程序中将其作为常量字符串定义,!!!关键就在这个定义上,不要用const做关键字,而要用resourcestring,然后在执行步骤5更新,你会发现——这些字符串都出现在“*_RC.rc”文件中了,修改不同语言副本的“*_RC.rc”文件中对应的字符串,再重新编译……  
   
  (也是一次偶然机会发现了resourcestring的此功能,因为就算想   D6DG   这种经典的书对resourcestring也只是一笔带过……)  
   
  8、动态加载不同语言设置,不用我多说了,在  
  “..\Borland\Delphi7\Demos\RichEdit”目录下有个现成的例子,很容易,执行一下,再看看就知道了。  
   
   
  我自己还增强了此方法,现在我在自己的程序中除了可以动态加载主EXE的资源文件,就算在外挂DLL(自己写的一些COM组件)中也可以实现语言的动态切换;  
   
  …………  
   
  这回就这么多了,希望以上内容对大家有帮助!  
   
   
  问题点数:200、回复次数:18Top

1 楼aiirii(ari-http://spaces.msn.com/members/aiirii/)回复于 2004-08-02 00:05:10 得分 15

markTop

2 楼linzhengqun(风。我回来了)回复于 2004-08-02 00:08:45 得分 15

好的,保存Top

3 楼enlightenment(破冰超人)回复于 2004-08-02 00:39:59 得分 0

Mark   selfTop

4 楼xiaocuo_zrf(小错——淫雄所贱略同)回复于 2004-08-02 09:51:07 得分 15

好  
  !Top

5 楼tonylk(=www.tonixsoft.com=)回复于 2004-08-02 10:03:05 得分 15

hehe,不过实话说Delphi自带的多国语言功能使用并不方便,要给用户自己扩展语言也是不可能的。。Top

6 楼meiqingsong(阿飛)回复于 2004-08-02 10:09:39 得分 15

好Top

7 楼seaweaver(唧唧歪歪)回复于 2004-08-02 11:39:23 得分 15

顶啊,如果能动态的更新就最好拉Top

8 楼GoldShield(李柏岑)回复于 2004-08-02 12:15:32 得分 15

学习Top

9 楼enlightenment(破冰超人)回复于 2004-08-03 09:10:49 得分 0

upTop

10 楼wychero(高天)回复于 2004-08-03 09:14:15 得分 15

学习Top

11 楼cronuz(cronus)回复于 2004-08-03 12:19:41 得分 10

先Mark!Top

12 楼GoldShield(李柏岑)回复于 2004-08-03 13:29:27 得分 10

为什么还有那么多的贴问DELPHI中的语言问题.?Top

13 楼tonylk(=www.tonixsoft.com=)回复于 2004-08-03 13:51:03 得分 10

to   GoldShield(金盾)    
  多国语言是潮流,并且Delphi本身对多国语言的支持并不完善。。。。但是相对VC和VB,Delphi的程序做多国语言还是最方便的。。Top

14 楼boatzm(晓舟怕麻烦)【IUnKnown】(#_#!)回复于 2004-08-03 16:48:59 得分 10

mark   ,同时紧一个!Top

15 楼loveyinger(lxy)回复于 2004-08-27 12:51:34 得分 10

MarkedTop

16 楼yincaimin(真实)回复于 2004-08-27 14:16:50 得分 10

学习Top

17 楼hejianling305(爱上编程的笨小孩)回复于 2004-08-28 16:15:07 得分 10

好.学习Top

18 楼sztony(最爱美眉)回复于 2004-08-28 17:20:58 得分 10

这几天我也在研究多国语言,  
  我觉得还是自己设计多国语言系统好点,  
   
  比如,我现在设计的系统包含英文,简体中文,繁体中文,  
  自己设计数据库,包含多语言系统的资源,然后在程序中控制,调用,好象还蛮不错的,Top

相关问题

  • delphi如何实现多语言支持
  • delphi如何支持多语言
  • 如何用Delphi开发支持多语言的软件??
  • 如何支持多语言菜单
  • 请教支持多语言的问题!
  • 请教支持多语言的问题!
  • 请教支持多语言的问题!
  • 怎样编写支持多国语言的程序
  • 多语言支持——为什么这样装载资源失败?
  • java swing中的JEditorPane为什么不支持多语言?

关键词

  • 语言
  • 文件
  • 组件
  • 编译
  • delphi
  • 系统
  • 中文
  • 内容
  • 字符串
  • 副本

得分解答快速导航

  • 帖主:enlightenment
  • aiirii
  • linzhengqun
  • xiaocuo_zrf
  • tonylk
  • meiqingsong
  • seaweaver
  • GoldShield
  • wychero
  • cronuz
  • GoldShield
  • tonylk
  • boatzm
  • loveyinger
  • yincaimin
  • hejianling305
  • sztony

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo