unit UMainForm;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
  ComCtrls, StdCtrls;

type

  { TForm1 }

  { TMainForm }

  TMainForm = class(TForm)
    Button1: TButton;
    ListView1: TListView;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ListView1DblClick(Sender: TObject);
  private
    procedure LoadTranslationList;
    { private declarations }
  public
    { public declarations }
  end; 

var
  MainForm: TMainForm;

implementation

uses
  UItemListForm;

{ TMainForm }

procedure TMainForm.ListView1DblClick(Sender: TObject);
begin
  if Assigned(ListView1.Selected) then begin
    if not FileExists(TranslationFolder + ItemListForm.RenameToLocale(ListView1.Selected.Caption)) then begin
      ForceDirectories(TranslationFolder + ExtractFileDir(ListView1.Selected.Caption));
      if FileExists(LazarusRepository + ListView1.Selected.Caption) then
        FileCopy(LazarusRepository + ListView1.Selected.Caption, TranslationFolder + ItemListForm.RenameToLocale(ListView1.Selected.Caption))
          else raise Exception.Create('Zdrojový soubor ' + LazarusRepository + ListView1.Selected.Caption + ' nenalezen!');
    end;
    ItemListForm.TranslationFile := TranslationFolder + ItemListForm.RenameToLocale(ListView1.Selected.Caption);
    ItemListForm.ShowModal;
  end;
end;

procedure TMainForm.FormCreate(Sender: TObject);
begin
  LoadTranslationList;
end;

procedure TMainForm.Button1Click(Sender: TObject);
var
  I: Integer;
begin
  for I := 0 to High(LanguageFiles) do begin
    ForceDirectories(TranslationFolder + ExtractFileDir(LanguageFiles[I]));
    ItemListForm.TranslationFile := LazarusRepository + LanguageFiles[I];
    ItemListForm.LoadListFromFile;
    ItemListForm.TranslationFile := TranslationFolder + ItemListForm.RenameToLocale(LanguageFiles[I]);
    ItemListForm.MergeListFromFile;
    ItemListForm.SaveListToFile;
  end;
end;

procedure TMainForm.LoadTranslationList;
var
  I: Integer;
  NewItem: TListItem;
begin
  ListView1.Items.Clear;
  for I := 0 to High(LanguageFiles) do begin
    NewItem := ListView1.Items.Add;
    NewItem.Caption := LanguageFiles[I]
  end;
end;

initialization
  {$I UMainForm.lrs}

end.

