[ SOLVED ] Fortes Report Language lazarus / 31-LCL ---------------------------------------------------------------------- superc · 2021-08-16 13:40 Hello, I've  a problem with traduction with Fortes Report in many point: for an example how can modify traduction in this form during generation of pdf? Thanks in advance. ---------------------------------------------------------------------- nouzi · 2021-08-16 14:54 French ---------------------------------------------------------------------- superc · 2021-08-16 14:57 Quote from: nouzi on August 16, 2021, 04:54:30 pmFrench yes, I had noticed it; how do i change language? ---------------------------------------------------------------------- Jurassic Pork · 2021-08-16 23:55 hello, 1 - Annulli is cancel in italian ---> There is a mix of italian and french translations in the file rlconsts.pas : example at the beginning of the translation : Quoteprocedure LoadFrenchStrings; begin   LS_PrintingInProgressStr:='Stampando in progresso...';   LS_FilterInProgressStr  :='Rapporto che salva...';   LS_PreparingReportStr   :='Rapporto che prepara...';   LS_PrinterNotFoundStr   :='Stampante non fondato';   LS_NoPathToPrinterStr   :='Percorso di stampante nullo';   LS_LoadDefaultConfigStr :='Carico configurazione predefinita';   LS_PrinterDriverErrorStr:='Errore di conducente di stampante';   LS_PageStr              :='Pagina';   LS_PrepareErrorStr      :='Errore mentre preparando rapporto';   LS_PageBreakStr         :='Continua...'; // italian   LS_PageMendStr          :='A suivre';   LS_ReportEndStr         :='Fin';   LS_FileNotFoundStr      :='Fichier non trouvé';   LS_FileNameStr          :='Nom de Fichier'; // ... procedure LoadItalianStrings; begin   LS_PrintingInProgressStr:='Impression du rapport...';   LS_FilterInProgressStr  :='Sauver le rapport...';   LS_PreparingReportStr   :='Préparation du rapport...';   LS_PrinterNotFoundStr   :='Imprimante non trouvée';   LS_NoPathToPrinterStr   :='Invalid printer path'; // english   LS_LoadDefaultConfigStr :='Chargement de la configuration standard';   LS_PrinterDriverErrorStr:='Erreur dans le driver d''impression';   LS_PageStr              :='Page';   LS_PrepareErrorStr      :='Erreur durant la prépartaion du rapport'; // french   LS_PageBreakStr         :='Continua...';   LS_PageMendStr          :='Continuazione';   LS_ReportEndStr         :='Fine';   LS_FileNotFoundStr      :='Archivio non fondò';   LS_FileNameStr          :='Nome di file';   LS_AllFileTypesStr      :='Tutti archiviano';   LS_LoadReportStr        :='Rapporto di carico';   LS_NotFoundStr          :='Non fondato';   LS_WaitStr              :='Attesa...';   LS_FinishedStr          :='Finito';   LS_CancelStr            :='Annulli';   LS_CloseStr             :='Vicino';   LS_SaveStr              :='Salvataggio'; // ... you are in the Italian language 2 - How is the language is detected and choosen --> it is in the same file : Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i procedure DetectLocale;{$ifdef LINUX}var  dlct:string;{$endif}begin{$ifdef LINUX}  dlct:=AnsiUpperCase(Copy(GetEnvironmentVariable('LANG'),1,2));  if dlct='PT' then    LoadPortugueseStrings  else if dlct='EN' then    LoadEnglishStrings  else if dlct='ES' then    LoadSpanishStrings  else if dlct='FR' then    LoadFrenchStrings  else if dlct='IT' then    LoadItalianStrings  else if dlct='SW' then    LoadSwedishStrings  else    LoadEnglishStrings;{$else}  case SysLocale.PriLangID of    $16 {LANG_PORTUGUESE}: LoadPortugueseStrings;    $09 {LANG_ENGLISH}   : LoadEnglishStrings;    $0a {LANG_SPANISH}   : LoadSpanishStrings;    $0c {LANG_FRENCH}    : LoadFrenchStrings;    $10 {LANG_ITALIAN}   : LoadItalianStrings;    $1d {LANG_SWEDISH}   : LoadSwedishStrings;  else    LoadEnglishStrings;  end;{$endif}end; initialization  DetectLocale; end.  Friendly, J.P ---------------------------------------------------------------------- superc · 2021-08-17 07:27 Quote from: Jurassic Pork on August 17, 2021, 01:55:09 amhello, 1 - Annulli is cancel in italian ---> There is a mix of italian and french translations in the file rlconsts.pas : example at the beginning of the translation : Quoteprocedure LoadFrenchStrings; begin   LS_PrintingInProgressStr:='Stampando in progresso...';   LS_FilterInProgressStr  :='Rapporto che salva...';   LS_PreparingReportStr   :='Rapporto che prepara...';   LS_PrinterNotFoundStr   :='Stampante non fondato';   LS_NoPathToPrinterStr   :='Percorso di stampante nullo';   LS_LoadDefaultConfigStr :='Carico configurazione predefinita';   LS_PrinterDriverErrorStr:='Errore di conducente di stampante';   LS_PageStr              :='Pagina';   LS_PrepareErrorStr      :='Errore mentre preparando rapporto';   LS_PageBreakStr         :='Continua...'; // italian   LS_PageMendStr          :='A suivre';   LS_ReportEndStr         :='Fin';   LS_FileNotFoundStr      :='Fichier non trouvé';   LS_FileNameStr          :='Nom de Fichier'; // ... procedure LoadItalianStrings; begin   LS_PrintingInProgressStr:='Impression du rapport...';   LS_FilterInProgressStr  :='Sauver le rapport...';   LS_PreparingReportStr   :='Préparation du rapport...';   LS_PrinterNotFoundStr   :='Imprimante non trouvée';   LS_NoPathToPrinterStr   :='Invalid printer path'; // english   LS_LoadDefaultConfigStr :='Chargement de la configuration standard';   LS_PrinterDriverErrorStr:='Erreur dans le driver d''impression';   LS_PageStr              :='Page';   LS_PrepareErrorStr      :='Erreur durant la prépartaion du rapport'; // french   LS_PageBreakStr         :='Continua...';   LS_PageMendStr          :='Continuazione';   LS_ReportEndStr         :='Fine';   LS_FileNotFoundStr      :='Archivio non fondò';   LS_FileNameStr          :='Nome di file';   LS_AllFileTypesStr      :='Tutti archiviano';   LS_LoadReportStr        :='Rapporto di carico';   LS_NotFoundStr          :='Non fondato';   LS_WaitStr              :='Attesa...';   LS_FinishedStr          :='Finito';   LS_CancelStr            :='Annulli';   LS_CloseStr             :='Vicino';   LS_SaveStr              :='Salvataggio'; // ... you are in the Italian language 2 - How is the language is detected and choosen --> it is in the same file : Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i procedure DetectLocale;{$ifdef LINUX}var  dlct:string;{$endif}begin{$ifdef LINUX}  dlct:=AnsiUpperCase(Copy(GetEnvironmentVariable('LANG'),1,2));  if dlct='PT' then    LoadPortugueseStrings  else if dlct='EN' then    LoadEnglishStrings  else if dlct='ES' then    LoadSpanishStrings  else if dlct='FR' then    LoadFrenchStrings  else if dlct='IT' then    LoadItalianStrings  else if dlct='SW' then    LoadSwedishStrings  else    LoadEnglishStrings;{$else}  case SysLocale.PriLangID of    $16 {LANG_PORTUGUESE}: LoadPortugueseStrings;    $09 {LANG_ENGLISH}   : LoadEnglishStrings;    $0a {LANG_SPANISH}   : LoadSpanishStrings;    $0c {LANG_FRENCH}    : LoadFrenchStrings;    $10 {LANG_ITALIAN}   : LoadItalianStrings;    $1d {LANG_SWEDISH}   : LoadSwedishStrings;  else    LoadEnglishStrings;  end;{$endif}end; initialization  DetectLocale; end.  Friendly, J.P It works!!!  Thank you very much