zoukankan      html  css  js  c++  java
  • delphi多语言

    LoadLangFromStrings

    http://docwiki.embarcadero.com/Libraries/Berlin/en/FMX.Types.TLang

    http://blog.csdn.net/pcplayer/article/details/78152471

    procedure TForm7.Button1Click(Sender: TObject);
    var
      list: TStringList;
    begin
      list := TStringList.Create;
      list.LoadFromFile('cn.txt');
      LoadLangFromStrings(list);
      list.Free;
    end;
    
    procedure TForm7.Button2Click(Sender: TObject);
    var
      list: TStringList;
    begin
      list := TStringList.Create;
      list.LoadFromFile('en.txt');
      LoadLangFromStrings(list);
      list.Free;
    end;

    cn.txt

    Button1=开始
    Button2=结束
    RadioButton1=性别

    en.txt

    Button1=start
    Button2=end
    RadioButton1=option

    //没找到下文的出处和原作者。暂时记录.

      // uses FMX.Platform{$IFDEF MSWINDOWS}, WinAPi.Windows{$ENDIF}; {$R *.fmx}
      // 以下这个函数,获取当前操作系统的语言设置。  比如 Windows 底下,语言为中文,返回 Zh
      // 这个函数支持各种操作系统。
    
    end;
    
    function GetOSLangID: String; {$IFDEF MACOS}var
      Languages: NSArray;
    begin
      Languages := TNSLocale.OCClass.preferredLanguages;
      Result := TNSString.Wrap(Languages.objectAtIndex(0)).UTF8String; {$ENDIF}{$IFDEF ANDROID}var
        LocServ: IFMXLocaleService;
      begin
        if TPlatformServices.Current.SupportsPlatformService(IFMXLocaleService, IInterface(LocServ)) then
          Result := LocServ.GetCurrentLangID; {$ENDIF}{$IFDEF MSWINDOWS}var
          buffer: MarshaledString;
          UserLCID: LCID;
          BufLen: Integer;
        begin
          // defaults
          UserLCID := GetUserDefaultLCID;
          BufLen := GetLocaleInfo(UserLCID, LOCALE_SISO639LANGNAME, nil, 0);
          buffer := StrAlloc(BufLen);
          if GetLocaleInfo(UserLCID, LOCALE_SISO639LANGNAME, buffer, BufLen) <> 0 then
            Result := buffer
          else
            Result := 'en';
          StrDispose(buffer); {$ENDIF} end;
  • 相关阅读:
    用算法合并数组
    Redis各个数据类型的使用场景
    seesion工作原理
    自删除道指令程序
    uva 1335
    《生活在Linux中》之:使用Bash就是使用Emacs
    手动配置S2SH三大框架报错(三)
    数据和C
    IOS之【地图MapKit】
    我工作这几年(五)-- Android学习4.5月总结(一)
  • 原文地址:https://www.cnblogs.com/cb168/p/7685988.html
Copyright © 2011-2022 走看看