DELPHI2010开发多语言界面的方法。

原创 2012年03月29日 23:24:18
DELPHI2010开发多语言界面的方法。
只需要下面3个方法就可以实现了。


//判断某一个公开属性是否存在。引用单元 use typinfo;
Function TSeverForm.HasProperty(AComponent : TComponent;APropertyName : string) :boolean;
begin


 //本方法主要是用于判断控件的CAPTION,HINT,TITLE,TEXT属性是否存在。
  if Assigned(GetPropInfo(AComponent.Classinfo,APropertyName)) then
    Result := True
    else
    Result := False;
end;

//切换界面语言的方法,窗体加载是调用一次。
Procedure TSeverForm.ActiveLanguageIni(LanguangeFile : String);
Var i : Integer;
    proValue : String;
begin
  for I := 0 to Self.ComponentCount-1 do
    begin
    if HasProperty(Components[i],'Caption') then
      begin
      proValue := ReadIniFile(LanguangeFile,Self.Name, Components[i].Name+'.Caption','');
      if proValue<>'' then SetStrProp(Components[i],'Caption',proValue);
      end;
    if HasProperty(Components[i],'Hint') then
      begin
      proValue := ReadIniFile(LanguangeFile,Self.Name, Components[i].Name+'.Hint','');
      if proValue<>'' then SetStrProp(Components[i],'Hint',proValue);
      end;
    end;
end;


//生成初始的界面语言切换所需文件
Procedure TSeverForm.SaveLanguageIni(LanguangeFile : String);
Var i : Integer;
begin
//用此方法生成3个文件:中文简体CHinese.ini,中文繁体ChineseBig5.INI,英文English.Ini,然后修改Ini文件对应控件的译文,与应用程序一起发布。
  for I := 0 to Self.ComponentCount-1 do
    begin
    if HasProperty(Components[i],'Caption') then
       begin
       if GetStrProp(Components[i],'Caption')<>'' then
          WriteIniFile(LanguangeFile,Self.Name, Components[i].Name+'.Caption',GetStrProp(Components[i],'Caption') );
       end;
    if HasProperty(Components[i],'Hint') then
       begin
       if GetStrProp(Components[i],'Hint')<>'' then
          WriteIniFile(LanguangeFile,Self.Name,Components[i].Name+'.Hint',GetStrProp(Components[i],'Hint') );
       end;
    end;






真正高质量高水准的实际商用的Delphi 信息化管理系统开源框架源码

  • 2016年03月17日 08:59
  • 745KB
  • 下载

一个给力的各种语言的框架的整理(来自于github的一个NB项目)

以下是该项目的 README: Awesome Awesomeness A curated list of amazingly awesome awesomeness.Also avail...
  • zzh_gaoxingjiuhao
  • zzh_gaoxingjiuhao
  • 2016年08月19日 18:20
  • 298

RDIFramework.NET V2.9版本多语言的实现

现在是国际化时代,软件也不能落后。一个公司里很可能会有老外,也可能有台湾的朋友,他们用软件的习惯都不一样,若同样一个软件同时能适应多种语言文化,那是想当的理想了,最起码能比较完善的支持英文版本,大家用...
  • chinahuyong
  • chinahuyong
  • 2015年06月09日 09:01
  • 2703

开源游戏框架

开源游戏框架(转至wiki) 1人收藏此文章, 我要收藏发表于2个月前 , 已有147次阅读 共0个评论 http://www.cppblog.com/lwq49/catego...
  • pClass_en
  • pClass_en
  • 2012年07月10日 10:23
  • 4810

Delphi程序之多语言支持

    最近在做一个多语言的项目,感想颇深,写出来与大家分享。     首先抱怨一下,谁让这个程序是Delphi的呢,用C#或者Java写根本不会有那么多问题,唉...... 1.现状  Delphi...
  • whw6_faye
  • whw6_faye
  • 2008年11月03日 11:40
  • 4475

前端多语言的切换

前端开发中多语言的切换,可使用js动态替换内容 1、在用户点击切换语言后,把选择的语言版本保存在cookie中 //写入cookie函数 function setCookie(name,value...
  • hefy780144
  • hefy780144
  • 2017年03月23日 14:46
  • 3559

C#如何开发多语言支持的Winform程序

C# Winform项目多语言实现(支持简/繁/英三种语言)有很多种方案实现多语言,我在这里介绍一种最简单最容易理解的,作为教学材题应该从通俗易懂入手。在写这篇文章之前,本来想用枚举窗体对象成员的方式...
  • acetaohai123123
  • acetaohai123123
  • 2017年10月17日 21:51
  • 348

Delphi如果要追赶C#,最应该做的

一晃,已经3年多没有用Delphi做过大型的项目开发了。虽然adw
  • diligentcat
  • diligentcat
  • 2014年07月28日 14:14
  • 991

Java Web的Struts2的多语种网站的多语言切换实例

先看图图; 一      首先下载Properties Editor插件,该插件是支持中文的资源文件编辑器;MyEclipse 10.6 以上不用安装该插件...
  • bcbobo21cn
  • bcbobo21cn
  • 2015年05月28日 11:22
  • 1649

资源文件(多语言)的管理

现在很多产品都有国际化或者说多语言的需求。及时产品现阶段不需要做多语言,但在产品设计上也大多会预留多语言的设计。 所谓多语言的设计也就是用资源文件的方式来编写程序代码。简单来说就是前端所有看的见的静态...
  • lackin
  • lackin
  • 2015年10月14日 17:46
  • 1005
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DELPHI2010开发多语言界面的方法。
举报原因:
原因补充:

(最多只允许输入30个字)