PoChecker:

- refactor the graphical summary form
  * use TListView with TImageList
- regenerate language files

git-svn-id: trunk@46256 -
This commit is contained in:
bart 2014-09-19 20:29:15 +00:00
parent 0813f5c4ce
commit c78be04ea9
14 changed files with 323 additions and 205 deletions

View File

@ -3,22 +3,75 @@ object GraphStatForm: TGraphStatForm
Height = 544 Height = 544
Top = 116 Top = 116
Width = 636 Width = 636
HorzScrollBar.Page = 602
HorzScrollBar.Range = 4000
HorzScrollBar.Visible = False
VertScrollBar.Page = 510
VertScrollBar.Range = 4000
BorderStyle = bsDialog
Caption = 'Graphical summary' Caption = 'Graphical summary'
ClientHeight = 544 ClientHeight = 544
ClientWidth = 619 ClientWidth = 636
OnCreate = FormCreate OnCreate = FormCreate
OnDestroy = FormDestroy
OnShow = FormShow OnShow = FormShow
LCLVersion = '1.3' LCLVersion = '1.3'
object Img: TImage object LegendPanel: TPanel
Left = 0 Left = 0
Height = 4000 Height = 80
Top = 0 Top = 464
Width = 4000 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
end end

View File

@ -6,28 +6,31 @@ interface
uses uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls, Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
PoFamilies, PoCheckerConsts, Math, LCLProc; PoFamilies, PoCheckerConsts, LCLProc, StdCtrls, ComCtrls;
type type
{ TGraphStatForm } { TGraphStatForm }
TGraphStatForm = class(TForm) 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 FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender: TObject); procedure FormShow(Sender: TObject);
private private
{ private declarations } { private declarations }
WidthPerStat: Integer;
HeightPerStat: Integer;
LegHeight: Integer;
SingleLegItemHeight: Integer;
FPoFamilyStats: TPoFamilyStats; FPoFamilyStats: TPoFamilyStats;
procedure CalcBoundsRequiredPerStat(out AWidth, AHeight: Integer); FImgList: TImageList;
procedure PrepareDimensions; function CreateBitmap(AStat: TStat): TBitmap;
procedure AddToListView(AStat: TStat; ABmp: TBitmap);
procedure DrawGraphs; procedure DrawGraphs;
procedure DrawGraph(AStat: TStat; ARow, ACol: Integer);
procedure DrawLegenda;
public public
{ public declarations } { public declarations }
property PoFamilyStats: TPoFamilyStats read FPoFamilyStats write FPoFamilyStats; property PoFamilyStats: TPoFamilyStats read FPoFamilyStats write FPoFamilyStats;
@ -40,213 +43,140 @@ implementation
{$R *.lfm} {$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 } { 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); procedure TGraphStatForm.FormShow(Sender: TObject);
begin begin
PrepareDimensions;
DrawGraphs; DrawGraphs;
DrawLegenda;
end; end;
procedure TGraphStatForm.FormCreate(Sender: TObject); procedure TGraphStatForm.FormCreate(Sender: TObject);
begin begin
Caption := sGrapStatFormCaption; 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; end;
procedure TGraphStatForm.CalcBoundsRequiredPerStat(out AWidth, AHeight: Integer); procedure TGraphStatForm.FormDestroy(Sender: TObject);
var
i, TW, TH, MaxTH: Integer;
Stat: TStat;
begin begin
AWidth := 2 * Radius; if Assigned(FImgList) then FImgList.Free;
MaxTH := 0; end;
for i := 0 to FPoFamilyStats.Count - 1 do
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 begin
Stat := FPoFamilyStats.Items[i]; //Draw background
TW := Img.Canvas.TextWidth(Stat.PoName); Canvas.Brush.Color := clBackGround;
TH := Img.Canvas.TextHeight(Stat.PoName); Canvas.FillRect(PieRect);
if TW > AWidth then AWidth := TW; Canvas.Pen.Color := clBackGround;
if TH > MaxTH then MaxTH := TH; //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; end;
//Add margins Result := Bmp;
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));
end; end;
procedure TGraphStatForm.PrepareDimensions; procedure TGraphStatForm.AddToListView(AStat: TStat; ABmp: TBitmap);
var var
Rows, IHeight: Integer; ImgIndex: Integer;
ListItem: TListItem;
begin begin
CalcBoundsRequiredPerStat(WidthPerStat, HeightPerStat); ImgIndex := FImgList.AddMasked(ABmp, clBackGround);
Img.Width := Cols * WidthPerStat; ListItem := ListView.Items.Add;
Rows := Ceil(PoFamilyStats.Count / Cols); ListItem.Caption := AStat.PoName;
IHeight := HeightPerStat * Rows; ListItem.ImageIndex := ImgIndex;
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;
end; end;
procedure TGraphStatForm.DrawGraphs; procedure TGraphStatForm.DrawGraphs;
var var
Index, ARow, ACol: Integer; Bmp: TBitmap;
AStat: TStat;
Index: Integer;
begin begin
//debugln('TGraphStatForm.DrawGraphs: FPoFamilyStats.Count = ',DbgS(FPoFamilyStats.Count)); if Assigned(FImgList) then FImgList.Free;
Img.Canvas.Brush.Color := clBack; FImgList := TImageList.CreateSize(BmpWH, BmpWH);
Img.Canvas.Clear; ListView.LargeImages := FImgList;
Img.Canvas.FillRect(0,0,Img.Width,Img.Height); ListView.BeginUpdate;
for Index := 0 to FPoFamilyStats.Count - 1 do try
begin for Index := 0 to FPoFamilyStats.Count - 1 do
ARow := Index mod Cols; begin
ACol := Index div Cols; AStat := FPoFamilyStats.Items[Index];
DrawGraph(FPoFamilyStats.Items[Index], ARow, ACol); Bmp := CreateBitmap(AStat);
end; AddToListView(AStat, Bmp);
end; Bmp.Free;
end;
procedure TGraphStatForm.DrawGraph(AStat: TStat; ARow, ACol: Integer); finally
var ListView.EndUpdate;
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');
end; end;
end; end;

View File

@ -99,6 +99,10 @@ msgstr "Chyby / varování nahlášené %s pro:"
msgid "Find all translated po-files" msgid "Find all translated po-files"
msgstr "Najít všechny přeložené po soubory" msgstr "Najít všechny přeložené po soubory"
#: pocheckerconsts.sfuzzy
msgid "Fuzzy"
msgstr ""
#: pocheckerconsts.sgrapstatformcaption #: pocheckerconsts.sgrapstatformcaption
msgid "Graphical summary" msgid "Graphical summary"
msgstr "" msgstr ""
@ -244,6 +248,10 @@ msgstr "Nalezeno celkem %d chyb / varování."
msgid "Total warnings found: %d" msgid "Total warnings found: %d"
msgstr "Celkem nalezeno varování: %d" msgstr "Celkem nalezeno varování: %d"
#: pocheckerconsts.stranslated
msgid "Translated"
msgstr ""
#: pocheckerconsts.stranslation #: pocheckerconsts.stranslation
msgid "Translation" msgid "Translation"
msgstr "Překlad" msgstr "Překlad"
@ -258,3 +266,7 @@ msgstr "Statistiky překladu pro:"
msgid "&Unselect All" msgid "&Unselect All"
msgstr "" msgstr ""
#: pocheckerconsts.suntranslated
msgid "Untranslated"
msgstr ""

View File

@ -68,8 +68,7 @@ msgstr "[Zeile %d] %s"
#: pocheckerconsts.sduplicateoriginals #: pocheckerconsts.sduplicateoriginals
msgid "The (untranslated) value \"%s\" is used for more than 1 entry:" msgid "The (untranslated) value \"%s\" is used for more than 1 entry:"
msgstr "" msgstr "Der (nicht übersetzte) Wert \"%s\" wird für mehr als 1 Eintrag verwendet:"
"Der (nicht übersetzte) Wert \"%s\" wird für mehr als 1 Eintrag verwendet:"
#: pocheckerconsts.serroroncleanup #: pocheckerconsts.serroroncleanup
msgid "" msgid ""
@ -97,6 +96,10 @@ msgstr "Fehler / Warnungen gemeldet von %s für:"
msgid "Find all translated po-files" msgid "Find all translated po-files"
msgstr "Alle übersetzten po-Dateien finden" msgstr "Alle übersetzten po-Dateien finden"
#: pocheckerconsts.sfuzzy
msgid "Fuzzy"
msgstr ""
#: pocheckerconsts.sgrapstatformcaption #: pocheckerconsts.sgrapstatformcaption
msgid "Graphical summary" msgid "Graphical summary"
msgstr "Graphischer Überblick" msgstr "Graphischer Überblick"
@ -237,6 +240,10 @@ msgstr "Insgesamt %d Fehler gefunden"
msgid "Total warnings found: %d" msgid "Total warnings found: %d"
msgstr "Insgesamt %d Warnungen gefunden" msgstr "Insgesamt %d Warnungen gefunden"
#: pocheckerconsts.stranslated
msgid "Translated"
msgstr ""
#: pocheckerconsts.stranslation #: pocheckerconsts.stranslation
msgid "Translation" msgid "Translation"
msgstr "Übersetzung" msgstr "Übersetzung"
@ -249,3 +256,8 @@ msgstr "Übersetzungsstatistikpro Sprache:"
#: pocheckerconsts.sunselectalltests #: pocheckerconsts.sunselectalltests
msgid "&Unselect All" msgid "&Unselect All"
msgstr "Alle abwählen" msgstr "Alle abwählen"
#: pocheckerconsts.suntranslated
msgid "Untranslated"
msgstr ""

View File

@ -95,6 +95,10 @@ msgstr "Errores / advertencias reportadas por %s para:"
msgid "Find all translated po-files" msgid "Find all translated po-files"
msgstr "Encontrar todos los archivos PO traducidos" msgstr "Encontrar todos los archivos PO traducidos"
#: pocheckerconsts.sfuzzy
msgid "Fuzzy"
msgstr ""
#: pocheckerconsts.sgrapstatformcaption #: pocheckerconsts.sgrapstatformcaption
msgid "Graphical summary" msgid "Graphical summary"
msgstr "" msgstr ""
@ -235,6 +239,10 @@ msgstr "Total de errores / advertencias encontraron: %d"
msgid "Total warnings found: %d" msgid "Total warnings found: %d"
msgstr "Total de avisos encontrados: %d" msgstr "Total de avisos encontrados: %d"
#: pocheckerconsts.stranslated
msgid "Translated"
msgstr ""
#: pocheckerconsts.stranslation #: pocheckerconsts.stranslation
msgid "Translation" msgid "Translation"
msgstr "Traducción" msgstr "Traducción"
@ -247,3 +255,7 @@ msgstr ""
msgid "&Unselect All" msgid "&Unselect All"
msgstr "" msgstr ""
#: pocheckerconsts.suntranslated
msgid "Untranslated"
msgstr ""

View File

@ -97,6 +97,10 @@ msgstr "A(z) %s hibákat / figyelmeztetéseket jelzett ezzel kapcsolatban:"
msgid "Find all translated po-files" msgid "Find all translated po-files"
msgstr "Az összes lefordított po-fájl megkeresése" msgstr "Az összes lefordított po-fájl megkeresése"
#: pocheckerconsts.sfuzzy
msgid "Fuzzy"
msgstr ""
#: pocheckerconsts.sgrapstatformcaption #: pocheckerconsts.sgrapstatformcaption
msgid "Graphical summary" msgid "Graphical summary"
msgstr "" msgstr ""
@ -240,6 +244,10 @@ msgstr "Összes hiba / figyelmeztetés: %d"
msgid "Total warnings found: %d" msgid "Total warnings found: %d"
msgstr "Összes figyelmeztetés: %d" msgstr "Összes figyelmeztetés: %d"
#: pocheckerconsts.stranslated
msgid "Translated"
msgstr ""
#: pocheckerconsts.stranslation #: pocheckerconsts.stranslation
msgid "Translation" msgid "Translation"
msgstr "Fordítás" msgstr "Fordítás"
@ -254,3 +262,7 @@ msgstr "Fordítási statisztika ehhez:"
msgid "&Unselect All" msgid "&Unselect All"
msgstr "Kijelölések törlése" msgstr "Kijelölések törlése"
#: pocheckerconsts.suntranslated
msgid "Untranslated"
msgstr ""

View File

@ -95,6 +95,10 @@ msgstr "Errori / avvertimenti riportati da %s per:"
msgid "Find all translated po-files" msgid "Find all translated po-files"
msgstr "Trova tutti i file po tradotti" msgstr "Trova tutti i file po tradotti"
#: pocheckerconsts.sfuzzy
msgid "Fuzzy"
msgstr ""
#: pocheckerconsts.sgrapstatformcaption #: pocheckerconsts.sgrapstatformcaption
msgid "Graphical summary" msgid "Graphical summary"
msgstr "" msgstr ""
@ -237,6 +241,10 @@ msgstr "Totale errori / avvertimenti: %d"
msgid "Total warnings found: %d" msgid "Total warnings found: %d"
msgstr "Totale avvertimenti: %d" msgstr "Totale avvertimenti: %d"
#: pocheckerconsts.stranslated
msgid "Translated"
msgstr ""
#: pocheckerconsts.stranslation #: pocheckerconsts.stranslation
msgid "Translation" msgid "Translation"
msgstr "Traduzione" msgstr "Traduzione"
@ -251,3 +259,7 @@ msgstr "Statistiche di traduzione per:"
msgid "&Unselect All" msgid "&Unselect All"
msgstr "&Deseleziona tutto" msgstr "&Deseleziona tutto"
#: pocheckerconsts.suntranslated
msgid "Untranslated"
msgstr ""

View File

@ -97,6 +97,10 @@ msgstr "以下のファイルに対する %s によるエラー/警告の結
msgid "Find all translated po-files" msgid "Find all translated po-files"
msgstr "翻訳されたすべての po ファイルを検査する" msgstr "翻訳されたすべての po ファイルを検査する"
#: pocheckerconsts.sfuzzy
msgid "Fuzzy"
msgstr ""
#: pocheckerconsts.sgrapstatformcaption #: pocheckerconsts.sgrapstatformcaption
msgid "Graphical summary" msgid "Graphical summary"
msgstr "" msgstr ""
@ -241,6 +245,10 @@ msgstr "エラー/警告の総数:%d"
msgid "Total warnings found: %d" msgid "Total warnings found: %d"
msgstr "警告の総数:%d" msgstr "警告の総数:%d"
#: pocheckerconsts.stranslated
msgid "Translated"
msgstr ""
#: pocheckerconsts.stranslation #: pocheckerconsts.stranslation
msgid "Translation" msgid "Translation"
msgstr "訳文" msgstr "訳文"
@ -255,3 +263,7 @@ msgstr "翻訳状況:"
msgid "&Unselect All" msgid "&Unselect All"
msgstr "" msgstr ""
#: pocheckerconsts.suntranslated
msgid "Untranslated"
msgstr ""

View File

@ -97,6 +97,10 @@ msgstr "%s praneštos klaidos/perspėjimai apie:"
msgid "Find all translated po-files" msgid "Find all translated po-files"
msgstr "Rasti visus išverstus PO failus" msgstr "Rasti visus išverstus PO failus"
#: pocheckerconsts.sfuzzy
msgid "Fuzzy"
msgstr ""
#: pocheckerconsts.sgrapstatformcaption #: pocheckerconsts.sgrapstatformcaption
msgid "Graphical summary" msgid "Graphical summary"
msgstr "" msgstr ""
@ -235,6 +239,10 @@ msgstr "Viso rasta klaidų/perspėjimų: %d"
msgid "Total warnings found: %d" msgid "Total warnings found: %d"
msgstr "Viso rasta perspėjimų: %d" msgstr "Viso rasta perspėjimų: %d"
#: pocheckerconsts.stranslated
msgid "Translated"
msgstr ""
#: pocheckerconsts.stranslation #: pocheckerconsts.stranslation
msgid "Translation" msgid "Translation"
msgstr "Vertimas" msgstr "Vertimas"
@ -247,3 +255,7 @@ msgstr ""
msgid "&Unselect All" msgid "&Unselect All"
msgstr "" msgstr ""
#: pocheckerconsts.suntranslated
msgid "Untranslated"
msgstr ""

View File

@ -78,6 +78,10 @@ msgstr ""
msgid "Find all translated po-files" msgid "Find all translated po-files"
msgstr "" msgstr ""
#: pocheckerconsts.sfuzzy
msgid "Fuzzy"
msgstr ""
#: pocheckerconsts.sgrapstatformcaption #: pocheckerconsts.sgrapstatformcaption
msgid "Graphical summary" msgid "Graphical summary"
msgstr "" msgstr ""
@ -207,6 +211,10 @@ msgstr ""
msgid "Total warnings found: %d" msgid "Total warnings found: %d"
msgstr "" msgstr ""
#: pocheckerconsts.stranslated
msgid "Translated"
msgstr ""
#: pocheckerconsts.stranslation #: pocheckerconsts.stranslation
msgid "Translation" msgid "Translation"
msgstr "" msgstr ""
@ -219,3 +227,7 @@ msgstr ""
msgid "&Unselect All" msgid "&Unselect All"
msgstr "" msgstr ""
#: pocheckerconsts.suntranslated
msgid "Untranslated"
msgstr ""

View File

@ -96,6 +96,10 @@ msgstr "Erros / avisos reportados por %s para:"
msgid "Find all translated po-files" msgid "Find all translated po-files"
msgstr "Localizar todos os arquivos po traduzidos" msgstr "Localizar todos os arquivos po traduzidos"
#: pocheckerconsts.sfuzzy
msgid "Fuzzy"
msgstr ""
#: pocheckerconsts.sgrapstatformcaption #: pocheckerconsts.sgrapstatformcaption
msgid "Graphical summary" msgid "Graphical summary"
msgstr "" msgstr ""
@ -235,6 +239,10 @@ msgstr "Total de erros / avisos encontrados: %d"
msgid "Total warnings found: %d" msgid "Total warnings found: %d"
msgstr "Total de avisos encontrados: %d" msgstr "Total de avisos encontrados: %d"
#: pocheckerconsts.stranslated
msgid "Translated"
msgstr ""
#: pocheckerconsts.stranslation #: pocheckerconsts.stranslation
msgid "Translation" msgid "Translation"
msgstr "Tradução" msgstr "Tradução"
@ -247,3 +255,7 @@ msgstr ""
msgid "&Unselect All" msgid "&Unselect All"
msgstr "" msgstr ""
#: pocheckerconsts.suntranslated
msgid "Untranslated"
msgstr ""

View File

@ -95,6 +95,10 @@ msgstr "Ошибки и предупреждения, найденные %s дл
msgid "Find all translated po-files" msgid "Find all translated po-files"
msgstr "Найти все переведённые файлы PO" msgstr "Найти все переведённые файлы PO"
#: pocheckerconsts.sfuzzy
msgid "Fuzzy"
msgstr ""
#: pocheckerconsts.sgrapstatformcaption #: pocheckerconsts.sgrapstatformcaption
msgid "Graphical summary" msgid "Graphical summary"
msgstr "" msgstr ""
@ -239,6 +243,10 @@ msgstr "Всего найдено ошибок: %d"
msgid "Total warnings found: %d" msgid "Total warnings found: %d"
msgstr "Всего найдено предупреждений: %d" msgstr "Всего найдено предупреждений: %d"
#: pocheckerconsts.stranslated
msgid "Translated"
msgstr ""
#: pocheckerconsts.stranslation #: pocheckerconsts.stranslation
msgid "Translation" msgid "Translation"
msgstr "Перевод" msgstr "Перевод"
@ -254,3 +262,7 @@ msgstr "Статистика перевода для:"
msgid "&Unselect All" msgid "&Unselect All"
msgstr "&Снять выбор" msgstr "&Снять выбор"
#: pocheckerconsts.suntranslated
msgid "Untranslated"
msgstr ""

View File

@ -94,6 +94,10 @@ msgstr "Помилки / попередження звітовані %s для:"
msgid "Find all translated po-files" msgid "Find all translated po-files"
msgstr "Знайти всі перекладені po-файли" msgstr "Знайти всі перекладені po-файли"
#: pocheckerconsts.sfuzzy
msgid "Fuzzy"
msgstr ""
#: pocheckerconsts.sgrapstatformcaption #: pocheckerconsts.sgrapstatformcaption
msgid "Graphical summary" msgid "Graphical summary"
msgstr "" msgstr ""
@ -232,6 +236,10 @@ msgstr "Знайдено всього помилок / попереджень: %
msgid "Total warnings found: %d" msgid "Total warnings found: %d"
msgstr "Знайдено всього попереджень: %d" msgstr "Знайдено всього попереджень: %d"
#: pocheckerconsts.stranslated
msgid "Translated"
msgstr ""
#: pocheckerconsts.stranslation #: pocheckerconsts.stranslation
msgid "Translation" msgid "Translation"
msgstr "Переклад" msgstr "Переклад"
@ -244,3 +252,7 @@ msgstr ""
msgid "&Unselect All" msgid "&Unselect All"
msgstr "" msgstr ""
#: pocheckerconsts.suntranslated
msgid "Untranslated"
msgstr ""

View File

@ -35,6 +35,9 @@ resourcestring
//Graphical summary form //Graphical summary form
sGrapStatFormCaption = 'Graphical summary'; sGrapStatFormCaption = 'Graphical summary';
sTranslated = 'Translated';
sUntranslated = 'Untranslated';
sFuzzy = 'Fuzzy';
//PoFamiles //PoFamiles
sOriginal = 'Original'; sOriginal = 'Original';