Ver código fonte

Add GNUGETTEXT library as a defined compiler directive

GNUGETTEXT library does not work well on FPC / Lazarus... In order to allow FPC compilation set GNUGETTEXT as a compiler directive
PascalCoin 4 anos atrás
pai
commit
b62f2a9c84

+ 6 - 1
src/config.inc

@@ -66,7 +66,10 @@
   
   // Activate ABSTRACTMEM library. Will use a virtual memory caching mechanism for efficient usage without high RAM requirements
   {$DEFINE USE_ABSTRACTMEM}
-  
+
+  // Activate GNUGETTEXT library
+  {$DEFINE USE_GNUGETTEXT}
+
 
 { ********************************************************************
   Don't touch more code, it will addapt based on your preferences
@@ -117,6 +120,8 @@ ERROR: You must select ONLY ONE option: Use_OpenSSL or Use_CryptoLib4Pascal
   {$IF COMPILERVERSION > 33}
     {$DEFINE DELPHI_SYDNEY_PLUS}  
   {$ENDIF}
+{$ELSE}
+  {$UNDEF USE_GNUGETTEXT}
 {$ENDIF}
 
 

+ 5 - 2
src/gui-classic/UFRMAbout.pas

@@ -69,7 +69,10 @@ uses
 {$IFDEF Use_OpenSSL}
   UOpenSSL,
 {$ENDIF}
-  UNode,gnugettext;
+{$IFDEF USE_GNUGETTEXT}
+  gnugettext,
+{$ENDIF}
+  UNode;
 
 {$IFnDEF FPC}
   {$R *.dfm}
@@ -79,7 +82,7 @@ uses
 
 procedure TFRMAbout.FormCreate(Sender: TObject);
 begin
-  TranslateComponent(self);
+  {$IFDEF USE_GNUGETTEXT}TranslateComponent(self);{$ENDIF}
   //
   lblBuild.Caption :=  'Build: '+CT_ClientAppVersion+' OpenSSL: '+{$IFDEF Use_OpenSSL}IntToHex(OpenSSLVersion,8){$ELSE}'NONE'{$ENDIF}+' Compiler: '{$IFDEF FPC}+'FPC'{$IFDEF CPU32}+' 32b'{$ELSE}+' 64b'{$ENDIF}{$ELSE}+'Delphi'{$IFDEF CPU32BITS}+' 32b'{$ELSE}+' 64b'{$ENDIF}{$ENDIF};
   lblProtocolVersion.Caption := Format('BlockChain Protocol: %d (%d)  -  Net Protocol: %d (%d)',[TNode.Node.Bank.SafeBox.CurrentProtocol,CT_BlockChain_Protocol_Available,

+ 2 - 2
src/gui-classic/UFRMNewPrivateKeyType.pas

@@ -57,7 +57,7 @@ type
 implementation
 
 uses
-  UAccounts, UConst,gnugettext ;
+  {$IFDEF USE_GNUGETTEXT}gnugettext,{$ENDIF}UAccounts, UConst;
 
 {$IFnDEF FPC}
   {$R *.dfm}
@@ -82,7 +82,7 @@ procedure TFRMNewPrivateKeyType.FormCreate(Sender: TObject);
 Var l : TList<Word>;
   i : Integer;
 begin
-  TranslateComponent(self);
+  {$IFDEF USE_GNUGETTEXT}TranslateComponent(self);{$ENDIF}
   //
   FGeneratedPrivateKey := Nil;
   FWalletKeys := Nil;

+ 2 - 2
src/gui-classic/UFRMNodesIp.pas

@@ -54,7 +54,7 @@ type
 implementation
 
 uses
-  UNetProtocol, UNode, UConst, USettings,gnugettext;
+  {$IFDEF USE_GNUGETTEXT}gnugettext,{$ENDIF}UNetProtocol, UNode, UConst, USettings;
 
 {$IFnDEF FPC}
   {$R *.dfm}
@@ -112,7 +112,7 @@ end;
 
 procedure TFRMNodesIp.FormCreate(Sender: TObject);
 begin
-  TranslateComponent(self);
+  {$IFDEF USE_GNUGETTEXT}TranslateComponent(self);{$ENDIF}
   //
   FAppParams := Nil;
   PrepareData;

+ 3 - 3
src/gui-classic/UFRMOperation.pas

@@ -191,8 +191,8 @@ type
 implementation
 
 uses
-  UConst, UOpTransaction, UFRMNewPrivateKeyType, UFRMWalletKeys, UFRMHashLock,
-  UCommon, ULog, UGUIUtils,gnugettext;
+  {$IFDEF USE_GNUGETTEXT}gnugettext,{$ENDIF}UConst, UOpTransaction, UFRMNewPrivateKeyType, UFRMWalletKeys, UFRMHashLock,
+  UCommon, ULog, UGUIUtils;
 
 {$IFnDEF FPC}
   {$R *.dfm}
@@ -530,7 +530,7 @@ end;
 
 procedure TFRMOperation.FormCreate(Sender: TObject);
 begin
-  Translatecomponent(self);
+  {$IFDEF USE_GNUGETTEXT}TranslateComponent(self);{$ENDIF}
   FDisabled := false;
   FWalletKeys := Nil;
   FSenderAccounts := TOrderedCardinalList.Create;

+ 5 - 2
src/gui-classic/UFRMPascalCoinWalletConfig.pas

@@ -97,7 +97,8 @@ type
 
 implementation
 
-uses UConst, UAccounts, ULog, UCrypto, UNode, USettings, UGUIUtils, UNetProtocol, UFRMSelectLanguage,gnugettext;
+uses
+  {$IFDEF USE_GNUGETTEXT}gnugettext, UFRMSelectLanguage, {$ENDIF}UConst, UAccounts, ULog, UCrypto, UNode, USettings, UGUIUtils, UNetProtocol;
 
 {$IFnDEF FPC}
   {$R *.dfm}
@@ -198,7 +199,7 @@ end;
 
 procedure TFRMPascalCoinWalletConfig.FormCreate(Sender: TObject);
 begin
-  TranslateComponent(self);
+  {$IFDEF USE_GNUGETTEXT}TranslateComponent(self);{$ENDIF}
   //
   lblDefaultInternetServerPort.Caption := Format('(Default %d)',[CT_NetServer_Port]);
   udInternetServerPort.Position := CT_NetServer_Port;
@@ -220,6 +221,7 @@ end;
 
 procedure TFRMPascalCoinWalletConfig.bbChangeLanguageClick(Sender: TObject);
 begin
+  {$IFDEF USE_GNUGETTEXT}
    fNewUILanguage := AppParams.ParamByName[CT_PARAM_UILanguage].GetAsString(GetCurrentLanguage);
    fNewUILanguage := SelectUILanguage(fNewUILanguage);
    if fNewUILanguage<>AppParams.ParamByName[CT_PARAM_UILanguage].GetAsString(GetCurrentLanguage) then // new language selected
@@ -227,6 +229,7 @@ begin
      UseLanguage(fNewUILanguage);
      RetranslateComponent(Self);
    end;
+  {$ENDIF}
 end;
 
 procedure TFRMPascalCoinWalletConfig.SetAppParams(const Value: TAppParams);

+ 2 - 2
src/gui-classic/UFRMPayloadDecoder.pas

@@ -106,7 +106,7 @@ implementation
   {$R *.lfm}
 {$ENDIF}
 
-Uses UNode, UTime, UPCEncryption, UAccounts, UFRMMemoText, UBaseTypes,gnugettext;
+Uses {$IFDEF USE_GNUGETTEXT}gnugettext,{$ENDIF}UNode, UTime, UPCEncryption, UAccounts, UFRMMemoText, UBaseTypes;
 
 { TFRMPayloadDecoder }
 
@@ -220,7 +220,7 @@ end;
 
 procedure TFRMPayloadDecoder.FormCreate(Sender: TObject);
 begin
-  TranslateComponent(self);
+  {$IFDEF USE_GNUGETTEXT}TranslateComponent(self);{$ENDIF}
   //
   FSemaphor := true;
   try

+ 1 - 1
src/gui-classic/UFRMSelectLanguage.pas

@@ -7,7 +7,7 @@ unit UFRMSelectLanguage;
 interface
 
 uses
-   Classes, SysUtils, Forms, Controls, Graphics, Dialogs, Buttons, StdCtrls,gnugettext;
+  gnugettext,Classes, SysUtils, Forms, Controls, Graphics, Dialogs, Buttons, StdCtrls;
 
 type
 

+ 6 - 4
src/gui-classic/UFRMWallet.pas

@@ -327,7 +327,7 @@ implementation
   {$R *.lfm}
 {$ENDIF}
 
-Uses UFolderHelper,gnugettext,
+Uses UFolderHelper,{$IFDEF USE_GNUGETTEXT}gnugettext,{$ENDIF}
 {$IFDEF Use_OpenSSL}
   UOpenSSL,
 {$ENDIF}
@@ -1299,7 +1299,7 @@ end;
 procedure TFRMWallet.FormCreate(Sender: TObject);
 Var i : Integer;
 begin
-  TranslateComponent(Self);
+  {$IFDEF USE_GNUGETTEXT}TranslateComponent(self);{$ENDIF}
   //
   {$IFNDEF FPC}
   {$IFDEF TESTNET}
@@ -1369,10 +1369,12 @@ begin
   FBlockChainGrid.DrawGrid := dgBlockChainExplorer;
   // FWalletKeys.OnChanged.Add( OnWalletChanged );
   LoadAppParams;
+  {$IFDEF USE_GNUGETTEXT}
   // use language from the params and retranslate if needed
   // might be better to move this a bit earlier in the formcreate routine
   UseLanguage(FAppParams.ParamByName[CT_PARAM_UILanguage].GetAsString(GetCurrentLanguage));
-  RetranslateComponent(Self);
+  RetranslateComponent(self);
+  {$ENDIF}
   //
   UpdatePrivateKeys;
   UpdateBlockChainState;
@@ -2053,7 +2055,7 @@ begin
     if ShowModal=MrOk then begin
       SaveAppParams;
       UpdateConfigChanged;
-      RetranslateComponent(self);
+      {$IFDEF USE_GNUGETTEXT}RetranslateComponent(self);{$ENDIF}
     end;
   finally
     free;

+ 3 - 2
src/gui-classic/UFRMWalletKeys.pas

@@ -95,8 +95,9 @@ uses
 {$ELSE}
   LCLIntf, LCLType,
 {$ENDIF}
+  {$IFDEF USE_GNUGETTEXT}gnugettext,{$ENDIF}
   UCrypto, UAccounts, UFRMNewPrivateKeyType, UBaseTypes, UPCEncryption,
-  UPCDataTypes, UCommon, UGUIUtils,gnugettext;
+  UPCDataTypes, UCommon, UGUIUtils;
 
 {$IFnDEF FPC}
   {$R *.dfm}
@@ -493,7 +494,7 @@ end;
 
 procedure TFRMWalletKeys.FormCreate(Sender: TObject);
 begin
-  Translatecomponent(self);
+  {$IFDEF USE_GNUGETTEXT}TranslateComponent(self);{$ENDIF}
   lbWalletKeys.Sorted := true;
   FWalletKeys := Nil;
   UpdateWalletKeys;

+ 5 - 1
src/pascalcoin_wallet_classic.dpr

@@ -4,6 +4,8 @@ program PascalCoin_Wallet_Classic;
   {$MODE Delphi}
 {$ENDIF}
 
+{$I ./config.inc}
+
 uses
   {$IFnDEF FPC}
   {$ELSE}
@@ -47,7 +49,9 @@ uses
   UFRMNodesIp in 'gui-classic\UFRMNodesIp.pas' {FRMNodesIp},
   UFRMOperation in 'gui-classic\UFRMOperation.pas' {FRMOperation},
   UFRMOperationsExplorer in 'gui-classic\UFRMOperationsExplorer.pas' {FRMOperationsExplorer},
-  UFRMSelectLanguage in 'gui-classic\UFRMSelectLanguage.pas',
+  {$IFDEF USE_GNUGETTEXT}
+  UFRMSelectLanguage in 'gui-classic\UFRMSelectLanguage.pas' {FRMChangeLanguage},
+  {$ENDIF}
   UFRMPascalCoinWalletConfig in 'gui-classic\UFRMPascalCoinWalletConfig.pas' {FRMPascalCoinWalletConfig},
   UFRMPayloadDecoder in 'gui-classic\UFRMPayloadDecoder.pas' {FRMPayloadDecoder},
   UFRMRandomOperations in 'gui-classic\UFRMRandomOperations.pas' {FRMRandomOperations},

+ 1 - 8
src/pascalcoin_wallet_classic.lpi

@@ -42,7 +42,7 @@
         <PackageName Value="LCL"/>
       </Item1>
     </RequiredPackages>
-    <Units Count="38">
+    <Units Count="37">
       <Unit0>
         <Filename Value="pascalcoin_wallet_classic.dpr"/>
         <IsPartOfProject Value="True"/>
@@ -222,13 +222,6 @@
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
       </Unit36>
-      <Unit37>
-        <Filename Value="gui-classic\UFRMSelectLanguage.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMChangeLanguage"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit37>
     </Units>
   </ProjectOptions>
   <CompilerOptions>