⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 langunit.pas

📁 IDE开发环境
💻 PAS
字号:
unit LangUnit;
               
interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Controls, Forms,
  Dialogs, TBXDkPanels, StdCtrls, INIFiles, Buttons;

type
  TLanguageFrm = class(TForm)
    TopLabel: TLabel;
    LangLabel: TLabel;
    InstallLang: TButton;
    DescLabel: TLabel;
    ComboBox1: TComboBox;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    procedure FormCreate(Sender: TObject);
    procedure btnChangeLangClick(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure InstallLangClick(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure ChangeLang(SetTo : String);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  LanguageFrm: TLanguageFrm;

  LanguageINI : TINIFile;
  SetTo : String;
  TrueName      : String;   //Used for figuring out the number of the language selected
  LanguageCount : Integer; //Number of languages

  GlobalINI : TINIFile;

implementation

uses MainUnit, InstallLang;

//uses MainUnit;

{$R *.dfm}

procedure TLanguageFrm.ChangeLang(SetTo : String);
begin
//LanguageINI := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Languages\'+SetTo);

//File:
MainForm.File1.Caption := LanguageINI.ReadString('Menu Bar', 'File', 'File');
  MainForm.TBXSubmenuItem8.Caption := LanguageINI.ReadString('File', 'New', 'New'); //New menu item
  MainForm.Open.Caption := LanguageINI.ReadString('File', 'Open', 'Open');
  MainForm.Save1.Caption := LanguageINI.ReadString('File', 'Save', 'Save');
  MainForm.SaveAs1.Caption := LanguageINI.ReadString('File', 'Save As', 'Save As...');
  MainForm.Print.Caption := LanguageINI.ReadString('File', 'Print', 'Print');
  MainForm.Close1.Caption := LanguageINI.ReadString('File', 'Close', 'Close');
  MainForm.Exit1.Caption := LanguageINI.ReadString('File', 'Exit', 'Exit');

  //File|New:
    MainForm.TBXItem16.Caption := LanguageINI.ReadString('FileNew', 'Project', 'Project');
    MainForm.TBXItem17.Caption := LanguageINI.ReadString('FileNew', 'Form', 'Form');
    MainForm.TBXItem15.Caption := LanguageINI.ReadString('FileNew', 'BASIC File', 'BASIC File');

//Edit:
MainForm.Edit1.Caption := LanguageINI.ReadString('Menu Bar', 'Edit', 'Edit');
  MainForm.Undo1.Caption := LanguageINI.ReadString('Edit', 'Undo', 'Undo');
  
  MainForm.Cut.Caption := LanguageINI.ReadString('Edit', 'Cut', 'Cut');
  MainForm.Copy.Caption := LanguageINI.ReadString('Edit', 'Copy', 'Copy');
  MainForm.Paste.Caption := LanguageINI.ReadString('Edit', 'Paste', 'Paste');
  MainForm.TBXItem24.Caption := LanguageINI.ReadString('Edit', 'Select All', 'Select All');
  
  MainForm.AlignToGrid.Caption := LanguageINI.ReadString('Edit', 'Align to grid', 'Align to grid');
  MainForm.TBXItem20.Caption := LanguageINI.ReadString('Edit', 'Send to back', 'Send to back'); //Send to back
  MainForm.TBXItem21.Caption := LanguageINI.ReadString('Edit', 'Bring to front', 'Bring to Front'); //Bring to front
  MainForm.EditMode1.Caption := LanguageINI.ReadString('Edit', 'Edit Mode', 'Edit Mode');

//Code Editor:
MainForm.mnuCodeEditor.Caption := LanguageINI.ReadString('Menu Bar', 'Code Editor', 'Code Editor');
  MainForm.mnuCommentOut.Caption := LanguageINI.ReadString('Code Editor', 'Comment Out Selected', 'Comment Out Selected');
  MainForm.mnuUnComment.Caption := LanguageINI.ReadString('Code Editor', 'Uncomment Out Selected', 'Uncomment Out Selected');
  MainForm.mnuCallDLL.Caption := LanguageINI.ReadString('Code Editor', 'Call DLL', 'Call DLL');

//Form Designer:
MainForm.mnuFormDesigner.Caption := LanguageINI.ReadString('Menu Bar', 'Form Designer', 'Form Designer');
  //no menu items for the Form Designer menu--yet.

//Search:
MainForm.TBXSubmenuItem1.Caption := LanguageINI.ReadString('Menu Bar', 'Search', 'Search');
  MainForm.TBXItem8.Caption := LanguageINI.ReadString('Search', 'Find', 'Find'); //Find item
  MainForm.TBXItem9.Caption := LanguageINI.ReadString('Search', 'Find and Replace', 'Find and Replace');
  MainForm.TBXItem10.Caption := LanguageINI.ReadString('Search', 'Go to line', 'Go to Line');

//View:
MainForm.TBXSubmenuItem5.Caption := LanguageINI.ReadString('Menu Bar', 'View', 'View');
  MainForm.TBXItem13.Caption := LanguageINI.ReadString('View', 'Project Manager', 'Project Manager');
  MainForm.TBXItem18.Caption := LanguageINI.ReadString('View', 'Object Inspector', 'Object Inspector');
  MainForm.TBXItem19.Caption := LanguageINI.ReadString('View', 'Project TreeView', 'Project TreeView');
  MainForm.TBXItem31.Caption := LanguageINI.ReadString('View', 'Cascade', 'Cascade');
  MainForm.TBXItem32.Caption := LanguageINI.ReadString('View', 'Tile', 'Tile');

//Project:
MainForm.TBXSubmenuItem3.Caption := LanguageINI.ReadString('Menu Bar', 'Project', 'Project');
  MainForm.TBXItem25.Caption := LanguageINI.ReadString('Project', 'Change Icon', 'Change Icon');

  //Menu Style:
  MainForm.TBXSubmenuItem6.Caption := LanguageINI.ReadString('Project', 'Menu Style', 'Menu Style');
    MainForm.NormalStyleMenus1.Caption := LanguageINI.ReadString('Menu Style', 'Normal', 'Normal');
    MainForm.StripesStyleMenus1.Caption := LanguageINI.ReadString('Menu Style', 'Stripes', 'Stripes');
    MainForm.XPStyleMenus1.Caption := LanguageINI.ReadString('Menu Style', 'XP', 'XP');

  //Mode:
  MainForm.TBXSubmenuItem7.Caption := LanguageINI.ReadString('Project', 'Mode', 'Mode');
    MainForm.RQ1.Caption := LanguageINI.ReadString('Mode', 'Rapid-Q', 'Rapid-Q');
    MainForm.KB1.Caption := LanguageINI.ReadString('Mode', 'KoolBASIC', 'KoolBASIC');
    MainForm.BPP1.Caption := LanguageINI.ReadString('Mode', 'B++', 'B++');


//Run:
MainForm.TBXSubmenuItem2.Caption := LanguageINI.ReadString('Menu Bar', 'Run', 'Run');
  MainForm.CompileRun1.Caption := LanguageINI.ReadString('Run', 'Compile and Run', 'Compile && Run');
  MainForm.Compile1.Caption := LanguageINI.ReadString('Run', 'Compile', 'Compile');

//Options:
MainForm.TBXSubmenuItem9.Caption := LanguageINI.ReadString('Menu Bar', 'Options', 'Options');
  MainForm.OptionsItem.Caption := LanguageINI.ReadString('Options', 'Options', 'Options');
  MainForm.LanguageItem.Caption := LanguageINI.ReadString('Options', 'Language', 'Language');
  MainForm.TBXItem22.Caption := LanguageINI.ReadString('Options', 'CodeSense Options', 'CodeSense Options');

//Help:
MainForm.TBXSubmenuItem4.Caption := LanguageINI.ReadString('Menu Bar', 'Help', 'Help');
  MainForm.TBXItem27.Caption := LanguageINI.ReadString('Help', 'Help', 'Help');
  MainForm.TBXItem28.Caption := LanguageINI.ReadString('Help', 'About', 'About');
  MainForm.TBXItem23.Caption := LanguageINI.ReadString('Help', 'About CodeSense', 'About CodeSense');

end;

procedure TLanguageFrm.FormCreate(Sender: TObject);
var
  CurrentlyAt   : Integer; //Yep, again.
  CheckedName   : String;
  SettingsINI   : TINIFile;
begin
SettingsINI := TINIFile.Create('BASICIDE.INI');
ComboBox1.Text := SettingsINI.ReadString('Options', 'Language', 'English');

//LanguageINI := TINIFile.Create(ExtractFilePath(Application.ExeName)+'Languages\English.lng');
GlobalINI := TINIFile.Create(ExtractFilePath(Application.ExeName)+'Languages.ini');

LanguageCount := GlobalINI.ReadInteger('Main', 'LanguageCount', 1);
For CurrentlyAt := 1 to LanguageCount do
  begin
    ComboBox1.Items.Add(GlobalINI.ReadString('Main', 'Language'+IntToStr(CurrentlyAt), 'Language1'))
  end;

SettingsINI.Free;
end;

procedure TLanguageFrm.btnChangeLangClick(Sender: TObject);
begin
ChangeLang(ComboBox1.Text);
end;

procedure TLanguageFrm.BitBtn1Click(Sender: TObject);
var
  CurrentlyAt : Integer; //Yawn...
  CheckedName : String;
  SettingsINI : TINIFile; //BASICIDE.INI
begin
SettingsINI := TINIFile.Create('BASICIDE.INI');
SettingsINI.WriteString('Options', 'Language', ComboBox1.Text);
SettingsINI.Free;

For CurrentlyAt := 1 to LanguageCount do
  begin
    CheckedName := GlobalINI.ReadString('Main', 'Language'+IntToStr(CurrentlyAt), 'English');
    IF CheckedName = ComboBox1.Text then
    begin
      TrueName := GlobalINI.ReadString('Language'+IntToStr(CurrentlyAt), 'Filename', 'English.lng');
    end
    else
      Continue;
  end;

LanguageINI := TINIFile.Create(ExtractFilePath(Application.ExeName)+'Languages\'+TrueName);
ChangeLang(TrueName);
LanguageFrm.Close;
end;

procedure TLanguageFrm.InstallLangClick(Sender: TObject);
begin
InstallLangFrm.Show;
end;

procedure TLanguageFrm.BitBtn2Click(Sender: TObject);
begin
LanguageFrm.Close;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -