mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-07 04:18:48 +02:00
PoChecker:
- refactor the graphical summary form * use TListView with TImageList - regenerate language files git-svn-id: trunk@46256 -
This commit is contained in:
parent
0813f5c4ce
commit
c78be04ea9
@ -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
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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 ""
|
||||
|
||||
|
@ -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 ""
|
||||
|
||||
|
@ -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 ""
|
||||
|
||||
|
@ -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 ""
|
||||
|
||||
|
@ -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 ""
|
||||
|
||||
|
@ -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 ""
|
||||
|
||||
|
@ -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 ""
|
||||
|
||||
|
@ -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 ""
|
||||
|
||||
|
@ -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 ""
|
||||
|
||||
|
@ -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 ""
|
||||
|
||||
|
@ -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 ""
|
||||
|
||||
|
@ -35,6 +35,9 @@ resourcestring
|
||||
|
||||
//Graphical summary form
|
||||
sGrapStatFormCaption = 'Graphical summary';
|
||||
sTranslated = 'Translated';
|
||||
sUntranslated = 'Untranslated';
|
||||
sFuzzy = 'Fuzzy';
|
||||
|
||||
//PoFamiles
|
||||
sOriginal = 'Original';
|
||||
|
Loading…
Reference in New Issue
Block a user