diff --git a/applications/lazedit/EPlus.ini b/applications/lazedit/EPlus.ini index 56ceb5887..002d1f51d 100644 --- a/applications/lazedit/EPlus.ini +++ b/applications/lazedit/EPlus.ini @@ -1,6 +1,6 @@ [Editor] -FontName= -FontSize=0 +FontName=Courier New +FontSize=10 [MainForm] Left=634 diff --git a/applications/lazedit/build/innosetup.iss b/applications/lazedit/build/innosetup.iss new file mode 100644 index 000000000..88f4b66d9 --- /dev/null +++ b/applications/lazedit/build/innosetup.iss @@ -0,0 +1,52 @@ +; Script generated by the Inno Setup Script Wizard. +; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! + +[Setup] +AppName=LazEyes +AppVerName=LazEyes v2.0 +AppPublisherURL=http://wiki.lazarus.freepascal.org/LazEyes +AppSupportURL=http://wiki.lazarus.freepascal.org/LazEyes +AppUpdatesURL=http://wiki.lazarus.freepascal.org/LazEyes +DefaultDirName={pf}\LazEyes +DefaultGroupName=Free Pascal Applications Suite +; LicenseFile=..\license.txt +OutputDir=.\ +OutputBaseFilename=LazEyes2.0_install +Compression=lzma +SolidCompression=yes +VersionInfoVersion=2.0 +AllowNoIcons=yes + +[Languages] +Name: "english"; MessagesFile: "compiler:Default.isl" +Name: "brazilianportuguese"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl" +Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl" +Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl" +Name: "french"; MessagesFile: "compiler:Languages\French.isl" +Name: "german"; MessagesFile: "compiler:Languages\German.isl" +Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl" +Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" +Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl" +Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl" + +[Tasks] +Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked + +[Files] +Source: "..\lazeyes2.exe"; DestDir: "{app}"; Flags: ignoreversion +; Source: "..\Images\*.png"; DestDir: "{app}\Images"; Flags: ignoreversion +; Source: "..\libraries\pas_overlays\pas_overlays.dll"; DestDir: "{app}"; Flags: ignoreversion +; Source: "..\libraries\videocard_checker\videocard_checker.dll"; DestDir: "{app}"; Flags: ignoreversion +; NOTE: Don't use "Flags: ignoreversion" on any shared system files + +[Icons] +Name: "{group}\LazEyes"; Filename: "{app}\lazeyes2.exe" +Name: "{group}\{cm:ProgramOnTheWeb,LazEyes}"; Filename: "http://wiki.lazarus.freepascal.org/LazEyes" +Name: "{group}\{cm:UninstallProgram,LazEyes}"; Filename: "{uninstallexe}" +Name: "{commondesktop}\LazEyes"; Filename: "{app}\lazeyes2.exe"; Tasks: desktopicon + +[Run] +Filename: "{app}\lazeyes2.exe"; Description: "{cm:LaunchProgram,LazEyes}"; Flags: nowait postinstall skipifsilent + + + diff --git a/applications/lazedit/eplus_config.pp b/applications/lazedit/eplus_config.pp index 6c033e8d5..78c67a72b 100644 --- a/applications/lazedit/eplus_config.pp +++ b/applications/lazedit/eplus_config.pp @@ -39,7 +39,7 @@ unit EPlus_Config; interface uses - SysUtils, Classes, EditorPageControl, EPlus_COmmons, CopyLeft, Forms,{FCL_Misc,} IniFiles, + SysUtils, Classes, EditorPageControl, EPlus_COmmons, lazedit_constants, Forms,{FCL_Misc,} IniFiles, LCLProc; type @@ -71,6 +71,7 @@ type FileTypeMaskList: TFileTypeMaskList; TemplateMaskList: String; RecentFiles: Array[0..MruEntries - 1] of String; + Translation: Integer; end; function LoadOptions(var Options: TEPlusOptions; FileName: String): Boolean; @@ -82,6 +83,8 @@ function GetDefaultIniDir: String; implementation const + scGeneral = 'General'; + idTranslation = 'Translation'; scMainForm = 'MainForm'; idTop = 'Top'; idLeft = 'Left'; @@ -159,6 +162,9 @@ begin if (S <> '') then Options.FileTypeMaskList[ftIndex] := S; end; + // Translation + Options.Translation := Ini.ReadInteger(scGeneral, idTranslation, 0); + finally Ini.Free; Ini := Nil; @@ -228,6 +234,9 @@ begin Ini.WriteString(scFileTypes, eftNames[ftIndex], Options.FileTypeMaskList[ftIndex]); end; + // Translation + Ini.WriteInteger(scGeneral, idTranslation, Options.Translation); + try Ini.UpdateFile; Result := True; diff --git a/applications/lazedit/htmldialogs.pp b/applications/lazedit/htmldialogs.pp index cb32b768f..e38ae9dc0 100644 --- a/applications/lazedit/htmldialogs.pp +++ b/applications/lazedit/htmldialogs.pp @@ -36,7 +36,7 @@ interface uses Classes, SysUtils, HtmlCode, Controls, Forms, - NewHtmlDlgForm, AnchorDlgForm, PictureDlgForm, HtmlCharMap, NewTableForm, CopyLeft; + NewHtmlDlgForm, AnchorDlgForm, PictureDlgForm, HtmlCharMap, NewTableForm, lazedit_constants; type diff --git a/applications/lazedit/lazedit.lpi b/applications/lazedit/lazedit.lpi index b453430b3..789f617c4 100644 --- a/applications/lazedit/lazedit.lpi +++ b/applications/lazedit/lazedit.lpi @@ -75,7 +75,7 @@ - + @@ -83,7 +83,7 @@ - + @@ -94,9 +94,9 @@ - - - + + + @@ -115,7 +115,7 @@ - + @@ -372,29 +372,29 @@ - + - + - + - - + + - + - - - + + + @@ -445,7 +445,7 @@ - + @@ -564,7 +564,7 @@ - + @@ -576,7 +576,7 @@ - + @@ -603,7 +603,7 @@ - + @@ -615,7 +615,7 @@ - + @@ -643,7 +643,7 @@ - + @@ -852,124 +852,147 @@ + + + + + + + + + + + + + + + + + + + - + - - + + - - + + - - + + - + - + - + - - + + - - + + - - + + - + - + - + - + - + - + - + - + - + - + - + - - + + - - + + - - + + - + - + - + - + - - + + - - + + + + + + diff --git a/applications/lazedit/lazedit.lpr b/applications/lazedit/lazedit.lpr index bc613d2b7..6e8f307eb 100644 --- a/applications/lazedit/lazedit.lpr +++ b/applications/lazedit/lazedit.lpr @@ -7,7 +7,8 @@ uses cthreads, {$ENDIF}{$ENDIF} Interfaces, // this includes the LCL widgetset - Forms, main {,newtableform, test_ed, eplus_commons, CopyLeft, eplus_config, HtmlCharMap, + Forms, main, +lazedit_translations {,newtableform, test_ed, eplus_commons, CopyLeft, eplus_config, HtmlCharMap, HtmlDialogs, NewHtmlDlgForm, AnchorDlgForm, PictureDlgForm} { you can add units after this }; diff --git a/applications/lazedit/copyleft.pp b/applications/lazedit/lazedit_constants.pp similarity index 92% rename from applications/lazedit/copyleft.pp rename to applications/lazedit/lazedit_constants.pp index c12f8dfca..89574f5bf 100644 --- a/applications/lazedit/copyleft.pp +++ b/applications/lazedit/lazedit_constants.pp @@ -1,4 +1,4 @@ -unit CopyLeft; +unit lazedit_constants; { EPlus: a text editor with built-in features for HTML editing and @@ -42,11 +42,11 @@ interface //uses GPL; const - AppName = 'EPlus'; + AppName = 'LazEdit'; AboutTitle = 'Over ' + AppName; - AppVersion = 'Versie 1.0.0 RC1'; - CopyLeftStatement = 'Copyright (c) 2011, 2012 by Bart Broersma & FlyingSheep Inc.'; - MetaGeneratorName = AppName + #32 + AppVersion + ' by Bart Broersma and Flying Sheep Inc.'; + AppVersion = 'Version 1.1'; + CopyLeftStatement = 'Copyright (c) 2011, 2012 by Bart Broersma, FlyingSheep Inc. and Felipe Monteiro de Carvalho'; + MetaGeneratorName = AppName + #32 + AppVersion; AuthorWebName = 'Bart & Mariska''s Webstek'; AuthorWebUrl = 'http://home.tiscali.nl/~knmg0017/'; LicenseText = ''; //LGPL_Text; diff --git a/applications/lazedit/lazedit_translations.pas b/applications/lazedit/lazedit_translations.pas new file mode 100644 index 000000000..2585b0397 --- /dev/null +++ b/applications/lazedit/lazedit_translations.pas @@ -0,0 +1,302 @@ +unit lazedit_translations; + +{$mode objfpc}{$H+} + +interface + +uses + Classes, SysUtils; + +type + + { TTranslations } + + TTranslations = class(TObject) + public + { Main form } + { mnuEditPasteTableContentTab: TMenuItem; + mnuEditPasteSpecial: TMenuItem; + mnuAbout: TMenuItem; + mnuViewFont: TMenuItem;} + //File menu + mnuFile, + mnuFileOpen, + mnuFileNewFromTemplate, + mnuFileNew, +{ mnuFileNewText, + mnuFileNewHtml: TMenuItem; + mnuFileNewXml: TMenuItem; + mnuFileNewCss: TMenuItem; + mnuFileNewJS: TMenuItem; + mnuFileNewFpc: TMenuItem; + mnuFileNewC: TMenuItem; + mnuFileNewPy: TMenuItem; + mnuFileNewPhp: TMenuItem; + mnuFileNewPerl: TMenuItem; + mnuFileNewShellScript: TMenuItem; + mnuFileNewBat: TMenuItem; + mnuFileNewIni: TMenuItem;} + mnuFileSave, + mnuFileSaveAs, + mnuFileSaveAll, + mnuFileCloseCurrent, + //mnuSep1: TMenuItem; + mnuFileOpenInBrowser, + //mnuSepAboveMru: TMenuItem; + mnuFileCloseApp, + //Edit menu + mnuEdit, + mnuEditUndo, + mnuEditRedo, + //mnuSep11: TMenuItem; + mnuEditCopy, + mnuEditCut, + mnuEditPaste, + mnuEditSelectAll + //mnuSep12: TMenuItem; +{ mnuEditReplace: TMenuItem; + mnuEditFindNext: TMenuItem; + mnuEditFind: TMenuItem; + //Insert menu + mnuInsert: TMenuItem; + mnuInsertAnchor: TMenuItem; + mnuInsertList: TMenuItem; + mnuInsertUList: TMenuItem; + mnuInsertNList: TMenuItem; + mnuInsertWordList: TMenuItem; + mnuInsetListItem: TMenuItem; + mnuInsertWordTerm: TMenuItem; + mnuInsertWordDefinition: TMenuItem; + mnuInsertTable: TMenuItem; + mnInsertNewTable: TMenuItem; + mnuInsertTableCell: TMenuItem; + mnuInsertTableRow: TMenuItem; + mnuInsertPicture: TMenuItem; + mnuInsertSpecialChars: TMenuItem; + mnuInsertLineBreak: TMenuItem; + mnuInsertSep1: TMenuItem; + mnuInsertHtmlComment: TMenuItem; + mnuInsertJS: TMenuItem; + mnuInsertCssStyle: TMenuItem; + //Layout menu + mnuLayout: TMenuItem; + mnuLayoutBold: TMenuItem; + mnuLayoutAlignJustify: TMenuItem; + mnuLayoutItalic: TMenuItem; + mnuLayoutUnderline: TMenuItem; + mnuLayoutSub: TMenuItem; + mnuLayoutSup: TMenuItem; + mnuLayoutEmphasis: TMenuItem; + mnuLayoutStrong: TMenuItem; + mnuLayoutHeadings: TMenuItem; + mnuLayoutH1: TMenuItem; + mnuLayoutH2: TMenuItem; + mnuLayoutH3: TMenuItem; + mnuLayoutH4: TMenuItem; + mnuLayoutH5: TMenuItem; + mnuLayoutH6: TMenuItem; + mnuLayoutAlign: TMenuItem; + mnuLayoutAlignLeft: TMenuItem; + mnuLayoutAlignRight: TMenuItem; + mnuLayoutAlignCenter: TMenuItem; + mnuLayoutCode: TMenuItem; + mnuLayoutQuote: TMenuItem; + mnuLayoutBlockQuote: TMenuItem; + mnuLayoutPreformatted: TMenuItem; + //Grouping menu + mnuGrouping: TMenuItem; + mnuGroupingParagraph: TMenuItem; + mnuGroupingDiv: TMenuItem; + mnuGroupingSpan: TMenuItem; + //View menu + mnuView: TMenuItem; + mnuViewFontsize: TMenuItem; + mnuViewFontSizeUp: TMenuItem; + mnuViewFontsizeDown: TMenuItem; + mnuViewHighlighter: TMenuItem; + //these menu items MUST have names that are built like this: + //'mnuViewHL' + eftNames[SomeIndex] + mnuViewHLeftNone: TMenuItem; + mnuViewHLeftHtml: TMenuItem; + mnuViewHLeftXml: TMenuItem; + mnuViewHLeftCss: TMenuItem; + mnuViewHLeftJS: TMenuItem; + mnuViewHLeftFpc: TMenuItem; + mnuViewHLeftLfm: TMenuItem; + mnuViewHLeftC: TMenuItem; + mnuViewHLeftPy: TMenuItem; + mnuViewHLeftPhp: TMenuItem; + mnuViewHLeftPerl: TMenuItem; + mnuViewHLeftUNIXShell: TMenuItem; + mnuViewHLeftBat: TMenuItem; + mnuViewHLeftDiff: TMenuItem; + mnuViewHLeftIni: TMenuItem; + mnuViewHLeftPo: TMenuItem; + //Popup menus + //Popup menu for editor + EditorPopupMenu: TPopupMenu; + mnuEditPopupSelectAll: TMenuItem; + mnuEditPopupPaste: TMenuItem; + mnuEditPopupCut: TMenuItem; + mnuEditPopupCopy: TMenuItem; + //Dropdownmenu for HeadingBtn + HeadingDropDownMenu: TPopupMenu; + mnuPopupLayoutH6: TMenuItem; + mnuPopupLayoutH5: TMenuItem; + mnuPopupLayoutH4: TMenuItem; + mnuPopupLayoutH3: TMenuItem; + mnuPopupLayoutH2: TMenuItem; + mnuPopupLayoutH1: TMenuItem; } + { About box strings } +// lpSupport, lpSupportInfo, lpLicense, lpLicenseInfo, lpAuthors, +// lpContributorsTitle, lpAboutWindow, lpClose, lpInformation: string; + : string; + { Methods } + procedure TranslateToEnglish; + procedure TranslateToPortuguese; + procedure TranslateToDutch; + procedure TranslateToLanguageID(AID: Integer); + end; + +var + vTranslations: TTranslations; + +implementation + +{ TTranslations } + +procedure TTranslations.TranslateToEnglish; +begin + mnuFile := 'File'; + mnuFileOpen := 'Open'; + mnuFileNewFromTemplate := 'New from template ...'; + mnuFileNew := 'New'; + { mnuFileNewText, + mnuFileNewHtml: TMenuItem; + mnuFileNewXml: TMenuItem; + mnuFileNewCss: TMenuItem; + mnuFileNewJS: TMenuItem; + mnuFileNewFpc: TMenuItem; + mnuFileNewC: TMenuItem; + mnuFileNewPy: TMenuItem; + mnuFileNewPhp: TMenuItem; + mnuFileNewPerl: TMenuItem; + mnuFileNewShellScript: TMenuItem; + mnuFileNewBat: TMenuItem; + mnuFileNewIni: TMenuItem;} + mnuFileSave := 'Save'; + mnuFileSaveAs := 'Save as'; + mnuFileSaveAll := 'Save all'; + mnuFileCloseCurrent := 'Close current'; + //mnuSep1: TMenuItem; + mnuFileOpenInBrowser := 'Open in browser'; + //mnuSepAboveMru: TMenuItem; + mnuFileCloseApp := 'Close application'; + //Edit menu + mnuEdit := 'Edit'; + mnuEditUndo := 'Undo'; + mnuEditRedo := 'Redo'; + //mnuSep11: TMenuItem; + mnuEditCopy := 'Copy'; + mnuEditCut := 'Cut'; + mnuEditPaste := 'Paste'; + mnuEditSelectAll := 'Select all'; +end; + +procedure TTranslations.TranslateToPortuguese; +begin + mnuFile := '&Arquivo'; + mnuFileOpen := 'Open'; + mnuFileNewFromTemplate := 'Nieuw van sjabloon ...'; + mnuFileNew := 'Open'; + { mnuFileNewText, + mnuFileNewHtml: TMenuItem; + mnuFileNewXml: TMenuItem; + mnuFileNewCss: TMenuItem; + mnuFileNewJS: TMenuItem; + mnuFileNewFpc: TMenuItem; + mnuFileNewC: TMenuItem; + mnuFileNewPy: TMenuItem; + mnuFileNewPhp: TMenuItem; + mnuFileNewPerl: TMenuItem; + mnuFileNewShellScript: TMenuItem; + mnuFileNewBat: TMenuItem; + mnuFileNewIni: TMenuItem;} + mnuFileSave := 'Open'; + mnuFileSaveAs := 'Open'; + mnuFileSaveAll := 'Open'; + mnuFileCloseCurrent := 'Open'; + //mnuSep1: TMenuItem; + mnuFileOpenInBrowser := 'Open'; + //mnuSepAboveMru: TMenuItem; + mnuFileCloseApp := 'Open'; + //Edit menu + mnuEdit := 'Open'; + mnuEditUndo := 'Open'; + mnuEditRedo := 'Open'; + //mnuSep11: TMenuItem; + mnuEditCopy := 'Open'; + mnuEditCut := 'Open'; + mnuEditPaste := 'Open'; + mnuEditSelectAll := 'Open'; +end; + +procedure TTranslations.TranslateToDutch; +begin + mnuFile := 'Bestand'; + mnuFileOpen := 'Open'; + mnuFileNewFromTemplate := 'Nieuw van sjabloon ...'; + mnuFileNew := 'Open'; + { mnuFileNewText, + mnuFileNewHtml: TMenuItem; + mnuFileNewXml: TMenuItem; + mnuFileNewCss: TMenuItem; + mnuFileNewJS: TMenuItem; + mnuFileNewFpc: TMenuItem; + mnuFileNewC: TMenuItem; + mnuFileNewPy: TMenuItem; + mnuFileNewPhp: TMenuItem; + mnuFileNewPerl: TMenuItem; + mnuFileNewShellScript: TMenuItem; + mnuFileNewBat: TMenuItem; + mnuFileNewIni: TMenuItem;} + mnuFileSave := 'Op&slaan'; + mnuFileSaveAs := 'Opslaan &als ...'; + mnuFileSaveAll := '&Alles opslaan'; + mnuFileCloseCurrent := 'Sl&uiten'; + //mnuSep1: TMenuItem; + mnuFileOpenInBrowser := 'Open in &browser'; + //mnuSepAboveMru: TMenuItem; + mnuFileCloseApp := 'Afsluiten'; + //Edit menu + mnuEdit := 'Be&werken'; + mnuEditUndo := '&Ongedaan maken'; + mnuEditRedo := '&Herhalen'; + //mnuSep11: TMenuItem; + mnuEditCopy := '&Kopiëren'; + mnuEditCut := 'K&nippen'; + mnuEditPaste := '&Plakken'; + mnuEditSelectAll := '&Alles selecteren'; +end; + +procedure TTranslations.TranslateToLanguageID(AID: Integer); +begin + case AID of + 1: TranslateToDutch; + 2: TranslateToPortuguese; + else + TranslateToEnglish; + end; +end; + +initialization + +vTranslations := TTranslations.Create; +vTranslations.TranslateToEnglish + +finalization + +FreeAndNil(vTranslations); + +end. + diff --git a/applications/lazedit/main.lfm b/applications/lazedit/main.lfm index 2a8f17b21..fdac082d2 100644 --- a/applications/lazedit/main.lfm +++ b/applications/lazedit/main.lfm @@ -1735,6 +1735,26 @@ object EPlusForm: TEPlusForm end end end + object mnuTools: TMenuItem + Caption = 'Tools' + object mnuLanguage: TMenuItem + Caption = 'Language' + object mnuEnglish: TMenuItem + Caption = 'English' + OnClick = mnuLanguageChangeClick + end + object mnuDutch: TMenuItem + Tag = 1 + Caption = 'Dutch' + OnClick = mnuLanguageChangeClick + end + object mnuPortuguese: TMenuItem + Tag = 2 + Caption = 'Português' + OnClick = mnuLanguageChangeClick + end + end + end object mnuAbout: TMenuItem Action = acAbout end diff --git a/applications/lazedit/main.pp b/applications/lazedit/main.pp index 8102abb76..b44b976e6 100644 --- a/applications/lazedit/main.pp +++ b/applications/lazedit/main.pp @@ -46,7 +46,8 @@ uses LMessages, {for overridden IsShortCut} SynEdit, SynEditTypes, EditorPageControl, - EPlus_Commons, EPlus_Config, HtmlCode, HtmlDialogs, CopyLeft{ + EPlus_Commons, EPlus_Config, HtmlCode, HtmlDialogs, lazedit_constants, + lazedit_translations{ MyFileUtils, Fcl_Misc, MruLists, MyGetOpt, ExtAbout, NlAutoTranslation}; type @@ -107,6 +108,11 @@ type HtmlToolbarImageList: TImageList; MainToolbarImageList: TImageList; MainMenu: TMainMenu; + mnuLanguage: TMenuItem; + mnuEnglish: TMenuItem; + mnuDutch: TMenuItem; + mnuPortuguese: TMenuItem; + mnuTools: TMenuItem; mnuEditPasteTableContentTab: TMenuItem; mnuEditPasteSpecial: TMenuItem; mnuAbout: TMenuItem; @@ -352,6 +358,7 @@ type procedure FormDestroy(Sender: TObject); procedure FormDropFiles(Sender: TObject; const FileNames: array of String); procedure FormShow(Sender: TObject); + procedure mnuLanguageChangeClick(Sender: TObject); //Main menu events procedure TopLevelMenuClick(Sender: TObject); @@ -430,7 +437,8 @@ type MruList: TStringList; MruMenuItems: Array[0..MruEntries-1] of TMenuItem; - procedure SetUpAndConfigureEPlus; + procedure SetUpAndConfigureLazEdit; + procedure DoTranslate; procedure SaveEplusConfiguration; procedure CleanUp; @@ -568,7 +576,8 @@ const pXY = 0; //Panels constanten procedure TEPlusForm.FormCreate(Sender: TObject); begin - SetUpAndConfigureEPlus; + SetUpAndConfigureLazEdit; + Self.DoTranslate(); end; procedure TEPlusForm.FormDestroy(Sender: TObject); @@ -615,6 +624,12 @@ begin Application.QueueAsyncCall(@ParseCommandLineFileNames, 0); end; +procedure TEPlusForm.mnuLanguageChangeClick(Sender: TObject); +begin + vTranslations.TranslateToLanguageID(TMenuItem(Sender).Tag); + DoTranslate(); +end; + { ********************** [ Menu OnClick Handlers ] ************************ } @@ -1081,7 +1096,7 @@ end; { ********************** [ Initializing and cleaning up ] ************* } -procedure TEPlusForm.SetUpAndConfigureEPlus; +procedure TEPlusForm.SetUpAndConfigureLazEdit; begin ConfigFileDir := GetDefaultIniDir; ParseCommandLineSwitches; @@ -1147,6 +1162,143 @@ begin end; +procedure TEPlusForm.DoTranslate; +begin +{ mnuEditPasteTableContentTab: TMenuItem; + mnuEditPasteSpecial: TMenuItem; + mnuAbout: TMenuItem; + mnuViewFont: TMenuItem;} + //File menu + mnuFile.Caption := vTranslations.mnuFile; + mnuFileOpen.Caption := vTranslations.mnuFileOpen; + mnuFileNewFromTemplate.Caption := vTranslations.mnuFileNewFromTemplate; + mnuFileNew.Caption := vTranslations.mnuFileNew; +{ mnuFileNewText: TMenuItem; + mnuFileNewHtml: TMenuItem; + mnuFileNewXml: TMenuItem; + mnuFileNewCss: TMenuItem; + mnuFileNewJS: TMenuItem; + mnuFileNewFpc: TMenuItem; + mnuFileNewC: TMenuItem; + mnuFileNewPy: TMenuItem; + mnuFileNewPhp: TMenuItem; + mnuFileNewPerl: TMenuItem; + mnuFileNewShellScript: TMenuItem; + mnuFileNewBat: TMenuItem; + mnuFileNewIni: TMenuItem;} + mnuFileSave.Caption := vTranslations.mnuFileSave; + mnuFileSaveAs.Caption := vTranslations.mnuFileSaveAs; + mnuFileSaveAll.Caption := vTranslations.mnuFileSaveAll; + mnuFileCloseCurrent.Caption := vTranslations.mnuFileCloseCurrent; + //mnuSep1: TMenuItem; + mnuFileOpenInBrowser.Caption := vTranslations.mnuFileOpenInBrowser; + //mnuSepAboveMru: TMenuItem; + mnuFileCloseApp.Caption := vTranslations.mnuFileCloseApp; + //Edit menu + mnuEdit.Caption := vTranslations.mnuEdit; + mnuEditUndo.Caption := vTranslations.mnuEditUndo; + mnuEditRedo.Caption := vTranslations.mnuEditRedo; + //mnuSep11: TMenuItem; + mnuEditCopy.Caption := vTranslations.mnuEditCopy; + mnuEditCut.Caption := vTranslations.mnuEditCut; + mnuEditPaste.Caption := vTranslations.mnuEditPaste; + mnuEditSelectAll.Caption := vTranslations.mnuEditSelectAll; + {mnuSep12: TMenuItem; + mnuEditReplace: TMenuItem; + mnuEditFindNext: TMenuItem; + mnuEditFind: TMenuItem; + //Insert menu + mnuInsert: TMenuItem; + mnuInsertAnchor: TMenuItem; + mnuInsertList: TMenuItem; + mnuInsertUList: TMenuItem; + mnuInsertNList: TMenuItem; + mnuInsertWordList: TMenuItem; + mnuInsetListItem: TMenuItem; + mnuInsertWordTerm: TMenuItem; + mnuInsertWordDefinition: TMenuItem; + mnuInsertTable: TMenuItem; + mnInsertNewTable: TMenuItem; + mnuInsertTableCell: TMenuItem; + mnuInsertTableRow: TMenuItem; + mnuInsertPicture: TMenuItem; + mnuInsertSpecialChars: TMenuItem; + mnuInsertLineBreak: TMenuItem; + mnuInsertSep1: TMenuItem; + mnuInsertHtmlComment: TMenuItem; + mnuInsertJS: TMenuItem; + mnuInsertCssStyle: TMenuItem; + //Layout menu + mnuLayout: TMenuItem; + mnuLayoutBold: TMenuItem; + mnuLayoutAlignJustify: TMenuItem; + mnuLayoutItalic: TMenuItem; + mnuLayoutUnderline: TMenuItem; + mnuLayoutSub: TMenuItem; + mnuLayoutSup: TMenuItem; + mnuLayoutEmphasis: TMenuItem; + mnuLayoutStrong: TMenuItem; + mnuLayoutHeadings: TMenuItem; + mnuLayoutH1: TMenuItem; + mnuLayoutH2: TMenuItem; + mnuLayoutH3: TMenuItem; + mnuLayoutH4: TMenuItem; + mnuLayoutH5: TMenuItem; + mnuLayoutH6: TMenuItem; + mnuLayoutAlign: TMenuItem; + mnuLayoutAlignLeft: TMenuItem; + mnuLayoutAlignRight: TMenuItem; + mnuLayoutAlignCenter: TMenuItem; + mnuLayoutCode: TMenuItem; + mnuLayoutQuote: TMenuItem; + mnuLayoutBlockQuote: TMenuItem; + mnuLayoutPreformatted: TMenuItem; + //Grouping menu + mnuGrouping: TMenuItem; + mnuGroupingParagraph: TMenuItem; + mnuGroupingDiv: TMenuItem; + mnuGroupingSpan: TMenuItem; + //View menu + mnuView: TMenuItem; + mnuViewFontsize: TMenuItem; + mnuViewFontSizeUp: TMenuItem; + mnuViewFontsizeDown: TMenuItem; + mnuViewHighlighter: TMenuItem; + //these menu items MUST have names that are built like this: + //'mnuViewHL' + eftNames[SomeIndex] + mnuViewHLeftNone: TMenuItem; + mnuViewHLeftHtml: TMenuItem; + mnuViewHLeftXml: TMenuItem; + mnuViewHLeftCss: TMenuItem; + mnuViewHLeftJS: TMenuItem; + mnuViewHLeftFpc: TMenuItem; + mnuViewHLeftLfm: TMenuItem; + mnuViewHLeftC: TMenuItem; + mnuViewHLeftPy: TMenuItem; + mnuViewHLeftPhp: TMenuItem; + mnuViewHLeftPerl: TMenuItem; + mnuViewHLeftUNIXShell: TMenuItem; + mnuViewHLeftBat: TMenuItem; + mnuViewHLeftDiff: TMenuItem; + mnuViewHLeftIni: TMenuItem; + mnuViewHLeftPo: TMenuItem; + //Popup menus + //Popup menu for editor + EditorPopupMenu: TPopupMenu; + mnuEditPopupSelectAll: TMenuItem; + mnuEditPopupPaste: TMenuItem; + mnuEditPopupCut: TMenuItem; + mnuEditPopupCopy: TMenuItem; + //Dropdownmenu for HeadingBtn + HeadingDropDownMenu: TPopupMenu; + mnuPopupLayoutH6: TMenuItem; + mnuPopupLayoutH5: TMenuItem; + mnuPopupLayoutH4: TMenuItem; + mnuPopupLayoutH3: TMenuItem; + mnuPopupLayoutH2: TMenuItem; + mnuPopupLayoutH1: TMenuItem; } +end; + procedure TEPlusForm.SaveEplusConfiguration; begin GatherAppOptions(AppOptions); @@ -1243,6 +1395,9 @@ begin if (Options.RecentFiles[i] <> '') then MruList.Add(Options.RecentFiles[i]); end; + + // Translation + vTranslations.TranslateToLanguageID(Options.Translation); end; procedure TEPlusForm.GatherAppOptions(var Options: TEplusOptions);