PoChecker:

- add error indicator to graphical summary: patch by Giuliano Colla
- regenerate language files

git-svn-id: trunk@46376 -
This commit is contained in:
bart 2014-09-30 18:46:46 +00:00
parent 2e85f426f7
commit 4b72c4b67c
14 changed files with 51 additions and 12 deletions

View File

@ -99,7 +99,7 @@ begin
AStat := FPoFamilyStats.Items[Index];
ListView.Hint := Format(sStatHint,[AStat.NrTranslated, AStat.PercTranslated,
AStat.NrUnTranslated, AStat.PercUnTranslated,
AStat.NrFuzzy, AStat.PercFuzzy]);
AStat.NrFuzzy, AStat.PercFuzzy, AStat.NrErrors]);
end
else
begin
@ -174,10 +174,12 @@ end;
function TGraphStatForm.CreateBitmap(AStat: TStat): TBitmap;
const
FullCircle = 16 * 360;
QMark = ' ? ';
var
Bmp: TBitmap;
Translated16Angle, UnTranslated16Angle, Fuzzy16Angle: Integer;
PieRect: TRect;
TextSize: TSize;
begin
Bmp := TBitmap.Create;
Bmp.SetSize(BmpWH,BmpWH);
@ -220,6 +222,17 @@ begin
else
Canvas.RadialPie(PieRect.Left,PieRect.Top,PieRect.Right,PieRect.Bottom,Translated16Angle+UnTranslated16Angle,Fuzzy16Angle);
end;
if AStat.NrErrors <> 0 then begin
Bmp.Canvas.Font := Font;
Canvas.Font.Size := BmpWH div 6;
Canvas.Font.Style:= [fsBold];
Canvas.Font.Color:= clRed;
TextSize := Bmp.Canvas.TextExtent(QMark);
Canvas.Brush.Color:= clBlack;
Canvas.Rectangle(0,PieRect.Bottom-TextSize.cy-4,TextSize.cx+4,PieRect.Bottom);
Canvas.Brush.Color:= clYellow;
Canvas.TextOut(2,PieRect.Bottom-TextSize.cy-2,QMark);
end;
end;
Result := Bmp;
end;

View File

@ -251,6 +251,7 @@ msgid ""
"%3d Translated (%3.1f%%)\n"
"%3d UnTranslated (%3.1f%%)\n"
"%3d Fuzzy (%3.1f%%)\n"
"%d Error(s) in Selected Tests\n"
msgstr ""
#: pocheckerconsts.stotalerrors

View File

@ -251,10 +251,14 @@ msgstr "Zeige Statistik-Graphik"
#| "%3d Translated (%3.1f%%)\n"
#| "%3d UnTranslated (%3.1f%%)\n"
#| "%3d Fuzzy (%3.1f%%)\n"
#| "%3d Translated (%3.1f%%)\n"
#| "%3d UnTranslated (%3.1f%%)\n"
#| "%3d Fuzzy (%3.1f%%)\n"
msgid ""
"%3d Translated (%3.1f%%)\n"
"%3d UnTranslated (%3.1f%%)\n"
"%3d Fuzzy (%3.1f%%)\n"
"%d Error(s) in Selected Tests\n"
msgstr ""
"%3d übersetzt (%3.1f%%)\n"
"%3d nicht übersetzt (%3.1f%%)\n"

View File

@ -242,6 +242,7 @@ msgid ""
"%3d Translated (%3.1f%%)\n"
"%3d UnTranslated (%3.1f%%)\n"
"%3d Fuzzy (%3.1f%%)\n"
"%d Error(s) in Selected Tests\n"
msgstr ""
#: pocheckerconsts.stotalerrors

View File

@ -247,6 +247,7 @@ msgid ""
"%3d Translated (%3.1f%%)\n"
"%3d UnTranslated (%3.1f%%)\n"
"%3d Fuzzy (%3.1f%%)\n"
"%d Error(s) in Selected Tests\n"
msgstr ""
#: pocheckerconsts.stotalerrors

View File

@ -244,6 +244,7 @@ msgid ""
"%3d Translated (%3.1f%%)\n"
"%3d UnTranslated (%3.1f%%)\n"
"%3d Fuzzy (%3.1f%%)\n"
"%d Error(s) in Selected Tests\n"
msgstr ""
#: pocheckerconsts.stotalerrors

View File

@ -248,6 +248,7 @@ msgid ""
"%3d Translated (%3.1f%%)\n"
"%3d UnTranslated (%3.1f%%)\n"
"%3d Fuzzy (%3.1f%%)\n"
"%d Error(s) in Selected Tests\n"
msgstr ""
#: pocheckerconsts.stotalerrors

View File

@ -242,6 +242,7 @@ msgid ""
"%3d Translated (%3.1f%%)\n"
"%3d UnTranslated (%3.1f%%)\n"
"%3d Fuzzy (%3.1f%%)\n"
"%d Error(s) in Selected Tests\n"
msgstr ""
#: pocheckerconsts.stotalerrors

View File

@ -216,6 +216,7 @@ msgid ""
"%3d Translated (%3.1f%%)\n"
"%3d UnTranslated (%3.1f%%)\n"
"%3d Fuzzy (%3.1f%%)\n"
"%d Error(s) in Selected Tests\n"
msgstr ""
#: pocheckerconsts.stotalerrors

View File

@ -242,6 +242,7 @@ msgid ""
"%3d Translated (%3.1f%%)\n"
"%3d UnTranslated (%3.1f%%)\n"
"%3d Fuzzy (%3.1f%%)\n"
"%d Error(s) in Selected Tests\n"
msgstr ""
#: pocheckerconsts.stotalerrors

View File

@ -254,10 +254,14 @@ msgstr "Показать графическую сводку"
#| "%3d Translated (%3.1f%%)\n"
#| "%3d UnTranslated (%3.1f%%)\n"
#| "%3d Fuzzy (%3.1f%%)\n"
#| "%3d Translated (%3.1f%%)\n"
#| "%3d UnTranslated (%3.1f%%)\n"
#| "%3d Fuzzy (%3.1f%%)\n"
msgid ""
"%3d Translated (%3.1f%%)\n"
"%3d UnTranslated (%3.1f%%)\n"
"%3d Fuzzy (%3.1f%%)\n"
"%d Error(s) in Selected Tests\n"
msgstr ""
"%3.1f%% переведённых строк\n"
"%3.1f%% непереведённых строк\n"

View File

@ -239,6 +239,7 @@ msgid ""
"%3d Translated (%3.1f%%)\n"
"%3d UnTranslated (%3.1f%%)\n"
"%3d Fuzzy (%3.1f%%)\n"
"%d Error(s) in Selected Tests\n"
msgstr ""
#: pocheckerconsts.stotalerrors

View File

@ -42,7 +42,8 @@ resourcestring
sFuzzy = 'Fuzzy';
sStatHint = '%3d Translated (%3.1f%%)' + LineEnding +
'%3d UnTranslated (%3.1f%%)' + LineEnding +
'%3d Fuzzy (%3.1f%%)';
'%3d Fuzzy (%3.1f%%)' + LineEnding +
'%d Error(s) in Selected Tests';
sOpenFile = 'Open file %s in Ide Editor?';
SOpenFail = 'Unable to open file %s';

View File

@ -68,7 +68,7 @@ Type
procedure CheckMissingIdentifiers(out ErrorCount: Integer; ErrorLog: TStrings);
procedure CheckMismatchedOriginals(out ErrorCount: Integer; ErrorLog: TStrings);
procedure CheckDuplicateOriginals(out WarningCount: Integer; ErrorLog: TStrings);
procedure CheckStatistics;
procedure CheckStatistics(ErrorCnt: Integer);
public
procedure RunTests(const TestTypes: TPoTestTypes; const TestOptions: TPoTestOptions;
@ -96,14 +96,16 @@ Type
FNrTranslated: Integer;
FNrUnTranslated: Integer;
FNrFuzzy: Integer;
FNrErrors: Integer;
public
constructor Create(APoName: String; ANrTotal, ANrTranslated, ANrUntranslated, ANrFuzzy: Integer);
constructor Create(APoName: String; ANrTotal, ANrTranslated, ANrUntranslated, ANrFuzzy, ANrErrors: Integer);
function ShortPoName: String;
property PoName: string read FPoName;
property NrTotal: Integer read FNrTotal;
property NrTranslated: Integer read FNrTranslated;
property NrUnTranslated: Integer read FNrUnTranslated;
property NrFuzzy: Integer read FNrFuzzy;
property NrErrors: Integer read FNrErrors;
function PercTranslated: Double; inline;
function PercUnTranslated: Double; inline;
function PercFuzzy: Double; inline;
@ -119,7 +121,7 @@ Type
function GetItems(Index: Integer): TStat;
public
procedure Clear;
procedure Add(AName: String; ANrTotal, ANrTranslated, ANrUnTranslated, ANrFuzzy: Integer);
procedure Add(AName: String; ANrTotal, ANrTranslated, ANrUnTranslated, ANrFuzzy, ANrErrors: Integer);
constructor Create;
destructor Destroy; override;
procedure AddStatisticsToLog(ALog: TStrings);
@ -320,13 +322,14 @@ end;
{ TStat }
constructor TStat.Create(APoName: String; ANrTotal, ANrTranslated, ANrUntranslated, ANrFuzzy: Integer);
constructor TStat.Create(APoName: String; ANrTotal, ANrTranslated, ANrUntranslated, ANrFuzzy, ANrErrors: Integer);
begin
FPoName := APoName;
FNrTotal := ANrTotal;
FNrTranslated := ANrTranslated;
FNrUntranslated := ANrUntranslated;
FNrFuzzy := ANrFuzzy;
FNrErrors := ANrErrors;
end;
function TStat.ShortPoName: String;
@ -381,9 +384,9 @@ begin
FList.Clear;
end;
procedure TPoFamilyStats.Add(AName: String; ANrTotal, ANrTranslated, ANrUnTranslated, ANrFuzzy: Integer);
procedure TPoFamilyStats.Add(AName: String; ANrTotal, ANrTranslated, ANrUnTranslated, ANrFuzzy, ANrErrors: Integer);
begin
FList.Add(TStat.Create(AName, ANrTotal, ANrTranslated, ANrUntranslated, ANrFuzzy));
FList.Add(TStat.Create(AName, ANrTotal, ANrTranslated, ANrUntranslated, ANrFuzzy, ANrErrors));
end;
constructor TPoFamilyStats.Create;
@ -758,7 +761,7 @@ begin
//debugln('TPoFamily.CheckDuplicateOriginals: ',Dbgs(WarningCount),' Errors');
end;
procedure TPoFamily.CheckStatistics;
procedure TPoFamily.CheckStatistics(ErrorCnt: Integer);
var
i: Integer;
CPoItem: TPOFileItem;
@ -791,7 +794,7 @@ begin
NrTotal := NrTranslated + NrUntranslated + NrFuzzy;
if (NrTotal > 0) then
begin
FPoFamilyStats.Add(ChildName, NrTotal, NrTranslated, NrUntranslated, NrFuzzy);
FPoFamilyStats.Add(ChildName, NrTotal, NrTranslated, NrUntranslated, NrFuzzy, ErrorCnt);
end;
DoTestEnd(PoTestTypeNames[pttCheckFormatArgs], 0);
//debugln('TPoFamily.CheckIncompatibleFormatArgs: ',Dbgs(ErrorCount),' Errors');
@ -807,7 +810,7 @@ procedure TPoFamily.RunTests(const TestTypes: TPoTestTypes; const TestOptions:
out ErrorCount, WarningCount: Integer; ErrorLog: TStrings);
var
SL: TStringList;
CurrErrCnt, CurrWarnCnt: Integer;
CurrErrCnt, CurrWarnCnt, ThisErrCnt: Integer;
i: Integer;
CurrChildName: String;
S: String;
@ -897,6 +900,7 @@ begin
//then iterate all Children
for i := 0 to SL.Count - 1 do
begin
ThisErrCnt:= 0;
CurrChildName := SL.Strings[i];
//debugln('TPoFamily.RunTests: setting ChildName to ',CurrChildName);
SetChildName(CurrChildName);
@ -905,12 +909,14 @@ begin
begin
CheckNrOfItems(CurrErrCnt, ErrorLog);
ErrorCount := CurrErrCnt + ErrorCount;
ThisErrCnt := ThisErrCnt + CurrErrCnt;
end;
if (pttCheckFormatArgs in TestTypes) then
begin
CheckFormatArgs(CurrErrCnt, ErrorLog, (ptoIgnoreFuzzyStrings in TestOptions));
ErrorCount := CurrErrCnt + ErrorCount;
ThisErrCnt := ThisErrCnt + CurrErrCnt;
end;
@ -918,19 +924,21 @@ begin
begin
CheckMissingIdentifiers(CurrErrCnt, ErrorLog);
ErrorCount := CurrErrCnt + ErrorCount;
ThisErrCnt := ThisErrCnt + CurrErrCnt;
end;
if (pttCheckMismatchedOriginals in TestTypes) then
begin
CheckMismatchedOriginals(CurrErrCnt, ErrorLog);
ErrorCount := CurrErrCnt + ErrorCount;
ThisErrCnt := ThisErrCnt + CurrErrCnt;
end;
//Always run this as the last test please
if (pttCheckStatistics in TestTypes) then
begin
CheckStatistics;
CheckStatistics(ThisErrCnt);
end;
{
if (ptt in TestTypes) then