[Initranslator-svncheckins] SF.net SVN: initranslator: [117] translator/trunk/src
Brought to you by:
peter3
|
From: <pe...@us...> - 2006-11-13 17:08:32
|
Revision: 117
http://svn.sourceforge.net/initranslator/?rev=117&view=rev
Author: peter3
Date: 2006-11-10 11:26:27 -0800 (Fri, 10 Nov 2006)
Log Message:
-----------
- Support for localizing plugins (ILocalizable)
- Modifications to XiliSoftParser to support ILocalizable
- The common plugin dialogs (frmImport, frmExport) can now optionally read translations from the applications current language file (not the one being edited, but the one used by IniTranslator)
Modified Paths:
--------------
translator/trunk/src/AppConsts.pas
translator/trunk/src/AppOptions.pas
translator/trunk/src/AppUtils.pas
translator/trunk/src/ColorsFrm.pas
translator/trunk/src/CommonUtils.pas
translator/trunk/src/DictEditFrm.pas
translator/trunk/src/DictTranslationSelectDlg.pas
translator/trunk/src/Dictionary.pas
translator/trunk/src/EditItemFrm.pas
translator/trunk/src/EncodingDlgs.pas
translator/trunk/src/ExceptDlg.pas
translator/trunk/src/ExceptDlgMail.pas
translator/trunk/src/ExtToolsFrm.pas
translator/trunk/src/FileMonitor.pas
translator/trunk/src/ImportExportFrm.pas
translator/trunk/src/KbdCfgFrame.pas
translator/trunk/src/MSDictParser/MSDictParser.dpr
translator/trunk/src/MainFrm.pas
translator/trunk/src/MsgTranslate.pas
translator/trunk/src/OptionsFrm.pas
translator/trunk/src/PluginCommon/DualImportFrm.pas
translator/trunk/src/PluginCommon/PreviewExportFrm.dfm
translator/trunk/src/PluginCommon/PreviewExportFrm.pas
translator/trunk/src/PluginCommon/SingleImportFrm.dfm
translator/trunk/src/PluginCommon/SingleImportFrm.pas
translator/trunk/src/ToolItems.pas
translator/trunk/src/ToolListEdit/ToolListEdit.dof
translator/trunk/src/ToolPropertiesView/ToolPropertiesView.dof
translator/trunk/src/TransIntf.pas
translator/trunk/src/TranslateFile.pas
translator/trunk/src/XLIFFPlugin/XLIFFParserImpl.pas
translator/trunk/src/XilisoftPlugin/XilisoftParser.dof
translator/trunk/src/XilisoftPlugin/XilisoftParser.dpr
translator/trunk/src/XilisoftPlugin/XilisoftParserCfgForm.dfm
translator/trunk/src/XilisoftPlugin/XilisoftParserCfgForm.pas
translator/trunk/src/XilisoftPlugin/XilisoftParserImpl.pas
translator/trunk/src/translator.dof
translator/trunk/src/translator.dpr
Added Paths:
-----------
translator/trunk/src/XilisoftPlugin/XiliSoftParserConsts.pas
Modified: translator/trunk/src/AppConsts.pas
===================================================================
--- translator/trunk/src/AppConsts.pas 2006-11-10 14:27:16 UTC (rev 116)
+++ translator/trunk/src/AppConsts.pas 2006-11-10 19:26:27 UTC (rev 117)
@@ -29,7 +29,7 @@
'Toolbars and menus courtesy of Toolbar2000.'#10#9'For more information, see http://www.jrsoftware.org/tb2k.php.'#10 +
'Theme enabled toolbars and menus courtesy of TBX.'#10#9'For more information, see http://g32.org/tbx/index.html.'#10 +
'Extra themes for TBX courtesy of Roy Magne Klever.'#10#9'For more information, see http://www.rmklever.com/delphitbx.'#10 +
- 'Unicode enabled add-on package for Toolbar2000 and TBX courtesy of Silverpoint Development'#10#9'For more information, see http://club.telepolis.com/silverpointdev/sptbxlib.'#10+
+ 'Unicode enabled add-on package for Toolbar2000 and TBX courtesy of Silverpoint Development'#10#9'For more information, see http://club.telepolis.com/silverpointdev/sptbxlib.'#10 +
'Unicode controls courtesy of Troy Wolbrink''s TNT controls.'#10#9'For more information, see http://www.tntware.com/delphicontrols/unicode/.'#10 +
'Spell checker kindly donated by Addictive Software.'#10#9'For more info and additional dictionaries, see http://www.addictivesoftware.com'#10#10 +
'This program is released subject to the MPL 1.1 license (http://www.mozilla.org/MPL/MPL-1.1.html for details)'#10'and come with absolutely no warranty of any kind.';
Modified: translator/trunk/src/AppOptions.pas
===================================================================
--- translator/trunk/src/AppOptions.pas 2006-11-10 14:27:16 UTC (rev 116)
+++ translator/trunk/src/AppOptions.pas 2006-11-10 19:26:27 UTC (rev 117)
@@ -176,8 +176,8 @@
property DictionaryFile: WideString read FDictionaryFile write FDictionaryFile;
property TranslationFile: WideString read FTranslationFile write FTranslationFile;
- property DefaultTransEncoding:integer read FDefaultTransEncoding write FDefaultTransEncoding;
- property DefaultOrigEncoding:integer read FDefaultOrigEncoding write FDefaultOrigEncoding;
+ property DefaultTransEncoding: integer read FDefaultTransEncoding write FDefaultTransEncoding;
+ property DefaultOrigEncoding: integer read FDefaultOrigEncoding write FDefaultOrigEncoding;
property TransEncoding: integer read FTransEncoding write FTransEncoding;
property OriginalFile: WideString read FOriginalFile write FOriginalFile;
property OrigEncoding: integer read FOrigEncoding write FOrigEncoding;
@@ -185,13 +185,12 @@
property FilterIndex: integer read FFilterIndex write FFilterIndex default 1;
property AppTitle: WideString read FAppTitle write FAppTitle;
property FontName: WideString read FFontName write FFontName;
- property FontSize:integer read FFontSize write FFontSize;
+ property FontSize: integer read FFontSize write FFontSize;
property MonitorFiles: boolean read FMonitorFiles write FMonitorFiles default true;
property Theme: WideString read FTheme write FTheme;
- property Header:TTntStrings read FHeader write SetHeader;
- property Footer:TTntStrings read FFooter write SetFooter;
+ property Header: TTntStrings read FHeader write SetHeader;
+ property Footer: TTntStrings read FFooter write SetFooter;
-
// find replace
property FindText: WideString read FFindText write FFindText;
property ReplaceText: WideString read FReplaceText write FReplaceText;
@@ -222,20 +221,15 @@
property DictIgnoreNonEmpty: boolean read FDictIgnoreNonEmpty write FDictIgnoreNonEmpty;
property DictEditFilter: Integer read FDictEditFilter write FDictEditFilter;
- property ColorUntranslated:TColor read FColorUntranslated write FColorUntranslated;
- property ColorFontUntranslated:TColor read FColorFontUntranslated write FColorFontUntranslated;
+ property ColorUntranslated: TColor read FColorUntranslated write FColorUntranslated;
+ property ColorFontUntranslated: TColor read FColorFontUntranslated write FColorFontUntranslated;
- property ColorEvenRow:TColor read FColorEvenRow write FColorEvenRow;
- property ColorFontEvenRow:TColor read FColorFontEvenRow write FColorFontEvenRow;
- property ColorOddRow:TColor read FColorOddRow write FColorOddRow;
- property ColorFontOddRow:TColor read FColorFontOddRow write FColorFontOddRow;
+ property ColorEvenRow: TColor read FColorEvenRow write FColorEvenRow;
+ property ColorFontEvenRow: TColor read FColorFontEvenRow write FColorFontEvenRow;
+ property ColorOddRow: TColor read FColorOddRow write FColorOddRow;
+ property ColorFontOddRow: TColor read FColorFontOddRow write FColorFontOddRow;
end;
- TTranslationService = class(TInterfacedObject, ITranslationService)
- public
- function Translate(const Section, Name, Value: String): WideString;
- end;
-
implementation
uses
StrUtils, AppConsts, AppUtils, TntSysUtils;
@@ -447,7 +441,6 @@
inherited;
end;
-
procedure TAppOptions.ReadWindowInfos(ini: TWideCustomIniFile);
var
i: integer;
@@ -524,11 +517,11 @@
TransEncoding := ini.ReadInteger('Files', 'TransEncoding', TransEncoding);
OrigEncoding := ini.ReadInteger('Files', 'OrigEncoding', OrigEncoding);
DefaultTransEncoding := ini.ReadInteger('Files', 'DefaultTransEncoding', TransEncoding);
- DefaultOrigEncoding := ini.ReadInteger('Files', 'DefaultOrigEncoding', OrigEncoding);
+ DefaultOrigEncoding := ini.ReadInteger('Files', 'DefaultOrigEncoding', OrigEncoding);
MonitorFiles := ini.ReadBool('Files', 'MonitorFiles', MonitorFiles);
- Header.Text := Tnt_WideStringReplace(ini.ReadString('UserData','Header',''), #2, #13#10, [rfReplaceAll]);
- Footer.Text := Tnt_WideStringReplace(ini.ReadString('UserData','Footer',''), #2, #13#10, [rfReplaceAll]);
+ Header.Text := Tnt_WideStringReplace(ini.ReadString('UserData', 'Header', ''), #2, #13#10, [rfReplaceAll]);
+ Footer.Text := Tnt_WideStringReplace(ini.ReadString('UserData', 'Footer', ''), #2, #13#10, [rfReplaceAll]);
PinCommentWindow := ini.ReadBool('Comments', 'PinCommentWindow', PinCommentWindow);
@@ -557,12 +550,12 @@
MisMatchIdentical := ini.ReadBool('MisMatch', 'MisMatchIdentical', true);
MisMatchEmptyTranslation := ini.ReadBool('MisMatch', 'MisMatchEmptyTranslation', true);
- ColorUntranslated := ini.ReadInteger('Colors','ColorUntranslated', $EFEFEF);
- ColorFontUntranslated := ini.ReadInteger('Colors','ColorFontUntranslated', $000000);
- ColorEvenRow := ini.ReadInteger('Colors','ColorEvenRow',$FFFFFF);
- ColorFontEvenRow := ini.ReadInteger('Colors','ColorFontEvenRow',$000000);
- ColorOddRow := ini.ReadInteger('Colors','ColorOddRow',$FFFFFF);
- ColorFontOddRow := ini.ReadInteger('Colors','ColorFontOddRow',$000000);
+ ColorUntranslated := ini.ReadInteger('Colors', 'ColorUntranslated', $EFEFEF);
+ ColorFontUntranslated := ini.ReadInteger('Colors', 'ColorFontUntranslated', $000000);
+ ColorEvenRow := ini.ReadInteger('Colors', 'ColorEvenRow', $FFFFFF);
+ ColorFontEvenRow := ini.ReadInteger('Colors', 'ColorFontEvenRow', $000000);
+ ColorOddRow := ini.ReadInteger('Colors', 'ColorOddRow', $FFFFFF);
+ ColorFontOddRow := ini.ReadInteger('Colors', 'ColorFontOddRow', $000000);
ReadWindowInfos(ini);
FTools.LoadFromIni(ini);
@@ -633,8 +626,8 @@
ini.WriteInteger('Files', 'DefaultOrigEncoding', DefaultOrigEncoding);
ini.WriteBool('Files', 'MonitorFiles', MonitorFiles);
- ini.WriteString('UserData', 'Header', Tnt_WideStringReplace(Header.Text, #13#10,#2,[rfReplaceAll]));
- ini.WriteString('UserData', 'Footer', Tnt_WideStringReplace(Footer.Text, #13#10,#2,[rfReplaceAll]));
+ ini.WriteString('UserData', 'Header', Tnt_WideStringReplace(Header.Text, #13#10, #2, [rfReplaceAll]));
+ ini.WriteString('UserData', 'Footer', Tnt_WideStringReplace(Footer.Text, #13#10, #2, [rfReplaceAll]));
ini.WriteBool('Comments', 'PinCommentWindow', PinCommentWindow);
// find replace dialog
@@ -660,14 +653,13 @@
ini.WriteBool('MisMatch', 'MisMatchIdentical', MisMatchIdentical);
ini.WriteBool('MisMatch', 'MisMatchEmptyTranslation', MisMatchEmptyTranslation);
- ini.WriteInteger('Colors','ColorUntranslated', ColorUntranslated);
- ini.WriteInteger('Colors','ColorFontUntranslated', ColorFontUntranslated);
- ini.WriteInteger('Colors','ColorEvenRow',ColorEvenRow);
- ini.WriteInteger('Colors','ColorFontEvenRow',ColorFontEvenRow);
- ini.WriteInteger('Colors','ColorOddRow',ColorOddRow);
- ini.WriteInteger('Colors','ColorFontOddRow',ColorFontOddRow);
+ ini.WriteInteger('Colors', 'ColorUntranslated', ColorUntranslated);
+ ini.WriteInteger('Colors', 'ColorFontUntranslated', ColorFontUntranslated);
+ ini.WriteInteger('Colors', 'ColorEvenRow', ColorEvenRow);
+ ini.WriteInteger('Colors', 'ColorFontEvenRow', ColorFontEvenRow);
+ ini.WriteInteger('Colors', 'ColorOddRow', ColorOddRow);
+ ini.WriteInteger('Colors', 'ColorFontOddRow', ColorFontOddRow);
-
WriteWindowInfos(ini);
FTools.SaveToIni(ini);
ini.UpdateFile;
@@ -768,15 +760,4 @@
end;
end;
-{ TTranslationService }
-
-{ TTranslationService }
-
-function TTranslationService.Translate(const Section, Name,
- Value: String): WideString;
-begin
- Result := GlobalLanguageFile.Translate(Section, Name, Value);
-end;
-
end.
-
Modified: translator/trunk/src/AppUtils.pas
===================================================================
--- translator/trunk/src/AppUtils.pas 2006-11-10 14:27:16 UTC (rev 116)
+++ translator/trunk/src/AppUtils.pas 2006-11-10 19:26:27 UTC (rev 117)
@@ -38,7 +38,7 @@
function ActionShortCutInUse(AM: TActionList; ShortCut: Word): boolean;
function FindActionShortCut(AM: TActionList; ShortCut: Word): TCustomAction;
function RemoveActionShortCut(AM: TActionList; ShortCut: Word): integer;
-function Translate(const ASection, AMsg: WideString): WideString;
+function _(const ASection, AMsg: WideString): WideString;
function MyShortCutToText(ShortCut: TShortCut): WideString;
function BinarySearch(AList: TList; L, R: integer; CompareItem: Pointer; CompareFunc: TListSortCompare; var Index: integer): boolean;
@@ -64,17 +64,22 @@
procedure SetXPComboStyle(AControl:TControl);
+type
+ TApplicationServicesFunc = function:IApplicationServices;
+
+var
+ GlobalApplicationServicesFunc:TApplicationServicesFunc = nil;
+
implementation
uses
- Windows, Forms, Dialogs, Math, Registry, StdCtrls,
+ Windows, Forms, Dialogs, Math, Registry, StdCtrls,
WideIniFiles, Menus, Consts, ShFolder,
- CommonUtils, ShlObj, ActiveX, TbxUxThemes,
+ CommonUtils, ShlObj, ActiveX, TbxUxThemes,
TntWindows, TntSysUtils, TntWideStrUtils;
var
FLanguageFile: TAppLanguage = nil;
FAppOptions: TAppOptions = nil;
- FApplicationServices:IApplicationServices = nil;
function AutoDetectCharacterSet(Stream: TStream): TEncoding;
begin
@@ -127,9 +132,10 @@
function GlobalApplicationServices:IApplicationServices;
begin
- if FApplicationServices = nil then
- FApplicationServices := Application.MainForm as IApplicationServices;
- Result := FApplicationServices;
+ if Assigned(GlobalApplicationServicesFunc) then
+ Result := GlobalApplicationServicesFunc
+ else
+ Result := nil;
end;
function SHGetFolderPathW2(hwnd: HWND; csidl: Integer; hToken: THandle; dwFlags: DWord; pszPath: PWideChar): HRESULT; stdcall; external 'SHFolder.dll' name 'SHGetFolderPathW';
@@ -184,7 +190,8 @@
Result := WideIncludeTrailingPathDelimiter(Result) + 'translator.ini';
end;
-function Translate(const ASection, AMsg: WideString): WideString;
+
+function _(const ASection, AMsg: WideString): WideString;
begin
if GlobalLanguageFile <> nil then
Result := GlobalLanguageFile.Translate(ASection, AMsg, AMsg)
@@ -418,7 +425,7 @@
procedure HandleFileCreateException(Sender: TObject; E: Exception; const Filename: WideString);
begin
if E is EFCreateError then
- ErrMsg(WideFormat(Translate(Sender.ClassName, SErrCreateFileFmt), [Filename]), Translate(Sender.ClassName, SErrorCaption))
+ ErrMsg(WideFormat(_(Sender.ClassName, SErrCreateFileFmt), [Filename]), _(Sender.ClassName, SErrorCaption))
else
Application.HandleException(Sender);
end;
Modified: translator/trunk/src/ColorsFrm.pas
===================================================================
--- translator/trunk/src/ColorsFrm.pas 2006-11-10 14:27:16 UTC (rev 116)
+++ translator/trunk/src/ColorsFrm.pas 2006-11-10 19:26:27 UTC (rev 117)
@@ -51,10 +51,9 @@
procedure SaveOptions(Options: TAppOptions);
public
{ Public declarations }
- class function Edit(Options:TAppOptions):boolean;
+ class function Edit(Options: TAppOptions): boolean;
end;
-
implementation
{$R *.dfm}
Modified: translator/trunk/src/CommonUtils.pas
===================================================================
--- translator/trunk/src/CommonUtils.pas 2006-11-10 14:27:16 UTC (rev 116)
+++ translator/trunk/src/CommonUtils.pas 2006-11-10 19:26:27 UTC (rev 117)
@@ -28,8 +28,8 @@
function YesNoCancel(const AText, ACaption: WideString): integer;
function GetCmdSwitchValue(const Switch: AnsiString; SwitchChars: TSysCharSet; var Value: AnsiString; IgnoreCase: boolean): boolean;
-function ScreenCursor(ACursor: TCursor): IUnknown;
-function WaitCursor: IUnknown;
+function ScreenCursor(ACursor: TCursor): IInterface;
+function WaitCursor: IInterface;
function StripChars(const S: AnsiString; Ch: TSysCharSet): AnsiString; overload;
function StripChars(const S: WideString; const Ch: WideString): WideString; overload;
@@ -52,9 +52,8 @@
const WaitUntilTerminated, WaitUntilIdle: Boolean; const ShowCmd: Integer; var ResultCode: Cardinal): Boolean;
function SubStrCount(const SubStr, Str: WideString): integer;
function WideContainsChar(Ch: WideChar; const S: WideString): boolean;
-function IsCharPunct(const S:WideChar):boolean;
+function IsCharPunct(const S: WideChar): boolean;
-
implementation
uses
Windows, Forms, Dialogs, Math, Registry, StrUtils,
@@ -121,7 +120,7 @@
end;
function trimCRLFRight(const S: WideString): WideString;
-var i:integer;
+var i: integer;
begin
Result := S;
i := Length(Result);
@@ -237,7 +236,7 @@
end;
type
- TScreenCursor = class(TInterfacedObject, IUnknown)
+ TScreenCursor = class(TInterfacedObject, IInterface)
private
FCursor: TCursor;
public
@@ -261,12 +260,12 @@
inherited;
end;
-function ScreenCursor(ACursor: TCursor): IUnknown;
+function ScreenCursor(ACursor: TCursor): IInterface;
begin
Result := TScreenCursor.Create(ACursor);
end;
-function WaitCursor: IUnknown;
+function WaitCursor: IInterface;
begin
Result := ScreenCursor(crHourGlass);
end;
@@ -490,7 +489,7 @@
Result := SubStrCount(Ch, S) > 0;
end;
-function IsCharPunct(const S:WideChar):boolean;
+function IsCharPunct(const S: WideChar): boolean;
var
CharType: integer;
begin
@@ -501,4 +500,3 @@
end;
end.
-
Modified: translator/trunk/src/DictEditFrm.pas
===================================================================
--- translator/trunk/src/DictEditFrm.pas 2006-11-10 14:27:16 UTC (rev 116)
+++ translator/trunk/src/DictEditFrm.pas 2006-11-10 19:26:27 UTC (rev 117)
@@ -65,7 +65,7 @@
FItems: TDictionaryItems;
procedure SetItems(const Value: TDictionaryItems);
function GetItems: TDictionaryItems;
- function CurrentItem:TDictionaryItem;
+ function CurrentItem: TDictionaryItem;
procedure UpdateUI;
public
{ Public declarations }
@@ -130,7 +130,7 @@
procedure TfrmDictEdit.cbOriginalChange(Sender: TObject);
var
- D:TDictionaryItem;
+ D: TDictionaryItem;
begin
lbTranslations.Count := 0;
@@ -147,7 +147,7 @@
var Handled: Boolean);
var
i: integer;
- D:TDictionaryItem;
+ D: TDictionaryItem;
begin
D := CurrentItem;
acAddOriginal.Enabled := (cbOriginal.Text <> '') and (D = nil);
@@ -157,7 +157,7 @@
i := D.Translations.IndexOf(edTranslation.Text);
acAddTranslation.Enabled := (edTranslation.Text <> '') and (i < 0);
acRemoveTranslation.Enabled := i > -1;
- acMakeDefault.Enabled := (D.Translations.Count > 1) and (D.DefaultIndex <> lbTranslations.ItemIndex);
+ acMakeDefault.Enabled := (D.Translations.Count > 1) and (D.DefaultIndex <> lbTranslations.ItemIndex);
end
else
begin
@@ -169,7 +169,7 @@
procedure TfrmDictEdit.acAddOriginalExecute(Sender: TObject);
var
- D:TDictionaryItem;
+ D: TDictionaryItem;
begin
if (cbOriginal.Text <> '') and (CurrentItem <> nil) then
begin
@@ -225,7 +225,7 @@
procedure TfrmDictEdit.acRemoveTranslationExecute(Sender: TObject);
var
- D:TDictionaryItem;
+ D: TDictionaryItem;
begin
D := CurrentItem;
if (D <> nil) then
@@ -252,27 +252,27 @@
end;
procedure TfrmDictEdit.cbFilterChange(Sender: TObject);
-var i:integer;
+var i: integer;
begin
cbOriginal.Text := '';
cbOriginal.Items.Clear;
for i := 0 to FItems.Count - 1 do
case cbFilter.ItemIndex of
- 0: // all items
- cbOriginal.Items.Add(FItems[i].Original);
- 1: // items with translations
- if FItems[i].Translations.Count > 0 then
+ 0: // all items
cbOriginal.Items.Add(FItems[i].Original);
- 2:
- if FItems[i].Translations.Count = 0 then
- cbOriginal.Items.Add(FItems[i].Original);
- 3:
- if FItems[i].Translations.Count > 1 then
- cbOriginal.Items.Add(FItems[i].Original);
- 4:
- if FItems[i].Translations.Count = 1 then
- cbOriginal.Items.Add(FItems[i].Original);
- end;
+ 1: // items with translations
+ if FItems[i].Translations.Count > 0 then
+ cbOriginal.Items.Add(FItems[i].Original);
+ 2:
+ if FItems[i].Translations.Count = 0 then
+ cbOriginal.Items.Add(FItems[i].Original);
+ 3:
+ if FItems[i].Translations.Count > 1 then
+ cbOriginal.Items.Add(FItems[i].Original);
+ 4:
+ if FItems[i].Translations.Count = 1 then
+ cbOriginal.Items.Add(FItems[i].Original);
+ end;
if cbOriginal.Items.Count > 0 then
cbOriginal.ItemIndex := 0;
cbOriginalChange(Sender);
@@ -284,7 +284,7 @@
end;
function TfrmDictEdit.CurrentItem: TDictionaryItem;
-var i:integer;
+var i: integer;
begin
i := Items.IndexOf(cbOriginal.Text);
if i >= 0 then
@@ -296,8 +296,8 @@
procedure TfrmDictEdit.lbTranslationsDrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
var
- D:TDictionaryItem;
- C:TCanvas;
+ D: TDictionaryItem;
+ C: TCanvas;
begin
C := lbTranslations.Canvas;
C.Font := lbTranslations.Font;
@@ -317,7 +317,7 @@
procedure TfrmDictEdit.acMakeDefaultExecute(Sender: TObject);
var
- D:TDictionaryItem;
+ D: TDictionaryItem;
begin
// set the selected item as the default translation
D := CurrentItem;
@@ -329,4 +329,3 @@
end;
end.
-
Modified: translator/trunk/src/DictTranslationSelectDlg.pas
===================================================================
--- translator/trunk/src/DictTranslationSelectDlg.pas 2006-11-10 14:27:16 UTC (rev 116)
+++ translator/trunk/src/DictTranslationSelectDlg.pas 2006-11-10 19:26:27 UTC (rev 117)
@@ -46,15 +46,14 @@
procedure lbTranslationsDblClick(Sender: TObject);
private
{ Private declarations }
- FResult:integer;
- FModified:boolean;
- FDictionaryItem:TDictionaryItem;
+ FResult: integer;
+ FModified: boolean;
+ FDictionaryItem: TDictionaryItem;
public
{ Public declarations }
- class function Edit(DictionaryItem:TDictionaryItem; var Translation:WideString; out Modified:boolean; var Prompt:boolean):Integer;
+ class function Edit(DictionaryItem: TDictionaryItem; var Translation: WideString; out Modified: boolean; var Prompt: boolean): Integer;
end;
-
implementation
uses
AppUtils, AppConsts;
@@ -64,7 +63,7 @@
{ TfrmDictTranslationSelect }
class function TfrmDictTranslationSelect.Edit(
- DictionaryItem: TDictionaryItem; var Translation: WideString; out Modified:boolean; var Prompt:boolean): Integer;
+ DictionaryItem: TDictionaryItem; var Translation: WideString; out Modified: boolean; var Prompt: boolean): Integer;
var
frm: TfrmDictTranslationSelect;
begin
Modified: translator/trunk/src/Dictionary.pas
===================================================================
--- translator/trunk/src/Dictionary.pas 2006-11-10 14:27:16 UTC (rev 116)
+++ translator/trunk/src/Dictionary.pas 2006-11-10 19:26:27 UTC (rev 117)
@@ -32,21 +32,21 @@
procedure Change;
{IDictionaryItem}
procedure SetOriginal(const Value: WideString);
- function GetOriginal:WideString;
- function TranslationCount:integer;
- function GetTranslation(Index:Integer):WideString;
- procedure SetTranslation(Index:integer; const Value:WideString);
- function Add(const Translation:WideString):Integer;
- procedure Delete(Index:integer);
- function IndexOf(const Translation:WideString):integer;
+ function GetOriginal: WideString;
+ function TranslationCount: integer;
+ function GetTranslation(Index: Integer): WideString;
+ procedure SetTranslation(Index: integer; const Value: WideString);
+ function Add(const Translation: WideString): Integer;
+ procedure Delete(Index: integer);
+ function IndexOf(const Translation: WideString): integer;
procedure Clear;
public
constructor Create;
destructor Destroy; override;
- function DefaultTranslation:string;
+ function DefaultTranslation: string;
property Original: WideString read GetOriginal write SetOriginal;
property Translations: TTntStrings read FTranslations write SetTranslations;
- property DefaultIndex:integer read FDefaultIndex write FDefaultIndex;
+ property DefaultIndex: integer read FDefaultIndex write FDefaultIndex;
property OnChange: TNotifyEvent read FOnChange write FOnChange;
end;
@@ -59,18 +59,18 @@
function GetItems(Index: integer): TDictionaryItem;
{IDictionaryItems}
function IDictionaryItems.Add = DictAdd;
- function GetModified:WordBool;
- procedure SetModified(Value:WordBool);
- function GetItem(Index:integer):IDictionaryItem;
- function GetIgnorePunctuation:WordBool;
- procedure SetIgnorePunctuation(Value:WordBool);
+ function GetModified: WordBool;
+ procedure SetModified(Value: WordBool);
+ function GetItem(Index: integer): IDictionaryItem;
+ function GetIgnorePunctuation: WordBool;
+ procedure SetIgnorePunctuation(Value: WordBool);
function DictAdd(const AOriginal: WideString): IDictionaryItem;
protected
procedure DoChange(Sender: TObject);
procedure Merge;
public
procedure Invert;
- procedure Assign(Source:TPersistent);override;
+ procedure Assign(Source: TPersistent); override;
function Add(const AOriginal: WideString): TDictionaryItem; overload;
function Add(var Item: TDictionaryItem): integer; overload;
procedure Delete(Index: integer);
@@ -84,7 +84,7 @@
destructor Destroy; override;
property Items[Index: integer]: TDictionaryItem read GetItems; default;
property Count: integer read GetCount;
- property Modified:WordBool read GetModified write SetModified;
+ property Modified: WordBool read GetModified write SetModified;
procedure LoadFromFile(const Filename: WideString);
procedure SaveToFile(const Filename: WideString);
property IgnorePunctuation: WordBool read GetIgnorePunctuation write SetIgnorePunctuation;
@@ -143,7 +143,6 @@
TTntStringlist(FTranslations).Sorted := true;
end;
-
function TDictionaryItem.DefaultTranslation: string;
begin
if (DefaultIndex >= 0) and (DefaultIndex < Translations.Count) then
@@ -236,7 +235,7 @@
end;
procedure TDictionaryItems.Assign(Source: TPersistent);
-var i:integer;
+var i: integer;
begin
if Source = nil then
Clear
@@ -460,7 +459,7 @@
end;
procedure TDictionaryItems.TrimTranslations;
-var i, j:integer;
+var i, j: integer;
begin
for i := 0 to Count - 1 do
for j := Items[i].Translations.Count - 1 downto 0 do
Modified: translator/trunk/src/EditItemFrm.pas
===================================================================
--- translator/trunk/src/EditItemFrm.pas 2006-11-10 14:27:16 UTC (rev 116)
+++ translator/trunk/src/EditItemFrm.pas 2006-11-10 19:26:27 UTC (rev 117)
@@ -85,7 +85,7 @@
frm.edTranslation.Text := AItem.Translation;
frm.edOrigComments.Text := AItem.OrigComments;
frm.edTransComment.Text := AItem.TransComments;
- If IsNewItem then
+ if IsNewItem then
frm.ActiveControl := frm.cbSections
else
frm.ActiveControl := frm.edTranslation;
Modified: translator/trunk/src/EncodingDlgs.pas
===================================================================
--- translator/trunk/src/EncodingDlgs.pas 2006-11-10 14:27:16 UTC (rev 116)
+++ translator/trunk/src/EncodingDlgs.pas 2006-11-10 19:26:27 UTC (rev 117)
@@ -42,7 +42,7 @@
FParentWnd: HWND;
procedure WMNCDestroy(var Message: TWMNCDestroy); message WM_NCDESTROY;
protected
- procedure Initialize;virtual;
+ procedure Initialize; virtual;
public
constructor Create(OpenDialog: TTntOpenDialog); reintroduce;
destructor Destroy; override;
@@ -69,8 +69,8 @@
property Encodings: TTntStrings read FEncodings write SetEncodings;
property EncodingLabel: WideString read FEncodingLabel write FEncodingLabel;
property EncodingIndex: integer read FEncodingIndex write SetEncodingIndex default 0;
- property InsertHeader:boolean read FInsertHeader write FInsertHeader;
- property InsertFooter:boolean read FInsertFooter write FInsertFooter;
+ property InsertHeader: boolean read FInsertHeader write FInsertHeader;
+ property InsertFooter: boolean read FInsertFooter write FInsertFooter;
end;
TEncodingSaveDialog = class(TEncodingOpenDialog)
Modified: translator/trunk/src/ExceptDlg.pas
===================================================================
--- translator/trunk/src/ExceptDlg.pas 2006-11-10 14:27:16 UTC (rev 116)
+++ translator/trunk/src/ExceptDlg.pas 2006-11-10 19:26:27 UTC (rev 117)
@@ -288,7 +288,7 @@
if not LogOpen then
begin
FLogFileHandle := Tnt_CreateFileW(PWideChar(FLogFileName), GENERIC_WRITE, FILE_SHARE_READ, nil,
- OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
+ OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
if LogOpen then
FLogWasEmpty := SetFilePointer(FLogFileHandle, 0, nil, FILE_END) = 0;
end
Modified: translator/trunk/src/ExceptDlgMail.pas
===================================================================
--- translator/trunk/src/ExceptDlgMail.pas 2006-11-10 14:27:16 UTC (rev 116)
+++ translator/trunk/src/ExceptDlgMail.pas 2006-11-10 19:26:27 UTC (rev 117)
@@ -57,7 +57,7 @@
const
SendBugReportAddress = 'pe...@us...';
SendBugReportSubject = 'IniTranslator Bug Report';
-
+
resourcestring
SSendReport = '&Send Report...';
Modified: translator/trunk/src/ExtToolsFrm.pas
===================================================================
--- translator/trunk/src/ExtToolsFrm.pas 2006-11-10 14:27:16 UTC (rev 116)
+++ translator/trunk/src/ExtToolsFrm.pas 2006-11-10 19:26:27 UTC (rev 117)
@@ -129,7 +129,7 @@
procedure acDirExecute(Sender: TObject);
procedure alToolsUpdate(Action: TBasicAction; var Handled: Boolean);
function lbContentsDataFind(Control: TWinControl;
- FindString: String): Integer;
+ FindString: string): Integer;
procedure lbContentsData(Control: TWinControl; Index: Integer;
var Data: WideString);
private
@@ -304,7 +304,7 @@
S: WideString;
begin
i := 1;
- S := Translate(Application.MainForm.ClassName, SNewToolNameFmt);
+ S := _(Application.MainForm.ClassName, SNewToolNameFmt);
Result := WideFormat(S, [i]);
while FTools.IndexOf(Result) >= 0 do
begin
@@ -450,7 +450,7 @@
procedure TfrmTools.alToolsUpdate(Action: TBasicAction;
var Handled: Boolean);
-procedure PropagateEnabled(AWinControl: TWinControl; Enabled: boolean);
+ procedure PropagateEnabled(AWinControl: TWinControl; Enabled: boolean);
var i: integer;
begin
if AWinControl.Tag <> -1 then // leave these alone
@@ -472,7 +472,7 @@
end;
function TfrmTools.lbContentsDataFind(Control: TWinControl;
- FindString: String): Integer;
+ FindString: string): Integer;
begin
Result := FTools.IndexOf(FindString);
end;
Modified: translator/trunk/src/FileMonitor.pas
===================================================================
--- translator/trunk/src/FileMonitor.pas 2006-11-10 14:27:16 UTC (rev 116)
+++ translator/trunk/src/FileMonitor.pas 2006-11-10 19:26:27 UTC (rev 117)
@@ -53,7 +53,7 @@
implementation
uses
TntSysUtils;
-
+
resourcestring
SFmtMonitorFileNotFound = 'File "%s" not found: cannot monitor a nonexistent file!';
Modified: translator/trunk/src/ImportExportFrm.pas
===================================================================
--- translator/trunk/src/ImportExportFrm.pas 2006-11-10 14:27:16 UTC (rev 116)
+++ translator/trunk/src/ImportExportFrm.pas 2006-11-10 19:26:27 UTC (rev 117)
@@ -24,7 +24,7 @@
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, ActnList,
- BaseForm, TranslateFile, TransIntf,
+ BaseForm, TranslateFile, TransIntf, WideIniFiles,
TntActnList, TntStdCtrls, TntComCtrls;
type
@@ -55,13 +55,14 @@
function LoadPlugins(const PluginFolder: WideString; ForImport: boolean): integer;
public
{ Public declarations }
+ class procedure GetStrings(const PluginFolder: WideString; ini: TWideCustomIniFile);
class function Edit(const Items, Orphans: ITranslationItems; const PluginFolder: WideString;
const DoImport: boolean; var ItemIndex, CapabilitesSupported: integer): boolean;
end;
implementation
uses
- AppConsts, AppUtils, TntWindows, TntSysUtils;
+ AppConsts, AppUtils, TntClasses, TntWindows, TntSysUtils;
{$R *.dfm}
var
@@ -219,7 +220,8 @@
if (LibItem.Parser.Capabilities and cCapability[ForImport] = cCapability[ForImport]) then
begin
li := lvItems.Items.Add;
- li.Caption := DoTranslate(LibItem.Parser.DisplayName(cCapability[ForImport]));
+ LibItem.Parser.Init(GlobalApplicationServices);
+ li.Caption := LibItem.Parser.DisplayName(cCapability[ForImport]);
li.Data := LibItem;
Inc(Result);
end;
@@ -260,14 +262,13 @@
Parser := TLibItem(lvItems.Selected.Data).Parser;
Parser.Init(GlobalApplicationServices);
FCapabilitiesSupported := Parser.Capabilities;
-{ if FCapabilitiesSupported and CAP_CONFIGURE = CAP_CONFIGURE then
+ if FCapabilitiesSupported and CAP_CONFIGURE = CAP_CONFIGURE then
if Parser.Configure(CAP_IMPORT) <> S_OK then
begin
ModalResult := mrAbort;
Close;
Exit;
end;
- }
if Parser.ImportItems(FItems, FOrphans) <> S_OK then
ModalResult := mrNone;
end;
@@ -278,14 +279,13 @@
begin
Parser := TLibItem(lvItems.Selected.Data).Parser;
Parser.Init(GlobalApplicationServices);
-{ if Parser.Capabilities and CAP_CONFIGURE = CAP_CONFIGURE then
+ if Parser.Capabilities and CAP_CONFIGURE = CAP_CONFIGURE then
if Parser.Configure(CAP_EXPORT) <> S_OK then
begin
ModalResult := mrAbort;
Close;
Exit;
end;
- }
if Parser.ExportItems(FItems, FOrphans) <> S_OK then
ModalResult := mrNone;
end;
@@ -306,10 +306,48 @@
Result := S;
end;
+class procedure TfrmImportExport.GetStrings(const PluginFolder: WideString; ini: TWideCustomIniFile);
+var
+ i: integer;
+ LibItem: TLibItem;
+ frm: TfrmImportExport;
+ Section, Name, Value: WideString;
+ Obj: ILocalizable;
+begin
+ frm := self.Create(Application);
+ try
+ frm.LoadPlugins(PluginFolder, false);
+ for i := 0 to frm.lvItems.Items.Count - 1 do
+ begin
+ LibItem := TLibItem(frm.lvItems.Items[i].Data);
+ if Assigned(LibItem) and Supports(LibItem.Parser, ILocalizable, Obj) then
+ while Obj.GetString(Section, Name, Value) do
+ ini.WriteString(Section, Name, Value);
+ end;
+ finally
+ frm.Free;
+ end;
+ frm := self.Create(Application);
+ try
+ frm.LoadPlugins(PluginFolder, true);
+ for i := 0 to frm.lvItems.Items.Count - 1 do
+ begin
+ LibItem := TLibItem(frm.lvItems.Items[i].Data);
+ if Assigned(LibItem) and Supports(LibItem.Parser, ILocalizable, Obj) then
+ while Obj.GetString(Section, Name, Value) do
+ ini.WriteString(Section, Name, Value);
+ end;
+ finally
+ frm.Free;
+ end;
+end;
+
initialization
FLoadedLibs := TList.Create;
+
finalization
FreeLibraries;
FreeAndNil(FLoadedLibs);
end.
+
Modified: translator/trunk/src/KbdCfgFrame.pas
===================================================================
--- translator/trunk/src/KbdCfgFrame.pas 2006-11-10 14:27:16 UTC (rev 116)
+++ translator/trunk/src/KbdCfgFrame.pas 2006-11-10 19:26:27 UTC (rev 117)
@@ -216,7 +216,7 @@
var
A: TTntAction;
S: TShortCut;
- Index:integer;
+ Index: integer;
begin
A := GetCurrentAction;
if A = nil then
@@ -226,7 +226,7 @@
// check if the shortcut to delete is the main shortcut, delete if so
S := WideTextToShortCut(Items[ItemIndex]);
if A.ShortCut = S then
- A.ShortCut := 0;
+ A.ShortCut := 0;
Index := A.SecondaryShortCuts.IndexOfShortCut(S);
if Index > -1 then
A.SecondaryShortCuts.Delete(Index);
@@ -466,7 +466,7 @@
function TFrmKbdCfg.DoTranslate(const S: WideString): WideString;
begin
- Result := Translate(Application.MainForm.ClassName, S);
+ Result := _(Application.MainForm.ClassName, S);
end;
procedure TFrmKbdCfg.ClearCatList;
Modified: translator/trunk/src/MSDictParser/MSDictParser.dpr
===================================================================
--- translator/trunk/src/MSDictParser/MSDictParser.dpr 2006-11-10 14:27:16 UTC (rev 116)
+++ translator/trunk/src/MSDictParser/MSDictParser.dpr 2006-11-10 19:26:27 UTC (rev 117)
@@ -7,7 +7,7 @@
PreviewExportFrm in '..\PluginCommon\PreviewExportFrm.pas' {frmExport},
MSDictParserImpl in 'MSDictParserImpl.pas',
CommonUtils in '..\CommonUtils.pas',
- SingleImportFrm in '.\SingleImportFrm.pas' {frmImport};
+ MSDictParserImportFrm in '.\MSDictParserImportFrm.pas' {frmImport};
{$R *.res}
function InstallPlugin(out Parser:IFileParser):HResult;stdcall;
Modified: translator/trunk/src/MainFrm.pas
===================================================================
--- translator/trunk/src/MainFrm.pas 2006-11-10 14:27:16 UTC (rev 116)
+++ translator/trunk/src/MainFrm.pas 2006-11-10 19:26:27 UTC (rev 117)
@@ -28,6 +28,7 @@
BaseForm, FileMonitor, MsgTranslate, AppOptions,
AppConsts, TranslateFile, TransIntf, Dictionary,
FindReplaceFrm, EncodingDlgs, ToolItems, WideIniFiles,
+
{$IFDEF USEADDICTSPELLCHECKER}
// addict spell checker (www.addictive-software.com)
ad3Spell, ad3SpellBase, ad3Configuration, ad3ConfigurationDialogCtrl, ad3SpellLanguages, ad3ParserBase, ad3Ignore,
@@ -65,7 +66,7 @@
WM_DELAYLOADED = WM_USER + 1001;
type
- TfrmMain = class(TfrmBase, IApplicationServices)
+ TfrmMain = class(TfrmBase)
StatusBar1: TTBXStatusBar;
alMain: TTntActionList;
acOpenOrig: TTntAction;
@@ -449,6 +450,7 @@
FTranslateFile: TTranslateFiles;
FLastFindText, FLastFolder: WideString;
FModified: boolean;
+
FDictionary: TDictionaryItems;
FCommandProcessor: boolean;
FFileMonitors: array of TFileMonitorThread;
@@ -458,33 +460,8 @@
{$IFDEF USEADDICTSPELLCHECKER}
adSpellChecker: TAddictSpell3;
{$ENDIF USEADDICTSPELLCHECKER}
- { IApplicationServices begin}
FNotify: TInterfaceList;
- function GetItems: ITranslationItems;
- function GetOrphans: ITranslationItems;
- function GetAppHandle: Cardinal;
- function GetDictionaryItems: IDictionaryItems;
- function GetHeader: WideString;
- procedure SetHeader(const Value: WideString);
- function GetFooter: WideString;
- procedure SetFooter(const Value: WideString);
- function GetAppOption(const Section, Name, Default: WideString): WideString; safecall;
- procedure SetAppOption(const Section, Name, Value: WideString); safecall;
- procedure RegisterNotify(const ANotify: INotify); safecall;
- procedure UnRegisterNotify(const ANotify: INotify); safecall;
- function BeginUpdate: Integer; safecall;
- function EndUpdate: Integer; safecall;
- function GetTranslationService:ITranslationService;
-{
- property Items:ITranslationItems read GetItems;
- property Orphans:ITranslationItems read GetOrphans;
- property Dictionary:IDictionaryItems read GetDictionaryItems;
- property AppHandle:Cardinal read GetAppHandle;
- property TranslationService:ITranslationService read GetTranslationService;
- property Header:WideString read GetHeader write SetHeader;
- property Footer:WideString read GetFooter write SetFooter;
-}
- {IApplication end}
+
function NotifyChanging(Msg, WParam, LParam: integer): WordBool;
procedure NotifyChanged(Msg, WParam, LParam: integer);
{$IFDEF USEADDICTSPELLCHECKER}
@@ -586,6 +563,32 @@
procedure SetSelectedListItem(const Value: TTntListItem);
procedure MakeTranslationsConsistent;
public
+ function GetItems: ITranslationItems;
+ function GetOrphans: ITranslationItems;
+ function GetAppHandle: Cardinal;
+ function GetDictionaryItems: IDictionaryItems;
+ function GetHeader: WideString;
+ procedure SetHeader(const Value: WideString);
+ function GetFooter: WideString;
+ procedure SetFooter(const Value: WideString);
+ function GetAppOption(const Section, Name, Default: WideString): WideString; safecall;
+ procedure SetAppOption(const Section, Name, Value: WideString); safecall;
+ procedure RegisterNotify(const ANotify: INotify); safecall;
+ procedure UnRegisterNotify(const ANotify: INotify); safecall;
+ function BeginUpdate: Integer; safecall;
+ function EndUpdate: Integer; safecall;
+ function Translate(const Section, Name, Value: string): WideString; safecall;
+{
+ property Items:ITranslationItems read GetItems;
+ property Orphans:ITranslationItems read GetOrphans;
+ property Dictionary:IDictionaryItems read GetDictionaryItems;
+ property AppHandle:Cardinal read GetAppHandle;
+ property TranslationService:ITranslationService read GetTranslationService;
+ property Header:WideString read GetHeader write SetHeader;
+ property Footer:WideString read GetFooter write SetFooter;
+}
+ {IApplication end}
+
{ Public declarations }
property Modified: boolean read GetModified write SetModified;
property SelectedItem: ITranslationItem read GetSelectedItem write SetSelectedItem;
@@ -601,7 +604,7 @@
{$IFDEF USEADDICTSPELLCHECKER}
ad3ParseEngine,
{$ENDIF USEADDICTSPELLCHECKER}
- AppUtils, CommonUtils, OptionsFrm, CommentsFrm, OrphansFrm,
+ AppUtils, CommonUtils, OptionsFrm, CommentsFrm, OrphansFrm, ApplicationServices,
KbdCfgFrame, KbdCfgFrm, ImportExportFrm, ExtToolsFrm, PromptArgsFrm,
EditItemFrm, TrimFrm, SuspiciousConfigFrm, DictTranslationSelectDlg,
DictEditFrm, ColorsFrm;
@@ -781,28 +784,28 @@
else if WideSameText('SAVETRANS', tmp) then
begin
if (tmp2 = '') then
- ErrMsg('SAVETRANS called with empty Filename', Translate(ClassName, SErrorCaption))
+ ErrMsg('SAVETRANS called with empty Filename', _(ClassName, SErrorCaption))
else
SaveTranslation(tmp2, feAnsi);
end
else if WideSameText('SAVETRANSUC', tmp) then
begin
if (tmp2 = '') then
- ErrMsg('SAVETRANSUC called with empty Filename', Translate(ClassName, SErrorCaption))
+ ErrMsg('SAVETRANSUC called with empty Filename', _(ClassName, SErrorCaption))
else
SaveTranslation(tmp2, feUnicode);
end
else if WideSameText('SAVETRANSUTF8', tmp) then
begin
if (tmp2 = '') then
- ErrMsg('SAVETRANSUTF8 called with empty Filename', Translate(ClassName, SErrorCaption))
+ ErrMsg('SAVETRANSUTF8 called with empty Filename', _(ClassName, SErrorCaption))
else
SaveTranslation(tmp2, feUTF8);
end
else if WideSameText('SAVEDICT', tmp) then
begin
if (tmp2 = '') then
- ErrMsg('SAVEDICT called with empty Filename', Translate(ClassName, SErrorCaption))
+ ErrMsg('SAVEDICT called with empty Filename', _(ClassName, SErrorCaption))
else
SaveDictionary(tmp2);
end
@@ -824,7 +827,7 @@
i: integer;
begin
if not WideFileExists(CommandFile) then
- ErrMsg(WideFormat(Translate(ClassName, SFmtFileNotFound), [CommandFile]), Translate(ClassName, SErrorCaption))
+ ErrMsg(WideFormat(_(ClassName, SFmtFileNotFound), [CommandFile]), _(ClassName, SErrorCaption))
else
begin
WaitCursor;
@@ -1382,16 +1385,16 @@
end;
begin
if Modified then
- StatusBar1.Panels[0].Caption := ' ' + Translate(ClassName, SModified)
+ StatusBar1.Panels[0].Caption := ' ' + _(ClassName, SModified)
else
- StatusBar1.Panels[0].Caption := ' ' + Translate(ClassName, SReady);
+ StatusBar1.Panels[0].Caption := ' ' + _(ClassName, SReady);
if SelectedItem <> nil then
begin
StatusBar1.Panels[1].Caption := ' ' + SelectedItem.Section;
StatusBar1.Panels[2].Caption := ' ' + SelectedItem.Name;
with SelectedItem do
- lblViewDetails.Caption := WideFormat(Translate(ClassName, SFmtKeyDetails), [Section, Name]);
+ lblViewDetails.Caption := WideFormat(_(ClassName, SFmtKeyDetails), [Section, Name]);
end
else
begin
@@ -1402,17 +1405,17 @@
// very simple, but should work *most* of the time...
lblViewDetails.Font.Height := -CalcMaxFontSize(lblViewDetails.Canvas, lblViewDetails.Caption, lblViewDetails.Width,
14, 7);
- StatusBar1.Panels[3].Caption := ' ' + WideFormat(Translate(ClassName, SFmtItemsCount), [FTranslateFile.Items.Count]);
+ StatusBar1.Panels[3].Caption := ' ' + WideFormat(_(ClassName, SFmtItemsCount), [FTranslateFile.Items.Count]);
if SaveDictDlg.FileName <> '' then
StatusBar1.Panels[4].Caption := ' ' + ExtractFileName(SaveDictDlg.FileName)
else
- StatusBar1.Panels[4].Caption := ' ' + Translate(ClassName, SNoDictionary);
+ StatusBar1.Panels[4].Caption := ' ' + _(ClassName, SNoDictionary);
if acDictInvert.Checked then
- StatusBar1.Panels[4].Caption := StatusBar1.Panels[4].Caption + WideFormat(' (%s)', [Translate(ClassName,
+ StatusBar1.Panels[4].Caption := StatusBar1.Panels[4].Caption + WideFormat(' (%s)', [_(ClassName,
SDictInverted)]);
pbTranslated.Max := FTranslateFile.Items.Count;
pbTranslated.Position := FTranslateFile.Items.TranslatedCount;
- pbTranslated.Hint := ' ' + WideFormat(Translate(ClassName, SCountOfCountTranslated), [FTranslateFile.Items.TranslatedCount,
+ pbTranslated.Hint := ' ' + WideFormat(_(ClassName, SCountOfCountTranslated), [FTranslateFile.Items.TranslatedCount,
FTranslateFile.Items.Count]);
StatusBar1.Panels[5].Caption := pbTranslated.Hint;
for i := 0 to StatusBar1.Panels.Count - 1 do
@@ -1440,7 +1443,7 @@
Exit; // only show confirm message if we have focus
end;
AContinue := false;
- if YesNo(WideFormat(Translate(ClassName, SFmtFileChangedReloadPrompt), [FileName]), Translate(ClassName, SConfirmCaption)) then
+ if YesNo(WideFormat(_(ClassName, SFmtFileChangedReloadPrompt), [FileName]), _(ClassName, SConfirmCaption)) then
begin
if Sender = FFileMonitors[cOrigMonitor] then
begin
@@ -1663,7 +1666,11 @@
S := EncodeStrings(TAction(alMain.Actions[i]).Hint);
ini.WriteString(ClassName, S, S);
end;
+ // write out all file plugins
+ TfrmImportExport.GetStrings(WideExtractFilePath(Application.ExeName) + 'plugins', ini);
+ // write out all tool plugins
+ FExternalToolItems.GetStrings(ini);
// write out author info (do not localize)
ini.WriteString('Translator', 'Author', 'Ini Translator');
ini.WriteString('Translator', 'Language', 'Default');
@@ -1699,8 +1706,8 @@
SelectedListItem.MakeVisible(false)
end
else
- InfoMsg(WideFormat(Translate(ClassName, SFmtTextNotFound), [FFindReplace.FindText]),
- Translate(ClassName, SSearchFailCaption));
+ InfoMsg(WideFormat(_(ClassName, SFmtTextNotFound), [FFindReplace.FindText]),
+ _(ClassName, SSearchFailCaption));
end;
procedure TfrmMain.DoFindReplace(Sender: TObject);
@@ -1755,8 +1762,8 @@
FFindReplace.SearchUp, FFindReplace.FuzzySearch, FFindReplace.FindInIndex);
if li = nil then
begin
- InfoMsg(WideFormat(Translate(ClassName, SFmtTextNotFound), [FFindReplace.FindText]),
- Translate(ClassName, SSearchFailCaption));
+ InfoMsg(WideFormat(_(ClassName, SFmtTextNotFound), [FFindReplace.FindText]),
+ _(ClassName, SSearchFailCaption));
Exit;
end;
SaveEditChanges;
@@ -1931,50 +1938,50 @@
OpenOrigDlg := TEncodingOpenDialog.Create(Self);
with OpenOrigDlg do
begin
- DefaultExt := Translate(ClassName, SLngExt);
- Filter := Translate(ClassName, SFileFilter);
+ DefaultExt := _(ClassName, SLngExt);
+ Filter := _(ClassName, SFileFilter);
InitialDir := '.';
- Title := Translate(ClassName, SOpenOrigTitle);
- Encodings.Add(Translate(ClassName, SANSI));
- Encodings.Add(Translate(ClassName, SUTF8));
- Encodings.Add(Translate(ClassName, SUnicode));
+ Title := _(ClassName, SOpenOrigTitle);
+ Encodings.Add(_(ClassName, SANSI));
+ Encodings.Add(_(ClassName, SUTF8));
+ Encodings.Add(_(ClassName, SUnicode));
end;
OpenTransDlg := TEncodingOpenDialog.Create(Self);
with OpenTransDlg do
begin
- DefaultExt := Translate(ClassName, SLngExt);
- Filter := Translate(ClassName, SFileFilter);
+ DefaultExt := _(ClassName, SLngExt);
+ Filter := _(ClassName, SFileFilter);
InitialDir := '.';
- Title := Translate(ClassName, SOpenTransTitle);
- Encodings.Add(Translate(ClassName, SANSI));
- Encodings.Add(Translate(ClassName, SUTF8));
- Encodings.Add(Translate(ClassName, SUnicode));
+ Title := _(ClassName, SOpenTransTitle);
+ Encodings.Add(_(ClassName, SANSI));
+ Encodings.Add(_(ClassName, SUTF8));
+ Encodings.Add(_(ClassName, SUnicode));
end;
SaveTransDlg := TEncodingSaveDialog.Create(Self);
with SaveTransDlg do
begin
- DefaultExt := Translate(ClassName, SLngExt);
- Filter := Translate(ClassName, SFileFilter);
+ DefaultExt := _(ClassName, SLngExt);
+ Filter := _(ClassName, SFileFilter);
InitialDir := '.';
Options := [ofOverwritePrompt, ofHideReadOnly, ofEnableSizing];
- Title := Translate(ClassName, SSaveTransTitle);
- Encodings.Add(Translate(ClassName, SANSI));
- Encodings.Add(Translate(ClassName, SUTF8));
- Encodings.Add(Translate(ClassName, SUnicode));
+ Title := _(ClassName, SSaveTransTitle);
+ Encodings.Add(_(ClassName, SANSI));
+ Encodings.Add(_(ClassName, SUTF8));
+ Encodings.Add(_(ClassName, SUnicode));
end;
SaveOrigDlg := TEncodingSaveDialog.Create(Self);
with SaveOrigDlg do
begin
- DefaultExt := Translate(ClassName, SLngExt);
- Filter := Translate(ClassName, SFileFilter);
+ DefaultExt := _(ClassName, SLngExt);
+ Filter := _(ClassName, SFileFilter);
InitialDir := '.';
Options := [ofOverwritePrompt, ofHideReadOnly, ofEnableSizing];
- Title := Translate(ClassName, SSaveOrigTitle);
- Encodings.Add(Translate(ClassName, SANSI));
- Encodings.Add(Translate(ClassName, SUTF8));
- Encodings.Add(Translate(ClassName, SUnicode));
+ Title := _(ClassName, SSaveOrigTitle);
+ Encodings.Add(_(ClassName, SANSI));
+ Encodings.Add(_(ClassName, SUTF8));
+ Encodings.Add(_(ClassName, SUnicode));
end;
end;
@@ -1983,7 +1990,7 @@
Result := true;
if Modified then
begin
- case YesNoCancel(Translate(ClassName, SSavePrompt), Translate(ClassName, SConfirmCaption)) of
+ case YesNoCancel(_(ClassName, SSavePrompt), _(ClassName, SConfirmCaption)) of
IDYES:
Result := SaveTranslation(GlobalAppOptions.TranslationFile, TEncoding(GlobalAppOptions.TransEncoding));
IDNO: Result := true; // do nothing
@@ -2000,7 +2007,7 @@
Result := true;
if FDictionary.Modified then
begin
- case YesNoCancel(Translate(ClassName, SSaveDictPrompt), Translate(ClassName, SConfirmCaption)) of
+ case YesNoCancel(_(ClassName, SSaveDictPrompt), _(ClassName, SConfirmCaption)) of
IDYES:
Result := acDictSave.Execute;
IDNO:
@@ -2227,7 +2234,7 @@
begin
if FDictionary.Count = 0 then
begin
- ErrMsg(Translate(ClassName, SErrDictEmpty), Translate(ClassName, SInfoCaption));
+ ErrMsg(_(ClassName, SErrDictEmpty), _(ClassName, SInfoCaption));
Exit;
end;
SaveDictDlg.FileName := GlobalAppOptions.DictionaryFile;
@@ -2250,15 +2257,15 @@
procedure TfrmMain.acDictCreateExecute(Sender: TObject);
begin
- CreateDict(YesNo(Translate(ClassName, SClearDictPrompt), Translate(ClassName, SConfirmCaption)));
- InfoMsg(Translate(ClassName, SDictCreated), Translate(ClassName, SInfoCaption));
+ CreateDict(YesNo(_(ClassName, SClearDictPrompt), _(ClassName, SConfirmCaption)));
+ InfoMsg(_(ClassName, SDictCreated), _(ClassName, SInfoCaption));
end;
procedure TfrmMain.acDictTranslateExecute(Sender: TObject);
begin
if FDictionary.Count = 0 then
begin
- ErrMsg(Translate(ClassName, SErrDictEmpty), Translate(ClassName, SInfoCaption));
+ ErrMsg(_(ClassName, SErrDictEmpty), _(ClassName, SInfoCaption));
Exit;
end;
WaitCursor;
@@ -2274,9 +2281,19 @@
Close;
end;
+var
+ FApplicationServices: IApplicationServices = nil;
+
+function InternalApplicationServicesFunc: IApplicationServices;
+begin
+ Result := FApplicationServices;
+end;
+
procedure TfrmMain.FormCreate(Sender: TObject);
begin
ScreenCursor(crAppStart);
+ FApplicationServices := TApplicationServices.Create(self);
+ GlobalApplicationServicesFunc := @InternalApplicationServicesFunc;
ClearBookmarks;
FixXPPanelBug;
@@ -2348,6 +2365,7 @@
for i := 0 to Length(FFileMonitors) - 1 do
if FFileMonitors[i] <> nil then
FFileMonitors[i].Terminate;
+ FApplicationServices := nil;
end;
procedure TfrmMain.lvTranslateStringsChange(Sender: TObject;
@@ -2508,8 +2526,8 @@
var
S: WideString;
begin
- S := WideFormat(Translate(ClassName, SFmtAboutText), [Caption, GetAppVersion, GetCurrentYear]);
- AboutMsg(S, WideFormat(Translate(ClassName, SFmtAboutCaption), [Caption]));
+ S := WideFormat(_(ClassName, SFmtAboutText), [Caption, GetAppVersion, GetCurrentYear]);
+ AboutMsg(S, WideFormat(_(ClassName, SFmtAboutCaption), [Caption]));
end;
procedure TfrmMain.acCutExecute(Sender: TObject);
@@ -2726,8 +2744,8 @@
procedure TfrmMain.acHelpExecute(Sender: TObject);
begin
if not WideFileExists(GlobalAppOptions.HelpFile) then
- ErrMsg(WideFormat(Translate(ClassName, SFmtErrHelpNotFound), [GlobalAppOptions.HelpFile]),
- Translate(ClassName, SErrorCaption))
+ ErrMsg(WideFormat(_(ClassName, SFmtErrHelpNotFound), [GlobalAppOptions.HelpFile]),
+ _(ClassName, SErrorCaption))
else
Tnt_ShellExecuteW(Handle, '', PWideChar(GlobalAppOptions.HelpFile), nil, nil, SW_SHOWNORMAL);
//
@@ -2806,7 +2824,7 @@
with TTntSaveDialog.Create(nil) do
try
Options := Options + [ofOverwritePrompt];
- Title := Translate(ClassName, SSaveTranslationTemplate);
+ Title := _(ClassName, SSaveTranslationTemplate);
if Execute then
begin
DeleteFile(FileName); // make sure there are no redundant items in the file
@@ -2933,8 +2951,8 @@
T := T + #13#10' ';
for i := 1 to Length(S) do
T := T + WideFormat('Alt+%.5d ', [Ord(S[i])]);
- if YesNo(Translate(ClassName, SAsciiValue) + #13#10 + T + #13#10#13#10 + Translate(ClassName, SQCopyToClipboard),
- Translate(ClassName, SDecodedCharsCaption)) then
+ if YesNo(_(ClassName, SAsciiValue) + #13#10 + T + #13#10#13#10 + _(ClassName, SQCopyToClipboard),
+ _(ClassName, SDecodedCharsCaption)) then
TntClipboard.AsWideText := T;
end;
@@ -2952,24 +2970,24 @@
if PtInRect(Rect(Left, Top, Left + Width div 2, Height), P) then
begin
if trim(FTranslateFile.Items[Item.Index].OrigComments) <> '' then
- AInfoTip := Translate(ClassName, SOriginal) + ':'#13#10 + trim(FTranslateFile.Items[Item.Index].OrigComments)
+ AInfoTip := _(ClassName, SOriginal) + ':'#13#10 + trim(FTranslateFile.Items[Item.Index].OrigComments)
else
AInfoTip := FTranslateFile.Items[Item.Index].Original;
end
else if PtInRect(Rect(Left + Width div 2, Top, Left + Width, Height), P) then
begin
if trim(FTranslateFile.Items[Item.Index].TransComments) <> '' then
- AInfoTip := Translate(ClassName, STranslation) + ':'#13#10 + trim(FTranslateFile.Items[Item.Index].TransComments)
+ AInfoTip := _(ClassName, STranslation) + ':'#13#10 + trim(FTranslateFile.Items[Item.Index].TransComments)
else
AInfoTip := FTranslateFile.Items[Item.Index].Translation;
end
else
begin
if trim(FTranslateFile.Items[Item.Index].OrigComments) <> '' then
- AInfoTip := Translate(ClassName, SOriginal) + ':'#13#10 + trim(FTranslateFile.Items[Item.Index].OrigComments) +
+ AInfoTip := _(ClassName, SOriginal) + ':'#13#10 + trim(FTranslateFile.Items[Item.Index].OrigComments) +
#13#10#13#10;
if trim(FTranslateFile.Items[Item.Index].TransComments) <> '' then
- AInfoTip := Translate(ClassName, STranslation) + ':'#13#10 +
+ AInfoTip := _(ClassName, STranslation) + ':'#13#10 +
trim(FTranslateFile.Items[Item.Index].TransComments);
if AInfoTip = '' then
AInfoTip := FTranslateFile.Items[Item.Index].Original + ' - ' + FTranslateFile.Items[Item.Index].Translation;
@@ -3368,16 +3386,16 @@
case Index of
0:
if AFileName <> '' then
- lvTranslateStrings.Columns[0].Caption := WideFormat(Translate(ClassName, SOriginalColumn),
+ lvTranslateStrings.Columns[0].Caption := WideFormat(_(ClassName, SOriginalColumn),
[GetMinimizedFilename(AFileName, not GlobalAppOptions.ShowFullNameInColumns)])
else
- lvTranslateStrings.Columns[0].Caption := Translate(ClassName, SOriginal);
+ lvTranslateStrings.Columns[0].Caption := _(ClassName, SOriginal);
1:
if AFileName <> '' then
- lvTranslateStrings.Columns[1].Caption := WideFormat(Translate(ClassName, STranslationColumn),
+ lvTranslateStrings.Columns[1].Caption := WideFormat(_(ClassName, STranslationColumn),
[GetMinimizedFilename(AFileName, not GlobalAppOptions.ShowFullNameInColumns)])
else
- lvTranslateStrings.Columns[1].Caption := Translate(ClassName, STranslation);
+ lvTranslateStrings.Columns[1].Caption := _(ClassName, STranslation);
end;
end;
@@ -3703,11 +3721,12 @@
begin
FExternalToolItems := TExternalToolItems.Create(WideExtractFilePath(Application.ExeName) + 'plugins');
Parent.Clear;
+ FExternalToolItems.InitAll();
for i := 0 to FExternalToolItems.Count - 1 do
begin
E := FExternalToolItems[i];
M := TSpTBXItem.Create(Parent);
- M.Caption := Translate(ClassName, E.DisplayName);
+ M.Caption := E.DisplayName;
M.OnClick := DoExternalToolClick;
M.Images := FExternalToolItems.Images;
M.ImageIndex := E.ImageIndex;
@@ -3716,7 +3735,6 @@
Parent.Add(M);
end;
Parent.Visible := Parent.Count > 0;
- FExternalToolItems.InitAll(Application.Handle);
end;
procedure TfrmMain.mnuPluginsPopup(Sender: TTBCustomItem; FromLink: Boolean);
@@ -3821,7 +3839,7 @@
end;
if (ReturnValue <> 0) and (ATool.WaitForCompletion or ATool.UseShellExecute) then
- ErrMsg(WideFormat(Translate(ClassName, SErrToolExecFmt), [Cmd, Args, SysErrorMessage(ReturnValue)]), StripHotkey(ATool.Title));
+ ErrMsg(WideFormat(_(ClassName, SErrToolExecFmt), [Cmd, Args, SysErrorMessage(ReturnValue)]), StripHotkey(ATool.Title));
end;
procedure TfrmMain.DoToolMenuClick(Sender: TObject);
@@ -3934,16 +3952,16 @@
ASections := TTntStringlist.Create;
try
GetSections(ASections);
- if TfrmEditItem.Edit(Translate(ClassName, SCaptionAddItem), ASections, AItem, true) then
+ if TfrmEditItem.Edit(_(ClassName, SCaptionAddItem), ASections, AItem, true) then
begin
if (AItem.Section = '') then
- ErrMsg(Translate(ClassName, SErrSectionEmpty), SErrorCaption)
+ ErrMsg(_(ClassName, SErrSectionEmpty), SErrorCaption)
else if (AItem.Name = '') then
- ErrMsg(Translate(ClassName, SErrNameEmpty), SErrorCaption)
+ ErrMsg(_(ClassName, SErrNameEmpty), SErrorCaption)
else if (AItem.Original = '') then
- ErrMsg(Translate(ClassName, SErrOrigTextEmpty), SErrorCaption)
+ ErrMsg(_(ClassName, SErrOrigTextEmpty), SErrorCaption)
else if (FTranslateFile.Items.IndexOf(AItem.Section, AItem.Name, false) > -1) then
- ErrMsg(Translate(ClassName, SErrSectionNameExists), SErrorCaption)
+ ErrMsg(_(ClassName, SErrSectionNameExists), SErrorCaption)
else
begin
lvTranslateStrings.Items.BeginUpdate;
@@ -4008,18 +4026,18 @@
try
GetSections(ASections);
CopyItem(AItem, ANewItem);
- if TfrmEditItem.Edit(Translate(ClassName, SCaptionEditItem), ASections, ANewItem, false) then
+ if TfrmEditItem.Edit(_(ClassName, SCaptionEditItem), ASections, ANewItem, false) then
begin
if EqualItems(AItem, ANewItem) then
Exit;
lvTranslateStrings.Items.BeginUpdate;
try
if (ANewItem.Section = '') then
- ErrMsg(Translate(ClassName, SErrSectionEmpty), SErrorCaption)
+ ErrMsg(_(ClassName, SErrSectionEmpty), SErrorCaption)
else if (ANewItem.Name = '') then
- ErrMsg(Translate(ClassName, SErrNameEmpty), SErrorCaption)
+ ErrMsg(_(ClassName, SErrNameEmpty), SErrorCaption)
else if (ANewItem.Original = '') then
- ErrMsg(Translate(ClassName, SErrOrigTextEmpty), SErrorCaption)
+ ErrMsg(_(ClassName, SErrOrigTextEmpty), SErrorCaption)
else
begin
lvTranslateStrings.ItemIndex := -1;
@@ -4043,7 +...
[truncated message content] |