mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-19 16:40:54 +02:00
PoChecker:
- IDE integration (open PoFile in IDE). Patch by Giuliano Colla, slightly modified by me. - Regenerated languagefiles. git-svn-id: trunk@46354 -
This commit is contained in:
parent
53a0681e2a
commit
9ee2dd7f12
@ -79,5 +79,6 @@ object GraphStatForm: TGraphStatForm
|
|||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
ViewStyle = vsIcon
|
ViewStyle = vsIcon
|
||||||
OnMouseMove = ListViewMouseMove
|
OnMouseMove = ListViewMouseMove
|
||||||
|
OnMouseUp = ListViewMouseUp
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -6,6 +6,7 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, Types, FileUtil, Forms, Controls, Graphics, Dialogs,
|
Classes, SysUtils, Types, FileUtil, Forms, Controls, Graphics, Dialogs,
|
||||||
|
{$ifndef POCHECKERSTANDALONE} LazIDEIntf, {$endif}
|
||||||
ExtCtrls, PoFamilies, PoCheckerConsts, LCLProc, StdCtrls, ComCtrls;
|
ExtCtrls, PoFamilies, PoCheckerConsts, LCLProc, StdCtrls, ComCtrls;
|
||||||
|
|
||||||
|
|
||||||
@ -29,6 +30,8 @@ type
|
|||||||
procedure FormShow(Sender: TObject);
|
procedure FormShow(Sender: TObject);
|
||||||
procedure ListViewMouseMove(Sender: TObject; Shift: TShiftState; X,
|
procedure ListViewMouseMove(Sender: TObject; Shift: TShiftState; X,
|
||||||
Y: Integer);
|
Y: Integer);
|
||||||
|
procedure ListViewMouseUp(Sender: TObject; Button: TMouseButton;
|
||||||
|
Shift: TShiftState; X, Y: Integer);
|
||||||
private
|
private
|
||||||
{ private declarations }
|
{ private declarations }
|
||||||
FPoFamilyStats: TPoFamilyStats;
|
FPoFamilyStats: TPoFamilyStats;
|
||||||
@ -106,6 +109,37 @@ begin
|
|||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TGraphStatForm.ListViewMouseUp(Sender: TObject; Button: TMouseButton;
|
||||||
|
Shift: TShiftState; X, Y: Integer);
|
||||||
|
{$ifndef POCHECKERSTANDALONE}
|
||||||
|
var
|
||||||
|
anItem: TListItem;
|
||||||
|
anIndex: Integer;
|
||||||
|
AStat: TStat;
|
||||||
|
PageIndex,WindowIndex: Integer;
|
||||||
|
OpenFlags: TOpenFlags;
|
||||||
|
mr: TModalResult;
|
||||||
|
{$endif}
|
||||||
|
begin
|
||||||
|
{$ifndef POCHECKERSTANDALONE}
|
||||||
|
anItem := Listview.GetItemAt(X, Y);
|
||||||
|
if Assigned(anItem) then begin
|
||||||
|
anIndex := anItem.Index;
|
||||||
|
AStat := FPoFamilyStats.Items[anIndex];
|
||||||
|
PageIndex:= -1;
|
||||||
|
WindowIndex:= -1;
|
||||||
|
OpenFlags:= [ofOnlyIfExists,ofAddToRecent,ofRegularFile,ofConvertMacros];
|
||||||
|
mr := LazarusIde.DoOpenEditorFile(AStat.Name,PageIndex,WindowIndex,OpenFlags);
|
||||||
|
if mr = mrOk then begin
|
||||||
|
if MessageDlg('PoChecker',Format(sOpenFile,[AStat.PoName]),
|
||||||
|
mtConfirmation,mbOKCancel,0) = mrOk then begin
|
||||||
|
ModalResult:= mrOpenEditorFile; //To let caller know what we want to do
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
else ShowMessage(Format(SOpenFail,[AStat.Name]));
|
||||||
|
end;
|
||||||
|
{$endif}
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TGraphStatForm.FormCreate(Sender: TObject);
|
procedure TGraphStatForm.FormCreate(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
|
@ -178,6 +178,14 @@ msgstr "Nalezeno %d varování"
|
|||||||
msgid "&Open a po-file"
|
msgid "&Open a po-file"
|
||||||
msgstr "&Otevřít PO soubor"
|
msgstr "&Otevřít PO soubor"
|
||||||
|
|
||||||
|
#: pocheckerconsts.sopenfail
|
||||||
|
msgid "Unable to open file %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: pocheckerconsts.sopenfile
|
||||||
|
msgid "Open file %s in Ide Editor?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: pocheckerconsts.soriginal
|
#: pocheckerconsts.soriginal
|
||||||
msgid "Original"
|
msgid "Original"
|
||||||
msgstr "Originál"
|
msgstr "Originál"
|
||||||
|
@ -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 ""
|
||||||
@ -176,6 +175,14 @@ msgstr "%d Warnungen gefunden."
|
|||||||
msgid "&Open a po-file"
|
msgid "&Open a po-file"
|
||||||
msgstr "p&o-Datei öffnen"
|
msgstr "p&o-Datei öffnen"
|
||||||
|
|
||||||
|
#: pocheckerconsts.sopenfail
|
||||||
|
msgid "Unable to open file %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: pocheckerconsts.sopenfile
|
||||||
|
msgid "Open file %s in Ide Editor?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: pocheckerconsts.soriginal
|
#: pocheckerconsts.soriginal
|
||||||
msgid "Original"
|
msgid "Original"
|
||||||
msgstr "Original"
|
msgstr "Original"
|
||||||
@ -233,10 +240,17 @@ msgid "Show statistics graph"
|
|||||||
msgstr "Zeige Statistik-Graphik"
|
msgstr "Zeige Statistik-Graphik"
|
||||||
|
|
||||||
#: pocheckerconsts.sstathint
|
#: pocheckerconsts.sstathint
|
||||||
|
#, fuzzy
|
||||||
#| msgid ""
|
#| msgid ""
|
||||||
#| "%3.1f%% Translated\n"
|
#| "%3.1f%% Translated\n"
|
||||||
#| "%3.1f%% UnTranslated\n"
|
#| "%3.1f%% UnTranslated\n"
|
||||||
#| "%3.1f%% Fuzzy\n"
|
#| "%3.1f%% Fuzzy\n"
|
||||||
|
#| "%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 ""
|
msgid ""
|
||||||
"%3d Translated (%3.1f%%)\n"
|
"%3d Translated (%3.1f%%)\n"
|
||||||
"%3d UnTranslated (%3.1f%%)\n"
|
"%3d UnTranslated (%3.1f%%)\n"
|
||||||
@ -275,3 +289,4 @@ msgstr "Alle abwählen"
|
|||||||
#: pocheckerconsts.suntranslated
|
#: pocheckerconsts.suntranslated
|
||||||
msgid "Untranslated"
|
msgid "Untranslated"
|
||||||
msgstr "Nicht übersetzt"
|
msgstr "Nicht übersetzt"
|
||||||
|
|
||||||
|
@ -175,6 +175,14 @@ msgstr "Encontradas %d advertencias."
|
|||||||
msgid "&Open a po-file"
|
msgid "&Open a po-file"
|
||||||
msgstr "Abrir un fichero p&o"
|
msgstr "Abrir un fichero p&o"
|
||||||
|
|
||||||
|
#: pocheckerconsts.sopenfail
|
||||||
|
msgid "Unable to open file %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: pocheckerconsts.sopenfile
|
||||||
|
msgid "Open file %s in Ide Editor?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: pocheckerconsts.soriginal
|
#: pocheckerconsts.soriginal
|
||||||
msgid "Original"
|
msgid "Original"
|
||||||
msgstr "Original"
|
msgstr "Original"
|
||||||
|
@ -175,6 +175,14 @@ msgstr "%d figyelmeztetés."
|
|||||||
msgid "&Open a po-file"
|
msgid "&Open a po-file"
|
||||||
msgstr "PO fájl megnyitása"
|
msgstr "PO fájl megnyitása"
|
||||||
|
|
||||||
|
#: pocheckerconsts.sopenfail
|
||||||
|
msgid "Unable to open file %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: pocheckerconsts.sopenfile
|
||||||
|
msgid "Open file %s in Ide Editor?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: pocheckerconsts.soriginal
|
#: pocheckerconsts.soriginal
|
||||||
msgid "Original"
|
msgid "Original"
|
||||||
msgstr "Eredeti"
|
msgstr "Eredeti"
|
||||||
|
@ -173,6 +173,14 @@ msgstr "Riscontrati %d avvertimenti."
|
|||||||
msgid "&Open a po-file"
|
msgid "&Open a po-file"
|
||||||
msgstr "&Aprire un file po"
|
msgstr "&Aprire un file po"
|
||||||
|
|
||||||
|
#: pocheckerconsts.sopenfail
|
||||||
|
msgid "Unable to open file %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: pocheckerconsts.sopenfile
|
||||||
|
msgid "Open file %s in Ide Editor?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: pocheckerconsts.soriginal
|
#: pocheckerconsts.soriginal
|
||||||
msgid "Original"
|
msgid "Original"
|
||||||
msgstr "Originale"
|
msgstr "Originale"
|
||||||
|
@ -175,6 +175,14 @@ msgstr "%d 個の警告が見つかりました。"
|
|||||||
msgid "&Open a po-file"
|
msgid "&Open a po-file"
|
||||||
msgstr "po ファイルを開く(&O)"
|
msgstr "po ファイルを開く(&O)"
|
||||||
|
|
||||||
|
#: pocheckerconsts.sopenfail
|
||||||
|
msgid "Unable to open file %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: pocheckerconsts.sopenfile
|
||||||
|
msgid "Open file %s in Ide Editor?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: pocheckerconsts.soriginal
|
#: pocheckerconsts.soriginal
|
||||||
msgid "Original"
|
msgid "Original"
|
||||||
msgstr "原文"
|
msgstr "原文"
|
||||||
|
@ -177,6 +177,14 @@ msgstr "Rasta perspėjimų: %d."
|
|||||||
msgid "&Open a po-file"
|
msgid "&Open a po-file"
|
||||||
msgstr "At&verti PO failą"
|
msgstr "At&verti PO failą"
|
||||||
|
|
||||||
|
#: pocheckerconsts.sopenfail
|
||||||
|
msgid "Unable to open file %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: pocheckerconsts.sopenfile
|
||||||
|
msgid "Open file %s in Ide Editor?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: pocheckerconsts.soriginal
|
#: pocheckerconsts.soriginal
|
||||||
msgid "Original"
|
msgid "Original"
|
||||||
msgstr "Originalas"
|
msgstr "Originalas"
|
||||||
|
@ -153,6 +153,14 @@ msgstr ""
|
|||||||
msgid "&Open a po-file"
|
msgid "&Open a po-file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: pocheckerconsts.sopenfail
|
||||||
|
msgid "Unable to open file %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: pocheckerconsts.sopenfile
|
||||||
|
msgid "Open file %s in Ide Editor?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: pocheckerconsts.soriginal
|
#: pocheckerconsts.soriginal
|
||||||
msgid "Original"
|
msgid "Original"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -175,6 +175,14 @@ msgstr "Encontrados %d avisos."
|
|||||||
msgid "&Open a po-file"
|
msgid "&Open a po-file"
|
||||||
msgstr "&Abrir um arquivo PO"
|
msgstr "&Abrir um arquivo PO"
|
||||||
|
|
||||||
|
#: pocheckerconsts.sopenfail
|
||||||
|
msgid "Unable to open file %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: pocheckerconsts.sopenfile
|
||||||
|
msgid "Open file %s in Ide Editor?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: pocheckerconsts.soriginal
|
#: pocheckerconsts.soriginal
|
||||||
msgid "Original"
|
msgid "Original"
|
||||||
msgstr "Original"
|
msgstr "Original"
|
||||||
|
@ -174,6 +174,14 @@ msgstr "Найдено предупреждений: %d"
|
|||||||
msgid "&Open a po-file"
|
msgid "&Open a po-file"
|
||||||
msgstr "&Открыть файл PO"
|
msgstr "&Открыть файл PO"
|
||||||
|
|
||||||
|
#: pocheckerconsts.sopenfail
|
||||||
|
msgid "Unable to open file %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: pocheckerconsts.sopenfile
|
||||||
|
msgid "Open file %s in Ide Editor?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: pocheckerconsts.soriginal
|
#: pocheckerconsts.soriginal
|
||||||
msgid "Original"
|
msgid "Original"
|
||||||
msgstr "Исходная строка"
|
msgstr "Исходная строка"
|
||||||
@ -240,6 +248,12 @@ msgstr "Показать графическую сводку"
|
|||||||
#| "%3.1f%% Translated\n"
|
#| "%3.1f%% Translated\n"
|
||||||
#| "%3.1f%% UnTranslated\n"
|
#| "%3.1f%% UnTranslated\n"
|
||||||
#| "%3.1f%% Fuzzy\n"
|
#| "%3.1f%% Fuzzy\n"
|
||||||
|
#| "%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 ""
|
msgid ""
|
||||||
"%3d Translated (%3.1f%%)\n"
|
"%3d Translated (%3.1f%%)\n"
|
||||||
"%3d UnTranslated (%3.1f%%)\n"
|
"%3d UnTranslated (%3.1f%%)\n"
|
||||||
|
@ -174,6 +174,14 @@ msgstr "Виявлено %d попереджень."
|
|||||||
msgid "&Open a po-file"
|
msgid "&Open a po-file"
|
||||||
msgstr "&Відкрити po-файл"
|
msgstr "&Відкрити po-файл"
|
||||||
|
|
||||||
|
#: pocheckerconsts.sopenfail
|
||||||
|
msgid "Unable to open file %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: pocheckerconsts.sopenfile
|
||||||
|
msgid "Open file %s in Ide Editor?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: pocheckerconsts.soriginal
|
#: pocheckerconsts.soriginal
|
||||||
msgid "Original"
|
msgid "Original"
|
||||||
msgstr "Оригінал"
|
msgstr "Оригінал"
|
||||||
|
@ -4,6 +4,8 @@ unit pocheckerconsts;
|
|||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
|
Uses Controls;
|
||||||
|
|
||||||
resourcestring
|
resourcestring
|
||||||
//Main form
|
//Main form
|
||||||
rsPoChecker = 'PO File Checker';
|
rsPoChecker = 'PO File Checker';
|
||||||
@ -41,6 +43,8 @@ resourcestring
|
|||||||
sStatHint = '%3d Translated (%3.1f%%)' + LineEnding +
|
sStatHint = '%3d Translated (%3.1f%%)' + LineEnding +
|
||||||
'%3d UnTranslated (%3.1f%%)' + LineEnding +
|
'%3d UnTranslated (%3.1f%%)' + LineEnding +
|
||||||
'%3d Fuzzy (%3.1f%%)';
|
'%3d Fuzzy (%3.1f%%)';
|
||||||
|
sOpenFile = 'Open file %s in Ide Editor?';
|
||||||
|
SOpenFail = 'Unable to open file %s';
|
||||||
|
|
||||||
//PoFamiles
|
//PoFamiles
|
||||||
sOriginal = 'Original';
|
sOriginal = 'Original';
|
||||||
@ -78,6 +82,10 @@ resourcestring
|
|||||||
sPercTranslated = '%s: %4.1f%% translated strings.';
|
sPercTranslated = '%s: %4.1f%% translated strings.';
|
||||||
sPercUntranslated = '%s: %4.1f%% untranslated strings.';
|
sPercUntranslated = '%s: %4.1f%% untranslated strings.';
|
||||||
sPercFuzzy = '%s: %4.1f%% fuzzy strings.';
|
sPercFuzzy = '%s: %4.1f%% fuzzy strings.';
|
||||||
|
|
||||||
|
const
|
||||||
|
mrOpenEditorFile = mrNone+100;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
@ -378,6 +378,7 @@ var
|
|||||||
ErrorCount, WarningCount: integer;
|
ErrorCount, WarningCount: integer;
|
||||||
SL: TStrings;
|
SL: TStrings;
|
||||||
ResultDlg: TResultDlgForm;
|
ResultDlg: TResultDlgForm;
|
||||||
|
mr: TModalResult;
|
||||||
begin
|
begin
|
||||||
TestTypes := GetTestTypesFromListBox;
|
TestTypes := GetTestTypesFromListBox;
|
||||||
if (TestTypes = []) then
|
if (TestTypes = []) then
|
||||||
@ -389,6 +390,7 @@ begin
|
|||||||
NoErrLabel.Visible := False;
|
NoErrLabel.Visible := False;
|
||||||
Application.ProcessMessages;
|
Application.ProcessMessages;
|
||||||
SL := TStringList.Create;
|
SL := TStringList.Create;
|
||||||
|
mr := mrNone;
|
||||||
try
|
try
|
||||||
StatusPanel.Enabled := True;
|
StatusPanel.Enabled := True;
|
||||||
if (not (ptoFindAllChildren in TestOptions)) and Assigned(PoFamily.Child) and
|
if (not (ptoFindAllChildren in TestOptions)) and Assigned(PoFamily.Child) and
|
||||||
@ -410,7 +412,7 @@ begin
|
|||||||
ResultDlg.PoFamilyStats := PoFamily.PoFamilyStats
|
ResultDlg.PoFamilyStats := PoFamily.PoFamilyStats
|
||||||
else
|
else
|
||||||
ResultDlg.PoFamilyStats := nil;
|
ResultDlg.PoFamilyStats := nil;
|
||||||
ResultDlg.ShowModal;
|
mr := ResultDlg.ShowModal;
|
||||||
finally
|
finally
|
||||||
ResultDlg.Free;
|
ResultDlg.Free;
|
||||||
end;
|
end;
|
||||||
@ -421,6 +423,7 @@ begin
|
|||||||
SL.Free;
|
SL.Free;
|
||||||
ClearAndDisableStatusPanel;
|
ClearAndDisableStatusPanel;
|
||||||
end;
|
end;
|
||||||
|
if mr = mrOpenEditorFile then WindowState:= wsMinimized;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
@ -93,11 +93,14 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TResultDlgForm.GraphStatBtnClick(Sender: TObject);
|
procedure TResultDlgForm.GraphStatBtnClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
mr: TModalResult;
|
||||||
begin
|
begin
|
||||||
GraphStatForm := TGraphStatForm.Create(nil);
|
GraphStatForm := TGraphStatForm.Create(nil);
|
||||||
GraphStatForm.PoFamilyStats := Self.PoFamilyStats;
|
GraphStatForm.PoFamilyStats := Self.PoFamilyStats;
|
||||||
GraphStatForm.ShowModal;
|
mr := GraphStatForm.ShowModal;
|
||||||
FreeAndNil(GraphStatForm);
|
FreeAndNil(GraphStatForm);
|
||||||
|
if mr = mrOpenEditorFile then ModalResult := mr; // To inform pocheckermain
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TResultDlgForm.SaveBtnClick(Sender: TObject);
|
procedure TResultDlgForm.SaveBtnClick(Sender: TObject);
|
||||||
|
Loading…
Reference in New Issue
Block a user