<commit_before>﻿{-----------------------------------------------------------------------------
 Unit Name: dlgAboutPyScripter
 Author:    <NAME>
 Date:      09-Mar-2005
 Purpose:   PyScripter About box
 History:
-----------------------------------------------------------------------------}

unit dlgAboutPyScripter;

interface

uses
  Winapi.Windows, Winapi.Messages, SysUtils, Classes, Graphics, Forms, Controls,
  Buttons, ExtCtrls, dlgPyIDEBase, SpTBXControls, SpTBXItem, SpTBXTabs, TB2Item,
  SpTBXPageScroller, Vcl.StdCtrls, Vcl.ComCtrls;

type
  TRichEdit = class(Vcl.ComCtrls.TRichEdit)
  private
    procedure CNNotify(var Message: TWMNotify); message CN_NOTIFY;
  protected
    procedure CreateWnd; override;
  end;

  TAboutBox = class(TPyIDEDlgBase)
    SpTBXTabControl: TSpTBXTabControl;
    tbAbout: TSpTBXTabItem;
    SpTBXTabSheet1: TSpTBXTabSheet;
    tbCredits: TSpTBXTabItem;
    SpTBXTabSheet2: TSpTBXTabSheet;
    tbLinks: TSpTBXTabItem;
    SpTBXTabSheet3: TSpTBXTabSheet;
    ScrollBox: TSpTBXPageScroller;
    Panel1: TPanel;
    ProgramIcon: TImage;
    Copyright: TLabel;
    Version: TLabel;
    ProductName: TLabel;
    Comments: TLabel;
    reLinks: TRichEdit;
    reCredits: TRichEdit;
    Panel2: TPanel;
    procedure Panel1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure reCreditsResizeRequest(Sender: TObject; Rect: TRect);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  AboutBox: TAboutBox;

implementation

uses
  Winapi.ShellAPI, Winapi.RichEdit, uCommonFunctions, JvJCLUtils, JvGnugettext;

{$R *.dfm}

resourcestring
  SAboutBoxCreditsIntro =
    'Special thanks to the many great developers who,'+
    'with their amazing work, have made PyScripter '+
    'possible. PyScripter makes use of the following '+
    'components and projects:';
  SAboutBoxCredits =
    'Python for Delphi (www.github.com/pyscripter/python4delphi)'+ SLineBreak +
    'Rpyc (www.github.com/tomerfiliba/rpyc)'+ SLineBreak +
    'JVCL (www.github.com/project-jedi/jvcl)'+ SLineBreak +
    'SynEdit (www.sourceforge.net/projects/synedit)'+ SLineBreak +
    'VirtualTreeView (www.github.com/Virtual-TreeView/)'+ SLineBreak +
    'VirtualShellTools (www.github.com/pyscripter/mustangpeakvirtualshelltools)'+ SLineBreak +
    'GExperts (www.gexperts.org)'+ SLineBreak +
    'Syn Editor (www.sourceforge.net/projects/syn)'+ SLineBreak +
    'Syn Web highlighters (www.github.com/KrystianBigaj/synweb)' + SLineBreak +
    'Toolbar2000 (www.jrsoftware.org/tb2k.php)'+ SLineBreak +
    'SpTBXLib(www.silverpointdevelopment.com)' + SLineBreak +
    'TCommandLineReader(www.benibela.de)'+ SLineBreak +
    'Silk icons(www.famfamfam.com)';

  SAboutBoxCreditsTranslationArabic  = 'Arabic: %s';
  SAboutBoxCreditsTranslationChinese = 'Chinese: %s';
  SAboutBoxCreditsTranslationFrench  = 'French: %s';
  SAboutBoxCreditsTranslationGerman  = 'German: %s';
  SAboutBoxCreditsTranslationGreek   = 'Greek: %s';
  SAboutBoxCreditsTranslationItalian = 'Italian: %s';
  SAboutBoxCreditsTranslationJapanese = 'Japanese: %s';
  SAboutBoxCreditsTranslationKabyle = 'Taqbaylit: %s';
  SAboutBoxCreditsTranslationPortugueseBR = 'Portuguese (Brazil): %s';
  SAboutBoxCreditsTranslationPortuguesePT = 'Portuguese (Portugal): %s';
  SAboutBoxCreditsTranslationRussian = 'Russian: %s';
  SAboutBoxCreditsTranslationSlovak  = 'Slovak: %s';
  SAboutBoxCreditsTranslationSpanish = 'Spanish: %s';

  SAboutBoxCreditsThemeDesign =
    '<NAME> (www.github.com/tanmayameher)'+ SLineBreak +
    'jprzywoski (www.github.com/jprzywoski)';

  SAboutBoxCreditsDonations =
    'Donations from numerous users have provided a strong incentive to develop this project.  ' +
    'Generous support from Tranquil IT (https://www.tranquil.it) makers of WAPT (apt-get for Windows) '+
    '(https://www.wapt.fr) is acknowledged.';

  SAboutBoxLinks =
    'The project home, Issue Tracker and source code repository are hosted at Github (www.github.com/pyscripter/pyscripter)'+
  SLineBreak+
    'Internet group support is available at https://groups.google.com/group/PyScripter'+
  SLineBreak +
    'Please submit bug reports and questions about PyScripter to <EMAIL>.';

const
  AURL_ENABLEURL = 1;
  AURL_ENABLEEAURLS = 8;

type
  // in alphabetical order of the full English languages names!!
  // not in order of the gettext abbreviations.
  ECreditLanguages = (ar,zh,fr,de,el,it,ja,kab,pt_BR,pt_PT,ru,sk,es);

const
  cAboutLanguages : array[ECreditLanguages] of string = (
    SAboutBoxCreditsTranslationArabic,
    SAboutBoxCreditsTranslationChinese,
    SAboutBoxCreditsTranslationFrench,
    SAboutBoxCreditsTranslationGerman,
    SAboutBoxCreditsTranslationGreek,
    SAboutBoxCreditsTranslationItalian,
    SAboutBoxCreditsTranslationJapanese,
    SAboutBoxCreditsTranslationKabyle,
    SAboutBoxCreditsTranslationPortugueseBR,
    SAboutBoxCreditsTranslationPortuguesePT,
    SAboutBoxCreditsTranslationRussian,
    SAboutBoxCreditsTranslationSlovak,
    SAboutBoxCreditsTranslationSpanish
  );
  cAboutTranslationManager = '<NAME>';
  cAboutTranslators : array[ECreditLanguages] of string = (
    '<NAME>, <NAME>',
    '"Love China"',
    'Groupe AmiensPython, Phil Prost',
    '<NAME>, <NAME>',
    '<NAME>',
    '<NAME>',
    'Tokibito',
    '<NAME>',
    '<NAME>',
    '<NAME>',
    '<NAME>, <NAME>, <NAME>',
    '<NAME>',
    '<NAME>, <NAME>, <NAME>'
  );

procedure TRichEdit.CreateWnd;
var<commit_msg>Added <NAME> in the credits for the french tranlation.<commit_after>﻿{-----------------------------------------------------------------------------
 Unit Name: dlgAboutPyScripter
 Author:    <NAME>
 Date:      09-Mar-2005
 Purpose:   PyScripter About box
 History:
-----------------------------------------------------------------------------}

unit dlgAboutPyScripter;

interface

uses
  Winapi.Windows, Winapi.Messages, SysUtils, Classes, Graphics, Forms, Controls,
  Buttons, ExtCtrls, dlgPyIDEBase, SpTBXControls, SpTBXItem, SpTBXTabs, TB2Item,
  SpTBXPageScroller, Vcl.StdCtrls, Vcl.ComCtrls;

type
  TRichEdit = class(Vcl.ComCtrls.TRichEdit)
  private
    procedure CNNotify(var Message: TWMNotify); message CN_NOTIFY;
  protected
    procedure CreateWnd; override;
  end;

  TAboutBox = class(TPyIDEDlgBase)
    SpTBXTabControl: TSpTBXTabControl;
    tbAbout: TSpTBXTabItem;
    SpTBXTabSheet1: TSpTBXTabSheet;
    tbCredits: TSpTBXTabItem;
    SpTBXTabSheet2: TSpTBXTabSheet;
    tbLinks: TSpTBXTabItem;
    SpTBXTabSheet3: TSpTBXTabSheet;
    ScrollBox: TSpTBXPageScroller;
    Panel1: TPanel;
    ProgramIcon: TImage;
    Copyright: TLabel;
    Version: TLabel;
    ProductName: TLabel;
    Comments: TLabel;
    reLinks: TRichEdit;
    reCredits: TRichEdit;
    Panel2: TPanel;
    procedure Panel1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure reCreditsResizeRequest(Sender: TObject; Rect: TRect);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  AboutBox: TAboutBox;

implementation

uses
  Winapi.ShellAPI, Winapi.RichEdit, uCommonFunctions, JvJCLUtils, JvGnugettext;

{$R *.dfm}

resourcestring
  SAboutBoxCreditsIntro =
    'Special thanks to the many great developers who,'+
    'with their amazing work, have made PyScripter '+
    'possible. PyScripter makes use of the following '+
    'components and projects:';
  SAboutBoxCredits =
    'Python for Delphi (www.github.com/pyscripter/python4delphi)'+ SLineBreak +
    'Rpyc (www.github.com/tomerfiliba/rpyc)'+ SLineBreak +
    'JVCL (www.github.com/project-jedi/jvcl)'+ SLineBreak +
    'SynEdit (www.sourceforge.net/projects/synedit)'+ SLineBreak +
    'VirtualTreeView (www.github.com/Virtual-TreeView/)'+ SLineBreak +
    'VirtualShellTools (www.github.com/pyscripter/mustangpeakvirtualshelltools)'+ SLineBreak +
    'GExperts (www.gexperts.org)'+ SLineBreak +
    'Syn Editor (www.sourceforge.net/projects/syn)'+ SLineBreak +
    'Syn Web highlighters (www.github.com/KrystianBigaj/synweb)' + SLineBreak +
    'Toolbar2000 (www.jrsoftware.org/tb2k.php)'+ SLineBreak +
    'SpTBXLib(www.silverpointdevelopment.com)' + SLineBreak +
    'TCommandLineReader(www.benibela.de)'+ SLineBreak +
    'Silk icons(www.famfamfam.com)';

  SAboutBoxCreditsTranslationArabic  = 'Arabic: %s';
  SAboutBoxCreditsTranslationChinese = 'Chinese: %s';
  SAboutBoxCreditsTranslationFrench  = 'French: %s';
  SAboutBoxCreditsTranslationGerman  = 'German: %s';
  SAboutBoxCreditsTranslationGreek   = 'Greek: %s';
  SAboutBoxCreditsTranslationItalian = 'Italian: %s';
  SAboutBoxCreditsTranslationJapanese = 'Japanese: %s';
  SAboutBoxCreditsTranslationKabyle = 'Taqbaylit: %s';
  SAboutBoxCreditsTranslationPortugueseBR = 'Portuguese (Brazil): %s';
  SAboutBoxCreditsTranslationPortuguesePT = 'Portuguese (Portugal): %s';
  SAboutBoxCreditsTranslationRussian = 'Russian: %s';
  SAboutBoxCreditsTranslationSlovak  = 'Slovak: %s';
  SAboutBoxCreditsTranslationSpanish = 'Spanish: %s';

  SAboutBoxCreditsThemeDesign =
    '<NAME> (www.github.com/tanmayameher)'+ SLineBreak +
    'jprzywoski (www.github.com/jprzywoski)';

  SAboutBoxCreditsDonations =
    'Donations from numerous users have provided a strong incentive to develop this project.  ' +
    'Generous support from Tranquil IT (https://www.tranquil.it) makers of WAPT (apt-get for Windows) '+
    '(https://www.wapt.fr) is acknowledged.';

  SAboutBoxLinks =
    'The project home, Issue Tracker and source code repository are hosted at Github (www.github.com/pyscripter/pyscripter)'+
  SLineBreak+
    'Internet group support is available at https://groups.google.com/group/PyScripter'+
  SLineBreak +
    'Please submit bug reports and questions about PyScripter to <EMAIL>.';

const
  AURL_ENABLEURL = 1;
  AURL_ENABLEEAURLS = 8;

type
  // in alphabetical order of the full English languages names!!
  // not in order of the gettext abbreviations.
  ECreditLanguages = (ar,zh,fr,de,el,it,ja,kab,pt_BR,pt_PT,ru,sk,es);

const
  cAboutLanguages : array[ECreditLanguages] of string = (
    SAboutBoxCreditsTranslationArabic,
    SAboutBoxCreditsTranslationChinese,
    SAboutBoxCreditsTranslationFrench,
    SAboutBoxCreditsTranslationGerman,
    SAboutBoxCreditsTranslationGreek,
    SAboutBoxCreditsTranslationItalian,
    SAboutBoxCreditsTranslationJapanese,
    SAboutBoxCreditsTranslationKabyle,
    SAboutBoxCreditsTranslationPortugueseBR,
    SAboutBoxCreditsTranslationPortuguesePT,
    SAboutBoxCreditsTranslationRussian,
    SAboutBoxCreditsTranslationSlovak,
    SAboutBoxCreditsTranslationSpanish
  );
  cAboutTranslationManager = '<NAME>';
  cAboutTranslators : array[ECreditLanguages] of string = (
    '<NAME>, <NAME>',
    '"Love China"',
    'Groupe AmiensPython, <NAME>, <NAME>',
    '<NAME>, <NAME>',
    '<NAME>',
    '<NAME>',
    'Tokibito',
    '<NAME>',
    '<NAME>',
    '<NAME>',
    '<NAME>, <NAME>, <NAME>',
    '<NAME>',
    '<NAME>, <NAME>, <NAME>'
  );

procedure TRichEdit.CreateWnd;
var
{'fraction_non_alphanumeric': 0.1307838008478398, 'fraction_numerical': 0.003788220438351222, 'mean_word_length': 3.976660682226212, 'pattern_counts': {'":': 0, '<': 46, '<?xml version=': 0, '>': 46, 'https://': 6, 'lorem ipsum': 0, 'www.': 36, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3685916', 'n_tokens_mistral': 3882, 'n_tokens_neox': 3753, 'n_words': 755}