From c78be04ea949bf6567634866e6e6bfbc3f0d8758 Mon Sep 17 00:00:00 2001 From: bart <9132501-flyingsheep@users.noreply.gitlab.com> Date: Fri, 19 Sep 2014 20:29:15 +0000 Subject: [PATCH] PoChecker: - refactor the graphical summary form * use TListView with TImageList - regenerate language files git-svn-id: trunk@46256 - --- components/pochecker/graphstat.lfm | 75 ++++- components/pochecker/graphstat.pp | 314 +++++++----------- .../pochecker/languages/pocheckerconsts.cs.po | 12 + .../pochecker/languages/pocheckerconsts.de.po | 16 +- .../pochecker/languages/pocheckerconsts.es.po | 12 + .../pochecker/languages/pocheckerconsts.hu.po | 12 + .../pochecker/languages/pocheckerconsts.it.po | 12 + .../pochecker/languages/pocheckerconsts.ja.po | 12 + .../pochecker/languages/pocheckerconsts.lt.po | 12 + .../pochecker/languages/pocheckerconsts.po | 12 + .../languages/pocheckerconsts.pt_BR.po | 12 + .../pochecker/languages/pocheckerconsts.ru.po | 12 + .../pochecker/languages/pocheckerconsts.uk.po | 12 + components/pochecker/pocheckerconsts.pas | 3 + 14 files changed, 323 insertions(+), 205 deletions(-) diff --git a/components/pochecker/graphstat.lfm b/components/pochecker/graphstat.lfm index a89b1f8c05..ac0f0cd305 100644 --- a/components/pochecker/graphstat.lfm +++ b/components/pochecker/graphstat.lfm @@ -3,22 +3,75 @@ object GraphStatForm: TGraphStatForm Height = 544 Top = 116 Width = 636 - HorzScrollBar.Page = 602 - HorzScrollBar.Range = 4000 - HorzScrollBar.Visible = False - VertScrollBar.Page = 510 - VertScrollBar.Range = 4000 - BorderStyle = bsDialog Caption = 'Graphical summary' ClientHeight = 544 - ClientWidth = 619 + ClientWidth = 636 OnCreate = FormCreate + OnDestroy = FormDestroy OnShow = FormShow LCLVersion = '1.3' - object Img: TImage + object LegendPanel: TPanel Left = 0 - Height = 4000 - Top = 0 - Width = 4000 + Height = 80 + Top = 464 + Width = 636 + Align = alBottom + ClientHeight = 80 + ClientWidth = 636 + TabOrder = 0 + object TranslatedShape: TShape + Left = 24 + Height = 16 + Top = 16 + Width = 65 + end + object UnTranslatedShape: TShape + Left = 24 + Height = 16 + Top = 35 + Width = 65 + end + object FuzzyShape: TShape + Left = 24 + Height = 16 + Top = 54 + Width = 65 + end + object TranslatedLabel: TLabel + Left = 104 + Height = 15 + Top = 17 + Width = 83 + Caption = 'TranslatedLabel' + ParentColor = False + end + object UnTranslatedLabel: TLabel + Left = 104 + Height = 15 + Top = 36 + Width = 98 + Caption = 'UnTranslatedLabel' + ParentColor = False + end + object FuzzyLabel: TLabel + Left = 104 + Height = 15 + Top = 55 + Width = 57 + Caption = 'FuzzyLabel' + ParentColor = False + end + end + object ListView: TListView + Left = 40 + Height = 150 + Top = 32 + Width = 250 + AutoSort = False + Columns = <> + ReadOnly = True + ScrollBars = ssAutoBoth + TabOrder = 1 + ViewStyle = vsIcon end end diff --git a/components/pochecker/graphstat.pp b/components/pochecker/graphstat.pp index 64afb01c1a..40cec971ed 100644 --- a/components/pochecker/graphstat.pp +++ b/components/pochecker/graphstat.pp @@ -6,28 +6,31 @@ interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls, - PoFamilies, PoCheckerConsts, Math, LCLProc; + PoFamilies, PoCheckerConsts, LCLProc, StdCtrls, ComCtrls; type { TGraphStatForm } TGraphStatForm = class(TForm) - Img: TImage; + ListView: TListView; + TranslatedLabel: TLabel; + UnTranslatedLabel: TLabel; + FuzzyLabel: TLabel; + LegendPanel: TPanel; + TranslatedShape: TShape; + UnTranslatedShape: TShape; + FuzzyShape: TShape; procedure FormCreate(Sender: TObject); + procedure FormDestroy(Sender: TObject); procedure FormShow(Sender: TObject); private { private declarations } - WidthPerStat: Integer; - HeightPerStat: Integer; - LegHeight: Integer; - SingleLegItemHeight: Integer; FPoFamilyStats: TPoFamilyStats; - procedure CalcBoundsRequiredPerStat(out AWidth, AHeight: Integer); - procedure PrepareDimensions; + FImgList: TImageList; + function CreateBitmap(AStat: TStat): TBitmap; + procedure AddToListView(AStat: TStat; ABmp: TBitmap); procedure DrawGraphs; - procedure DrawGraph(AStat: TStat; ARow, ACol: Integer); - procedure DrawLegenda; public { public declarations } property PoFamilyStats: TPoFamilyStats read FPoFamilyStats write FPoFamilyStats; @@ -40,213 +43,140 @@ implementation {$R *.lfm} -const - Radius = 30; - Cols = 4; - clBack = clWhite; - clPie = clForm; - clTrans = clGreen; - clUnTrans = clRed; - clFuzzy = clFuchsia; - clCircle = clBlack; - clTxt = clBlack; - LMargin = 10; - RMargin = 10; - TMargin = 10; - BMargin = 10; - TxtMargin = 5; - LegTMargin = 40; - LegBMargin = 10; - LegLMargin = LMargin; - LegBarHeight = 20; - LegBarWidth = 40; { TGraphStatForm } +const + Radius = 40; //when we have anti-aliasing we can reduce this + BmpWH = 2 * Radius; + clBackGround = clWhite; + clTranslated = clGreen; + clUnTranslated = clRed; + clFuzzy = clFuchsia; + + { + ListView + @designtime + AutoSort := False + ReadOnly := True + ScrollBars := ssAutoBoth + ViewStyle := vsIcon + + @runtime + Color := clBackGround + LargeImages := FImgList; + Align := alClient; + + } + + procedure TGraphStatForm.FormShow(Sender: TObject); begin - PrepareDimensions; DrawGraphs; - DrawLegenda; end; + procedure TGraphStatForm.FormCreate(Sender: TObject); begin Caption := sGrapStatFormCaption; + TranslatedLabel.Caption := sTranslated; + UntranslatedLabel.Caption := sUnTranslated; + FuzzyLabel.Caption := sFuzzy; + TranslatedShape.Brush.Color := clTranslated; + UnTranslatedShape.Brush.Color := clUntranslated; + FuzzyShape.Brush.Color := clFuzzy; + ListView.Color := clBackGround; + ListView.Align := alClient; end; -procedure TGraphStatForm.CalcBoundsRequiredPerStat(out AWidth, AHeight: Integer); -var - i, TW, TH, MaxTH: Integer; - Stat: TStat; +procedure TGraphStatForm.FormDestroy(Sender: TObject); begin - AWidth := 2 * Radius; - MaxTH := 0; - for i := 0 to FPoFamilyStats.Count - 1 do + if Assigned(FImgList) then FImgList.Free; +end; + +function TGraphStatForm.CreateBitmap(AStat: TStat): TBitmap; +const + FullCircle = 16 * 360; +var + Bmp: TBitmap; + Translated16Angle, UnTranslated16Angle, Fuzzy16Angle: Integer; + PieRect: TRect; +begin + Bmp := TBitmap.Create; + Bmp.SetSize(BmpWH,BmpWH); + PieRect := Rect(0,0,BmpWH, BmpWH); + with Bmp do begin - Stat := FPoFamilyStats.Items[i]; - TW := Img.Canvas.TextWidth(Stat.PoName); - TH := Img.Canvas.TextHeight(Stat.PoName); - if TW > AWidth then AWidth := TW; - if TH > MaxTH then MaxTH := TH; + //Draw background + Canvas.Brush.Color := clBackGround; + Canvas.FillRect(PieRect); + Canvas.Pen.Color := clBackGround; + //All angles in 16th of a degree + Translated16Angle := Round(AStat.FracTranslated * FullCircle); + UnTranslated16Angle := Round(AStat.FracUntranslated * FullCircle); + Fuzzy16Angle := Round(AStat.FracFuzzy * FullCircle); + + if Translated16Angle > 0 then + begin + Canvas.Brush.Color:= clTranslated; + if Translated16Angle = FullCircle then + Canvas.Ellipse(PieRect) + else + Canvas.RadialPie(PieRect.Left,PieRect.Top,PieRect.Right,PieRect.Bottom,0,Translated16Angle);; + end; + + if UnTranslated16Angle > 0 then + begin + Canvas.Brush.Color:= clUnTranslated; + if UnTranslated16Angle = FullCircle then + Canvas.Ellipse(PieRect) + else + Canvas.RadialPie(PieRect.Left,PieRect.Top,PieRect.Right,PieRect.Bottom,Translated16Angle,UnTranslated16Angle);; + end; + + if Fuzzy16Angle > 0 then + begin + Canvas.Brush.Color:= clFuzzy; + if Fuzzy16Angle = FullCircle then + Canvas.Ellipse(PieRect) + else + Canvas.RadialPie(PieRect.Left,PieRect.Top,PieRect.Right,PieRect.Bottom,Translated16Angle+UnTranslated16Angle,Fuzzy16Angle); + end; end; - //Add margins - AWidth := AWidth + LMargin + RMargin; //L+R - AHeight := TMargin + 2 * Radius + TxtMargin + MaxTH + BMargin; //Top+distance between text and graph+Bottom - //Debugln('TGraphStatForm.CalcBoundsRequiredPerStat: AWidth = ',DbgS(AWidth),' AHeight = ',DbgS(AHeight),' MaxTH = ',DbgS(MaxTH)); + Result := Bmp; end; -procedure TGraphStatForm.PrepareDimensions; +procedure TGraphStatForm.AddToListView(AStat: TStat; ABmp: TBitmap); var - Rows, IHeight: Integer; + ImgIndex: Integer; + ListItem: TListItem; begin - CalcBoundsRequiredPerStat(WidthPerStat, HeightPerStat); - Img.Width := Cols * WidthPerStat; - Rows := Ceil(PoFamilyStats.Count / Cols); - IHeight := HeightPerStat * Rows; - SingleLegItemHeight := Max(Img.Canvas.TextHeight('qWM'), LegBarHeight); - LegHeight := LegTMargin + TxtMargin + (3 * SingleLegItemHeight + TxtMargin) + LegBMargin; - IHeight := IHeight + LegHeight; - - ClientWidth := Img.Width; - Img.Height := IHeight; - Img.Height := IHeight; - //DebugLn('TGraphStatForm.FormShow: Img.Width -> ',DbgS(Img.Width), ' Canvas.Width = ',DbgS(Img.Canvas.Width)); - //DebugLn('TGraphStatForm.FormShow: Img.Height -> ',DbgS(Img.Height),' Canvas.Heigth = ',DbgS(Img.Canvas.Height)); - ClientHeight := Min(Screen.Height - 50, Img.Height); - VertScrollBar.Visible := (ClientHeight < Img.Height); - if Top + ClientHeight + 50 > Screen.Height then Top := 0; + ImgIndex := FImgList.AddMasked(ABmp, clBackGround); + ListItem := ListView.Items.Add; + ListItem.Caption := AStat.PoName; + ListItem.ImageIndex := ImgIndex; end; procedure TGraphStatForm.DrawGraphs; var - Index, ARow, ACol: Integer; + Bmp: TBitmap; + AStat: TStat; + Index: Integer; begin - //debugln('TGraphStatForm.DrawGraphs: FPoFamilyStats.Count = ',DbgS(FPoFamilyStats.Count)); - Img.Canvas.Brush.Color := clBack; - Img.Canvas.Clear; - Img.Canvas.FillRect(0,0,Img.Width,Img.Height); - for Index := 0 to FPoFamilyStats.Count - 1 do - begin - ARow := Index mod Cols; - ACol := Index div Cols; - DrawGraph(FPoFamilyStats.Items[Index], ARow, ACol); - end; -end; - -procedure TGraphStatForm.DrawGraph(AStat: TStat; ARow, ACol: Integer); -var - X,Y, TW: Integer; - Origo: TPoint; - OrigoCol, PixCol: TColor; -begin - //debugln('TGraphStatForm.DrawGraph: PoName = ',DbgS(AStat.PoName)); - Origo.X := (ARow * WidthPerStat) + (WidthPerStat div 2); - Origo.Y := (ACol * HeightPerStat) + Radius + TMargin; - //debugln('TGraphStatForm.DrawGraph: ARow = ',DbgS(ARow),' ACol = ',DbgS(ACol)); - //debugln('TGraphStatForm.DrawGraph: Origo.X = ',DbgS(Origo.X),' Origo.Y = ',DbgS(Origo.Y)); - - { - Img.Canvas.Pen.Color := clCircle; - Img.Canvas.Brush.Color := clPie; - Img.Canvas.EllipseC(Origo.X,Origo.Y,Radius,Radius); - } - - with Img do - begin - //First draw a circle - Canvas.Brush.Color := clPie; - Canvas.Pen.Color := clCircle; - Canvas.EllipseC(Origo.X,Origo.Y,Radius,Radius); - - //Draw the Translated section - Canvas.MoveTo(Origo); - Canvas.LineTo(Origo.X + Radius, Origo.Y); - Canvas.MoveTo(Origo); - - X := Origo.X + Round(Cos(AStat.FracTranslated * (2 * pi)) * Radius); - Y := Origo.Y - Round(Sin(AStat.FracTranslated * (2 * pi)) * Radius); - Canvas.LineTo(X, Y); - OrigoCol := Canvas.Pixels[Origo.X,Origo.Y]; - //Calculate a point inside the section - X := Origo.X + Round(Cos((AStat.FracTranslated/2) * (2 * pi)) * (Radius - 3)); - Y := Origo.Y - Round(Sin((AStat.FracTranslated/2) * (2 * pi)) * (Radius - 3)); - Canvas.Brush.Color := clTrans; - PixCol := Canvas.Pixels[X,Y]; - //Don't FloodFill if the section has no visible pixels on the screen - if (PixCol <> OrigoCol) then Canvas.FloodFill(X,Y,PixCol,fsSurface); - - - //Draw the UnTranslated section - Canvas.MoveTo(Origo); - X := Origo.X + Round(Cos((AStat.FracTranslated+AStat.FracUnTranslated) * 2 * pi) * Radius); - Y := Origo.Y - Round(Sin((AStat.FracTranslated+AStat.FracUnTranslated) * 2 * pi) * Radius); - Canvas.LineTo(X, Y); - //Calculate a point inside the section - X := Origo.X + Round(Cos((AStat.FracTranslated+AStat.FracUnTranslated/2) * (2 * pi)) * (Radius - 3)); - Y := Origo.Y - Round(Sin((AStat.FracTranslated+AStat.FracUnTranslated/2) * (2 * pi)) * (Radius - 3)); - Canvas.Brush.Color := clUnTrans; - PixCol := Canvas.Pixels[X,Y]; - //Don't FloodFill if the section has no visible pixels on the screen - if (PixCol <> OrigoCol) then Canvas.FloodFill(X,Y,PixCol,fsSurface); - - - //Draw the Fuzzy section - Canvas.MoveTo(Origo); - X := Origo.X + Round(Cos((AStat.FracTranslated+AStat.FracUnTranslated+AStat.FracFuzzy) * 2 * pi) * Radius); - Y := Origo.Y - Round(Sin((AStat.FracTranslated+AStat.FracUnTranslated+AStat.FracFuzzy) * 2 * pi) * Radius); - Canvas.LineTo(X, Y); - //Calculate a point inside the section - X := Origo.X + Round(Cos((AStat.FracTranslated+AStat.FracUnTranslated+AStat.FracFuzzy/2) * (2 * pi)) * (Radius - 3)); - Y := Origo.Y - Round(Sin((AStat.FracTranslated+AStat.FracUnTranslated+AStat.FracFuzzy/2) * (2 * pi)) * (Radius - 3)); - Canvas.Brush.Color := clFuzzy; - PixCol := Canvas.Pixels[X,Y]; - //Don't FloodFill if the section has no visible pixels on the screen - if (PixCol <> OrigoCol) then Canvas.FloodFill(X,Y,PixCol,fsSurface); - //Draw the text - TW := Canvas.TextWidth(AStat.PoName); - X := Origo.X - (TW div 2); - Y := Origo.Y + Radius + TxtMargin; - Canvas.Pen.Color := clTxt; - Canvas.Brush.Color := clBack; - Canvas.TextOut(X, Y, AStat.PoName); - end; - -end; - -procedure TGraphStatForm.DrawLegenda; -var - X, Y, LegTop, TH: Integer; -begin - LegTop := Img.Height - LegHeight; - //Debugln('TGraphStatForm.DrawLegenda: LegTop = ',DbgS(LegTop)); - with Img do - begin - TH := Canvas.TextHeight('qWM'); - X := LegLMargin; - Y := LegTop; - Canvas.Pen.Color := clTxt; - Canvas.MoveTo(LegLMargin, LegTop); - Canvas.LineTo(Img.Width - LegLMargin, LegTop); - Y := Y + TxtMargin; - - Canvas.Brush.Color := clTrans; - Canvas.FillRect(X,Y,X+LegBarWidth,Y+LegBarHeight); - Canvas.Brush.Color := clBack; - Canvas.TextOut(X + LegBarWidth + TxtMargin, Y + ((LegBarHeight - TH) div 2), 'Translated'); - - Y := Y + SingleLegItemHeight + TxtMargin; - Canvas.Brush.Color := clUnTrans; - Canvas.FillRect(X,Y,X+LegBarWidth,Y+LegBarHeight); - Canvas.Brush.Color := clBack; - Canvas.TextOut(X + LegBarWidth + TxtMargin, Y + ((LegBarHeight - TH) div 2), 'Untranslated'); - - - Y := Y + SingleLegItemHeight + TxtMargin; - Canvas.Brush.Color := clFuzzy; - Canvas.FillRect(X,Y,X+LegBarWidth,Y+LegBarHeight); - Canvas.Brush.Color := clBack; - Canvas.TextOut(X + LegBarWidth + TxtMargin, Y + ((LegBarHeight - TH) div 2), 'Fuzzy'); + if Assigned(FImgList) then FImgList.Free; + FImgList := TImageList.CreateSize(BmpWH, BmpWH); + ListView.LargeImages := FImgList; + ListView.BeginUpdate; + try + for Index := 0 to FPoFamilyStats.Count - 1 do + begin + AStat := FPoFamilyStats.Items[Index]; + Bmp := CreateBitmap(AStat); + AddToListView(AStat, Bmp); + Bmp.Free; + end; + finally + ListView.EndUpdate; end; end; diff --git a/components/pochecker/languages/pocheckerconsts.cs.po b/components/pochecker/languages/pocheckerconsts.cs.po index 038f367fc4..e594a056b3 100644 --- a/components/pochecker/languages/pocheckerconsts.cs.po +++ b/components/pochecker/languages/pocheckerconsts.cs.po @@ -99,6 +99,10 @@ msgstr "Chyby / varování nahlášené %s pro:" msgid "Find all translated po-files" msgstr "Najít všechny přeložené po soubory" +#: pocheckerconsts.sfuzzy +msgid "Fuzzy" +msgstr "" + #: pocheckerconsts.sgrapstatformcaption msgid "Graphical summary" msgstr "" @@ -244,6 +248,10 @@ msgstr "Nalezeno celkem %d chyb / varování." msgid "Total warnings found: %d" msgstr "Celkem nalezeno varování: %d" +#: pocheckerconsts.stranslated +msgid "Translated" +msgstr "" + #: pocheckerconsts.stranslation msgid "Translation" msgstr "Překlad" @@ -258,3 +266,7 @@ msgstr "Statistiky překladu pro:" msgid "&Unselect All" msgstr "" +#: pocheckerconsts.suntranslated +msgid "Untranslated" +msgstr "" + diff --git a/components/pochecker/languages/pocheckerconsts.de.po b/components/pochecker/languages/pocheckerconsts.de.po index 98c3ccaa34..f8d069591e 100644 --- a/components/pochecker/languages/pocheckerconsts.de.po +++ b/components/pochecker/languages/pocheckerconsts.de.po @@ -68,8 +68,7 @@ msgstr "[Zeile %d] %s" #: pocheckerconsts.sduplicateoriginals msgid "The (untranslated) value \"%s\" is used for more than 1 entry:" -msgstr "" -"Der (nicht übersetzte) Wert \"%s\" wird für mehr als 1 Eintrag verwendet:" +msgstr "Der (nicht übersetzte) Wert \"%s\" wird für mehr als 1 Eintrag verwendet:" #: pocheckerconsts.serroroncleanup msgid "" @@ -97,6 +96,10 @@ msgstr "Fehler / Warnungen gemeldet von %s für:" msgid "Find all translated po-files" msgstr "Alle übersetzten po-Dateien finden" +#: pocheckerconsts.sfuzzy +msgid "Fuzzy" +msgstr "" + #: pocheckerconsts.sgrapstatformcaption msgid "Graphical summary" msgstr "Graphischer Überblick" @@ -237,6 +240,10 @@ msgstr "Insgesamt %d Fehler gefunden" msgid "Total warnings found: %d" msgstr "Insgesamt %d Warnungen gefunden" +#: pocheckerconsts.stranslated +msgid "Translated" +msgstr "" + #: pocheckerconsts.stranslation msgid "Translation" msgstr "Übersetzung" @@ -249,3 +256,8 @@ msgstr "Übersetzungsstatistikpro Sprache:" #: pocheckerconsts.sunselectalltests msgid "&Unselect All" msgstr "Alle abwählen" + +#: pocheckerconsts.suntranslated +msgid "Untranslated" +msgstr "" + diff --git a/components/pochecker/languages/pocheckerconsts.es.po b/components/pochecker/languages/pocheckerconsts.es.po index 16300ecbca..c962f068e3 100644 --- a/components/pochecker/languages/pocheckerconsts.es.po +++ b/components/pochecker/languages/pocheckerconsts.es.po @@ -95,6 +95,10 @@ msgstr "Errores / advertencias reportadas por %s para:" msgid "Find all translated po-files" msgstr "Encontrar todos los archivos PO traducidos" +#: pocheckerconsts.sfuzzy +msgid "Fuzzy" +msgstr "" + #: pocheckerconsts.sgrapstatformcaption msgid "Graphical summary" msgstr "" @@ -235,6 +239,10 @@ msgstr "Total de errores / advertencias encontraron: %d" msgid "Total warnings found: %d" msgstr "Total de avisos encontrados: %d" +#: pocheckerconsts.stranslated +msgid "Translated" +msgstr "" + #: pocheckerconsts.stranslation msgid "Translation" msgstr "Traducción" @@ -247,3 +255,7 @@ msgstr "" msgid "&Unselect All" msgstr "" +#: pocheckerconsts.suntranslated +msgid "Untranslated" +msgstr "" + diff --git a/components/pochecker/languages/pocheckerconsts.hu.po b/components/pochecker/languages/pocheckerconsts.hu.po index b11c3698e3..7ab3965c30 100644 --- a/components/pochecker/languages/pocheckerconsts.hu.po +++ b/components/pochecker/languages/pocheckerconsts.hu.po @@ -97,6 +97,10 @@ msgstr "A(z) %s hibákat / figyelmeztetéseket jelzett ezzel kapcsolatban:" msgid "Find all translated po-files" msgstr "Az összes lefordított po-fájl megkeresése" +#: pocheckerconsts.sfuzzy +msgid "Fuzzy" +msgstr "" + #: pocheckerconsts.sgrapstatformcaption msgid "Graphical summary" msgstr "" @@ -240,6 +244,10 @@ msgstr "Összes hiba / figyelmeztetés: %d" msgid "Total warnings found: %d" msgstr "Összes figyelmeztetés: %d" +#: pocheckerconsts.stranslated +msgid "Translated" +msgstr "" + #: pocheckerconsts.stranslation msgid "Translation" msgstr "Fordítás" @@ -254,3 +262,7 @@ msgstr "Fordítási statisztika ehhez:" msgid "&Unselect All" msgstr "Kijelölések törlése" +#: pocheckerconsts.suntranslated +msgid "Untranslated" +msgstr "" + diff --git a/components/pochecker/languages/pocheckerconsts.it.po b/components/pochecker/languages/pocheckerconsts.it.po index d311840bff..f0e976ecd0 100644 --- a/components/pochecker/languages/pocheckerconsts.it.po +++ b/components/pochecker/languages/pocheckerconsts.it.po @@ -95,6 +95,10 @@ msgstr "Errori / avvertimenti riportati da %s per:" msgid "Find all translated po-files" msgstr "Trova tutti i file po tradotti" +#: pocheckerconsts.sfuzzy +msgid "Fuzzy" +msgstr "" + #: pocheckerconsts.sgrapstatformcaption msgid "Graphical summary" msgstr "" @@ -237,6 +241,10 @@ msgstr "Totale errori / avvertimenti: %d" msgid "Total warnings found: %d" msgstr "Totale avvertimenti: %d" +#: pocheckerconsts.stranslated +msgid "Translated" +msgstr "" + #: pocheckerconsts.stranslation msgid "Translation" msgstr "Traduzione" @@ -251,3 +259,7 @@ msgstr "Statistiche di traduzione per:" msgid "&Unselect All" msgstr "&Deseleziona tutto" +#: pocheckerconsts.suntranslated +msgid "Untranslated" +msgstr "" + diff --git a/components/pochecker/languages/pocheckerconsts.ja.po b/components/pochecker/languages/pocheckerconsts.ja.po index 4ebcd06f6c..b7b4436428 100644 --- a/components/pochecker/languages/pocheckerconsts.ja.po +++ b/components/pochecker/languages/pocheckerconsts.ja.po @@ -97,6 +97,10 @@ msgstr "以下のファイルに対する %s によるエラー/警告の結 msgid "Find all translated po-files" msgstr "翻訳されたすべての po ファイルを検査する" +#: pocheckerconsts.sfuzzy +msgid "Fuzzy" +msgstr "" + #: pocheckerconsts.sgrapstatformcaption msgid "Graphical summary" msgstr "" @@ -241,6 +245,10 @@ msgstr "エラー/警告の総数:%d" msgid "Total warnings found: %d" msgstr "警告の総数:%d" +#: pocheckerconsts.stranslated +msgid "Translated" +msgstr "" + #: pocheckerconsts.stranslation msgid "Translation" msgstr "訳文" @@ -255,3 +263,7 @@ msgstr "翻訳状況:" msgid "&Unselect All" msgstr "" +#: pocheckerconsts.suntranslated +msgid "Untranslated" +msgstr "" + diff --git a/components/pochecker/languages/pocheckerconsts.lt.po b/components/pochecker/languages/pocheckerconsts.lt.po index eed1d4399b..dba15aa77a 100644 --- a/components/pochecker/languages/pocheckerconsts.lt.po +++ b/components/pochecker/languages/pocheckerconsts.lt.po @@ -97,6 +97,10 @@ msgstr "%s praneštos klaidos/perspėjimai apie:" msgid "Find all translated po-files" msgstr "Rasti visus išverstus PO failus" +#: pocheckerconsts.sfuzzy +msgid "Fuzzy" +msgstr "" + #: pocheckerconsts.sgrapstatformcaption msgid "Graphical summary" msgstr "" @@ -235,6 +239,10 @@ msgstr "Viso rasta klaidų/perspėjimų: %d" msgid "Total warnings found: %d" msgstr "Viso rasta perspėjimų: %d" +#: pocheckerconsts.stranslated +msgid "Translated" +msgstr "" + #: pocheckerconsts.stranslation msgid "Translation" msgstr "Vertimas" @@ -247,3 +255,7 @@ msgstr "" msgid "&Unselect All" msgstr "" +#: pocheckerconsts.suntranslated +msgid "Untranslated" +msgstr "" + diff --git a/components/pochecker/languages/pocheckerconsts.po b/components/pochecker/languages/pocheckerconsts.po index 74a5f2466f..2cafd77ef8 100644 --- a/components/pochecker/languages/pocheckerconsts.po +++ b/components/pochecker/languages/pocheckerconsts.po @@ -78,6 +78,10 @@ msgstr "" msgid "Find all translated po-files" msgstr "" +#: pocheckerconsts.sfuzzy +msgid "Fuzzy" +msgstr "" + #: pocheckerconsts.sgrapstatformcaption msgid "Graphical summary" msgstr "" @@ -207,6 +211,10 @@ msgstr "" msgid "Total warnings found: %d" msgstr "" +#: pocheckerconsts.stranslated +msgid "Translated" +msgstr "" + #: pocheckerconsts.stranslation msgid "Translation" msgstr "" @@ -219,3 +227,7 @@ msgstr "" msgid "&Unselect All" msgstr "" +#: pocheckerconsts.suntranslated +msgid "Untranslated" +msgstr "" + diff --git a/components/pochecker/languages/pocheckerconsts.pt_BR.po b/components/pochecker/languages/pocheckerconsts.pt_BR.po index f45d14f346..91848ecd9a 100644 --- a/components/pochecker/languages/pocheckerconsts.pt_BR.po +++ b/components/pochecker/languages/pocheckerconsts.pt_BR.po @@ -96,6 +96,10 @@ msgstr "Erros / avisos reportados por %s para:" msgid "Find all translated po-files" msgstr "Localizar todos os arquivos po traduzidos" +#: pocheckerconsts.sfuzzy +msgid "Fuzzy" +msgstr "" + #: pocheckerconsts.sgrapstatformcaption msgid "Graphical summary" msgstr "" @@ -235,6 +239,10 @@ msgstr "Total de erros / avisos encontrados: %d" msgid "Total warnings found: %d" msgstr "Total de avisos encontrados: %d" +#: pocheckerconsts.stranslated +msgid "Translated" +msgstr "" + #: pocheckerconsts.stranslation msgid "Translation" msgstr "Tradução" @@ -247,3 +255,7 @@ msgstr "" msgid "&Unselect All" msgstr "" +#: pocheckerconsts.suntranslated +msgid "Untranslated" +msgstr "" + diff --git a/components/pochecker/languages/pocheckerconsts.ru.po b/components/pochecker/languages/pocheckerconsts.ru.po index 6d9110f2e0..035b111f7e 100644 --- a/components/pochecker/languages/pocheckerconsts.ru.po +++ b/components/pochecker/languages/pocheckerconsts.ru.po @@ -95,6 +95,10 @@ msgstr "Ошибки и предупреждения, найденные %s дл msgid "Find all translated po-files" msgstr "Найти все переведённые файлы PO" +#: pocheckerconsts.sfuzzy +msgid "Fuzzy" +msgstr "" + #: pocheckerconsts.sgrapstatformcaption msgid "Graphical summary" msgstr "" @@ -239,6 +243,10 @@ msgstr "Всего найдено ошибок: %d" msgid "Total warnings found: %d" msgstr "Всего найдено предупреждений: %d" +#: pocheckerconsts.stranslated +msgid "Translated" +msgstr "" + #: pocheckerconsts.stranslation msgid "Translation" msgstr "Перевод" @@ -254,3 +262,7 @@ msgstr "Статистика перевода для:" msgid "&Unselect All" msgstr "&Снять выбор" +#: pocheckerconsts.suntranslated +msgid "Untranslated" +msgstr "" + diff --git a/components/pochecker/languages/pocheckerconsts.uk.po b/components/pochecker/languages/pocheckerconsts.uk.po index 154cda9589..2f7d81c12a 100644 --- a/components/pochecker/languages/pocheckerconsts.uk.po +++ b/components/pochecker/languages/pocheckerconsts.uk.po @@ -94,6 +94,10 @@ msgstr "Помилки / попередження звітовані %s для:" msgid "Find all translated po-files" msgstr "Знайти всі перекладені po-файли" +#: pocheckerconsts.sfuzzy +msgid "Fuzzy" +msgstr "" + #: pocheckerconsts.sgrapstatformcaption msgid "Graphical summary" msgstr "" @@ -232,6 +236,10 @@ msgstr "Знайдено всього помилок / попереджень: % msgid "Total warnings found: %d" msgstr "Знайдено всього попереджень: %d" +#: pocheckerconsts.stranslated +msgid "Translated" +msgstr "" + #: pocheckerconsts.stranslation msgid "Translation" msgstr "Переклад" @@ -244,3 +252,7 @@ msgstr "" msgid "&Unselect All" msgstr "" +#: pocheckerconsts.suntranslated +msgid "Untranslated" +msgstr "" + diff --git a/components/pochecker/pocheckerconsts.pas b/components/pochecker/pocheckerconsts.pas index 7fe6e35755..fbd41f9b2b 100644 --- a/components/pochecker/pocheckerconsts.pas +++ b/components/pochecker/pocheckerconsts.pas @@ -35,6 +35,9 @@ resourcestring //Graphical summary form sGrapStatFormCaption = 'Graphical summary'; + sTranslated = 'Translated'; + sUntranslated = 'Untranslated'; + sFuzzy = 'Fuzzy'; //PoFamiles sOriginal = 'Original';