summaryrefslogtreecommitdiff
path: root/tools/langpackmgr
diff options
context:
space:
mode:
authorVadim Dashevskiy <watcherhd@gmail.com>2013-12-19 12:52:06 +0000
committerVadim Dashevskiy <watcherhd@gmail.com>2013-12-19 12:52:06 +0000
commitd318d9f39934e77e9629a55083297a3d5f68ebcd (patch)
tree5b246af7ea6fb2b20c63fc3ae7b9a6a0567c77c1 /tools/langpackmgr
parent5b6cb248511f922818a92dcc613ddbf08ec96dc9 (diff)
LangPackMgr and replacer tools update (from Jebifor)
git-svn-id: http://svn.miranda-ng.org/main/trunk@7282 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'tools/langpackmgr')
-rw-r--r--tools/langpackmgr/LangPackMgr.dpr19
-rw-r--r--tools/langpackmgr/LangPackMgr.dproj218
-rw-r--r--tools/langpackmgr/Unit1.dfm102
-rw-r--r--tools/langpackmgr/Unit1.pas534
-rw-r--r--tools/langpackmgr/langpackmgr.icobin0 -> 15086 bytes
-rw-r--r--tools/langpackmgr/langpackmgr.lpi91
-rw-r--r--tools/langpackmgr/langpackmgr.lpr21
-rw-r--r--tools/langpackmgr/langpackmgr.lps171
-rw-r--r--tools/langpackmgr/lpmanager_Icon.icobin5430 -> 0 bytes
-rw-r--r--tools/langpackmgr/unit1.lfm142
10 files changed, 681 insertions, 617 deletions
diff --git a/tools/langpackmgr/LangPackMgr.dpr b/tools/langpackmgr/LangPackMgr.dpr
deleted file mode 100644
index 028bee13c4..0000000000
--- a/tools/langpackmgr/LangPackMgr.dpr
+++ /dev/null
@@ -1,19 +0,0 @@
-program LangPackMgr;
-
-uses
- Vcl.Forms,
- Unit1 in 'Unit1.pas' {Form1};
-
-{ IMAGE_FILE_LINE_NUMS_STRIPPED or IMAGE_FILE_LOCAL_SYMS_STRIPPED or
- IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP or IMAGE_FILE_NET_RUN_FROM_SWAP}
- {$WEAKLINKRTTI ON}
- {$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}
-{$R *.res}
-
-begin
- Application.Initialize;
- Application.MainFormOnTaskbar := True;
- Application.Title := 'Miranda LangPack Manager';
- Application.CreateForm(TForm1, Form1);
- Application.Run;
-end.
diff --git a/tools/langpackmgr/LangPackMgr.dproj b/tools/langpackmgr/LangPackMgr.dproj
deleted file mode 100644
index 31b4ad8a33..0000000000
--- a/tools/langpackmgr/LangPackMgr.dproj
+++ /dev/null
@@ -1,218 +0,0 @@
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <ProjectGuid>{2DD0A017-C6BD-47BC-89F3-19A1F4372290}</ProjectGuid>
- <ProjectVersion>14.6</ProjectVersion>
- <FrameworkType>VCL</FrameworkType>
- <MainSource>LangPackMgr.dpr</MainSource>
- <Base>True</Base>
- <Config Condition="'$(Config)'==''">Release</Config>
- <Platform Condition="'$(Platform)'==''">Win32</Platform>
- <TargetedPlatforms>3</TargetedPlatforms>
- <AppType>Application</AppType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
- <Base>true</Base>
- </PropertyGroup>
- <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''">
- <Base_Win32>true</Base_Win32>
- <CfgParent>Base</CfgParent>
- <Base>true</Base>
- </PropertyGroup>
- <PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''">
- <Base_Win64>true</Base_Win64>
- <CfgParent>Base</CfgParent>
- <Base>true</Base>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_1)'!=''">
- <Cfg_1>true</Cfg_1>
- <CfgParent>Base</CfgParent>
- <Base>true</Base>
- </PropertyGroup>
- <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win32)'!=''">
- <Cfg_1_Win32>true</Cfg_1_Win32>
- <CfgParent>Cfg_1</CfgParent>
- <Cfg_1>true</Cfg_1>
- <Base>true</Base>
- </PropertyGroup>
- <PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win64)'!=''">
- <Cfg_1_Win64>true</Cfg_1_Win64>
- <CfgParent>Cfg_1</CfgParent>
- <Cfg_1>true</Cfg_1>
- <Base>true</Base>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_2)'!=''">
- <Cfg_2>true</Cfg_2>
- <CfgParent>Base</CfgParent>
- <Base>true</Base>
- </PropertyGroup>
- <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win32)'!=''">
- <Cfg_2_Win32>true</Cfg_2_Win32>
- <CfgParent>Cfg_2</CfgParent>
- <Cfg_2>true</Cfg_2>
- <Base>true</Base>
- </PropertyGroup>
- <PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win64)'!=''">
- <Cfg_2_Win64>true</Cfg_2_Win64>
- <CfgParent>Cfg_2</CfgParent>
- <Cfg_2>true</Cfg_2>
- <Base>true</Base>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Base)'!=''">
- <VerInfo_Locale>1049</VerInfo_Locale>
- <VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=2.0.1.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=2.0.0.0;Comments=</VerInfo_Keys>
- <Manifest_File>None</Manifest_File>
- <DCC_Namespace>System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace)</DCC_Namespace>
- <Icon_MainIcon>$(BDS)\bin\delphi_PROJECTICON.ico</Icon_MainIcon>
- <DCC_DcuOutput>.\$(Platform)\$(Config)</DCC_DcuOutput>
- <DCC_ExeOutput>.\..\..\langpacks\</DCC_ExeOutput>
- <DCC_E>false</DCC_E>
- <DCC_N>false</DCC_N>
- <DCC_S>false</DCC_S>
- <DCC_F>false</DCC_F>
- <DCC_K>false</DCC_K>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Base_Win32)'!=''">
- <DCC_UsePackage>bindcompfmx;DBXSqliteDriver;vcldbx;rtl;dbrtl;DbxClientDriver;IndySystem;bindcomp;inetdb;inetdbbde;DBXInterBaseDriver;DataSnapClient;DataSnapCommon;DBXOdbcDriver;DataSnapServer;DataSnapProviderClient;xmlrtl;svnui;DBXSybaseASEDriver;DbxCommonDriver;vclimg;IndyProtocols;dbxcds;DBXMySQLDriver;DatasnapConnectorsFreePascal;MetropolisUILiveTile;bindcompdbx;vclactnband;bindengine;vcldb;soaprtl;vcldsnap;bindcompvcl;vclie;vcltouch;DBXDb2Driver;DBXOracleDriver;CustomIPTransport;VclSmp;dsnap;IndyIPServer;DBXInformixDriver;IndyCore;vcl;DataSnapConnectors;IndyIPCommon;CloudService;DBXMSSQLDriver;dsnapcon;DBXFirebirdDriver;inet;vclx;inetdbxpress;webdsnap;svn;DBXSybaseASADriver;bdertl;dbexpress;adortl;DataSnapIndy10ServerTransport;IndyIPClient;$(DCC_UsePackage)</DCC_UsePackage>
- <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
- <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
- <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
- <VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
- <VerInfo_Locale>1033</VerInfo_Locale>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Base_Win64)'!=''">
- <DCC_UsePackage>bindcompfmx;DBXSqliteDriver;rtl;dbrtl;DbxClientDriver;IndySystem;bindcomp;inetdb;DBXInterBaseDriver;DataSnapClient;DataSnapCommon;DBXOdbcDriver;DataSnapServer;DataSnapProviderClient;xmlrtl;DBXSybaseASEDriver;DbxCommonDriver;vclimg;IndyProtocols;dbxcds;DBXMySQLDriver;DatasnapConnectorsFreePascal;MetropolisUILiveTile;bindcompdbx;vclactnband;bindengine;vcldb;soaprtl;vcldsnap;bindcompvcl;vclie;vcltouch;DBXDb2Driver;DBXOracleDriver;CustomIPTransport;VclSmp;dsnap;IndyIPServer;DBXInformixDriver;IndyCore;vcl;DataSnapConnectors;IndyIPCommon;CloudService;DBXMSSQLDriver;dsnapcon;DBXFirebirdDriver;inet;vclx;inetdbxpress;webdsnap;DBXSybaseASADriver;dbexpress;adortl;DataSnapIndy10ServerTransport;IndyIPClient;$(DCC_UsePackage)</DCC_UsePackage>
- <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
- <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace)</DCC_Namespace>
- <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
- <VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
- <VerInfo_Locale>1033</VerInfo_Locale>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Cfg_1)'!=''">
- <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
- <DCC_DebugDCUs>true</DCC_DebugDCUs>
- <DCC_Optimize>false</DCC_Optimize>
- <DCC_GenerateStackFrames>true</DCC_GenerateStackFrames>
- <DCC_DebugInfoInExe>true</DCC_DebugInfoInExe>
- <DCC_RemoteDebug>true</DCC_RemoteDebug>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Cfg_1_Win32)'!=''">
- <VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
- <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
- <VerInfo_Locale>1033</VerInfo_Locale>
- <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
- <DCC_RemoteDebug>false</DCC_RemoteDebug>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Cfg_1_Win64)'!=''">
- <VerInfo_Locale>1033</VerInfo_Locale>
- <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
- <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
- <VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Cfg_2)'!=''">
- <DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
- <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
- <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
- <DCC_DebugInformation>false</DCC_DebugInformation>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
- <VerInfo_Build>1</VerInfo_Build>
- <VerInfo_MajorVer>2</VerInfo_MajorVer>
- <VerInfo_AutoIncVersion>true</VerInfo_AutoIncVersion>
- <VerInfo_Locale>1059</VerInfo_Locale>
- <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
- <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
- <VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=2.0.0.1;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=2.0.0.1;Comments=</VerInfo_Keys>
- <Icon_MainIcon>LPmanager_Icon.ico</Icon_MainIcon>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Cfg_2_Win64)'!=''">
- <VerInfo_Locale>1059</VerInfo_Locale>
- <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
- <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
- <VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
- </PropertyGroup>
- <ItemGroup>
- <DelphiCompile Include="$(MainSource)">
- <MainSource>MainSource</MainSource>
- </DelphiCompile>
- <DCCReference Include="Unit1.pas">
- <Form>Form1</Form>
- <FormType>dfm</FormType>
- </DCCReference>
- <BuildConfiguration Include="Release">
- <Key>Cfg_2</Key>
- <CfgParent>Base</CfgParent>
- </BuildConfiguration>
- <BuildConfiguration Include="Base">
- <Key>Base</Key>
- </BuildConfiguration>
- <BuildConfiguration Include="Debug">
- <Key>Cfg_1</Key>
- <CfgParent>Base</CfgParent>
- </BuildConfiguration>
- </ItemGroup>
- <ProjectExtensions>
- <Borland.Personality>Delphi.Personality.12</Borland.Personality>
- <Borland.ProjectType/>
- <BorlandProject>
- <Delphi.Personality>
- <VersionInfo>
- <VersionInfo Name="IncludeVerInfo">False</VersionInfo>
- <VersionInfo Name="AutoIncBuild">False</VersionInfo>
- <VersionInfo Name="MajorVer">1</VersionInfo>
- <VersionInfo Name="MinorVer">0</VersionInfo>
- <VersionInfo Name="Release">0</VersionInfo>
- <VersionInfo Name="Build">0</VersionInfo>
- <VersionInfo Name="Debug">False</VersionInfo>
- <VersionInfo Name="PreRelease">False</VersionInfo>
- <VersionInfo Name="Special">False</VersionInfo>
- <VersionInfo Name="Private">False</VersionInfo>
- <VersionInfo Name="DLL">False</VersionInfo>
- <VersionInfo Name="Locale">1049</VersionInfo>
- <VersionInfo Name="CodePage">1251</VersionInfo>
- </VersionInfo>
- <VersionInfoKeys>
- <VersionInfoKeys Name="CompanyName"/>
- <VersionInfoKeys Name="FileDescription"/>
- <VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
- <VersionInfoKeys Name="InternalName"/>
- <VersionInfoKeys Name="LegalCopyright"/>
- <VersionInfoKeys Name="LegalTrademarks"/>
- <VersionInfoKeys Name="OriginalFilename"/>
- <VersionInfoKeys Name="ProductName"/>
- <VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
- <VersionInfoKeys Name="Comments"/>
- <VersionInfoKeys Name="CFBundleName"/>
- <VersionInfoKeys Name="CFBundleDisplayName"/>
- <VersionInfoKeys Name="UIDeviceFamily"/>
- <VersionInfoKeys Name="CFBundleIdentifier"/>
- <VersionInfoKeys Name="CFBundleVersion"/>
- <VersionInfoKeys Name="CFBundlePackageType"/>
- <VersionInfoKeys Name="CFBundleSignature"/>
- <VersionInfoKeys Name="CFBundleAllowMixedLocalizations"/>
- <VersionInfoKeys Name="UISupportedInterfaceOrientations"/>
- <VersionInfoKeys Name="CFBundleExecutable"/>
- <VersionInfoKeys Name="CFBundleResourceSpecification"/>
- <VersionInfoKeys Name="LSRequiresIPhoneOS"/>
- <VersionInfoKeys Name="CFBundleInfoDictionaryVersion"/>
- <VersionInfoKeys Name="CFBundleDevelopmentRegion"/>
- </VersionInfoKeys>
- <Source>
- <Source Name="MainSource">LangPackMgr.dpr</Source>
- </Source>
- <Excluded_Packages>
- <Excluded_Packages Name="$(BDSBIN)\dcloffice2k180.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
- <Excluded_Packages Name="$(BDSBIN)\dclofficexp180.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
- </Excluded_Packages>
- </Delphi.Personality>
- <Deployment/>
- <Platforms>
- <Platform value="Win32">True</Platform>
- <Platform value="Win64">True</Platform>
- </Platforms>
- <ModelSupport>False</ModelSupport>
- </BorlandProject>
- <ProjectFileVersion>12</ProjectFileVersion>
- </ProjectExtensions>
- <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
- <Import Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj" Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')"/>
-</Project>
diff --git a/tools/langpackmgr/Unit1.dfm b/tools/langpackmgr/Unit1.dfm
deleted file mode 100644
index 94b856409d..0000000000
--- a/tools/langpackmgr/Unit1.dfm
+++ /dev/null
@@ -1,102 +0,0 @@
-object Form1: TForm1
- Left = 0
- Top = 0
- AutoSize = True
- BorderIcons = [biSystemMenu]
- Caption = 'Miranda NG Langpack Manager'
- ClientHeight = 343
- ClientWidth = 643
- Color = clBtnFace
- Font.Charset = DEFAULT_CHARSET
- Font.Color = clWindowText
- Font.Height = 15
- Font.Name = 'Verdana'
- Font.Style = []
- OldCreateOrder = False
- Position = poMainFormCenter
- OnCreate = FormCreate
- PixelsPerInch = 96
- TextHeight = 14
- object ListBox1: TListBox
- Left = 0
- Top = 0
- Width = 137
- Height = 343
- ItemHeight = 14
- TabOrder = 0
- OnClick = ListBox1Click
- OnDblClick = ListBox12Click
- end
- object Memo1: TMemo
- Left = 143
- Top = 0
- Width = 500
- Height = 343
- ScrollBars = ssBoth
- TabOrder = 1
- end
- object Memo2: TMemo
- Left = 143
- Top = 153
- Width = 500
- Height = 150
- ScrollBars = ssBoth
- TabOrder = 2
- Visible = False
- end
- object Button1: TButton
- Left = 142
- Top = 318
- Width = 75
- Height = 25
- Caption = 'Copy'
- TabOrder = 3
- Visible = False
- OnClick = Button1Click
- end
- object Button2: TButton
- Left = 223
- Top = 318
- Width = 75
- Height = 25
- Caption = 'Translate'
- TabOrder = 4
- Visible = False
- OnClick = Button2Click
- end
- object Button3: TButton
- Left = 566
- Top = 318
- Width = 75
- Height = 25
- Caption = 'Save'
- TabOrder = 5
- Visible = False
- OnClick = Button3Click
- end
- object ComboBox1: TComboBox
- Left = 0
- Top = 318
- Width = 136
- Height = 22
- Style = csOwnerDrawFixed
- Enabled = False
- ItemIndex = 1
- TabOrder = 6
- Text = 'Untranslated items'
- Visible = False
- Items.Strings = (
- 'All items'
- 'Untranslated items')
- end
- object Button4: TButton
- Left = 304
- Top = 317
- Width = 75
- Height = 25
- Caption = 'Find lines'
- TabOrder = 7
- Visible = False
- OnClick = Button4Click
- end
-end
diff --git a/tools/langpackmgr/Unit1.pas b/tools/langpackmgr/Unit1.pas
index 978102cfe6..3b3e810edc 100644
--- a/tools/langpackmgr/Unit1.pas
+++ b/tools/langpackmgr/Unit1.pas
@@ -1,94 +1,204 @@
-unit Unit1;
+unit unit1;
interface
uses
- Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
- Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Buttons, ShellApi;
+ classes, sysutils, fileutil, forms, controls, graphics, dialogs, stdctrls,
+ extctrls, Windows;
type
- TForm1 = class(TForm)
- ListBox1: TListBox;
- Memo1: TMemo;
- Memo2: TMemo;
- Button1: TButton;
- Button2: TButton;
- Button3: TButton;
- ComboBox1: TComboBox;
- Button4: TButton;
- procedure ListBox12Click(Sender: TObject);
- procedure FormCreate(Sender: TObject);
- procedure ListBox1Click(Sender: TObject);
- procedure langlist;
- procedure fileslist;
- procedure stringview;
- procedure savestring;
+
+ { tform1 }
+
+ tform1 = class(tform)
+ button1: tbutton;
+ button2: tbutton;
+ button3: tbutton;
+ button4: tbutton;
+ CheckBox1: TCheckBox;
+ memo1: tmemo;
+ memo2: tmemo;
+ listbox: tlistbox;
+ combobox1: tcombobox;
+ combobox2: tcombobox;
+ radiogroup1: tradiogroup;
+ procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
- procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
+ procedure combobox1change(sender: tobject);
+ procedure ComboBox2Change(Sender: TObject);
+ procedure formcreate(sender: tobject);
+ procedure listbox1click(sender: tobject);
+ procedure listbox2click(sender: tobject);
+ procedure stringview;
+ procedure savestring;
+ procedure stringlist;
private
- { Private declarations }
+ { private declarations }
public
- { Public declarations }
+ { public declarations }
end;
var
- Form1: TForm1;
- locale:string;
- z,j,i,qq,l:integer;
+ form1: tform1;
+ locale: string;
+ z,j,i,l:integer;
sr:tsearchrec;
res:integer;
s:array[0..1,1..6000] of string;
- u:array[1..6000] of integer;
+ u:array[0..6000] of integer;
first:string;
filename:string;
+ im,m:integer;
+ sse:string;
implementation
-{$R *.dfm}
+{$r *.lfm}
+
+{ tform1 }
+
+
-procedure TForm1.Button1Click(Sender: TObject);
+
+procedure tform1.stringlist;
+ var llist:TStringList;
+ begin
+ for i := 1 to 6000 do
+ begin s[0,i]:='';s[1,i]:='';end;
+ j:=0;
+ lList:=TstringList.Create;
+ lList.LoadFromFile(extractfilePath(application.exename)+'/english/'
+ +combobox1.items[combobox1.itemindex]+'.txt');
+ first:=lList[0];
+ for i := 1 to lList.Count-1 do
+ begin
+ j:=j+1;
+ s[0,j]:=lList[i];
+ end;
+ lList.LoadFromFile(extractfilePath(application.exename)+'/'
+ +locale+'/'+combobox1.items[combobox1.itemindex]+'.txt');
+ for z:= 1 to j do
+ for i := 1 to lList.count-2 do
+ if (copy(s[0,z],1,1)='[')and(s[0,z]=lList[i])
+ and (copy(lList[i+1],1,1)<>'[')then
+ s[1,z]:=lList[i+1];
+ lList.free;
+ form1.Caption:='Miranda NG Langpack Tools: Editor -'
+ +locale+'\'+combobox1.items[combobox1.itemindex];
+ filename:=combobox1.items[combobox1.itemindex];
+ listbox.items.Clear;
+ z:=0;
+ for i := 1 to j do
+ if ((copy(s[0,i],1,1)='[')and(s[1,i]='') and (radiogroup1.ItemIndex=0))
+ or ((copy(s[0,i],1,1)='[')and (radiogroup1.ItemIndex=1))
+ then
+ begin
+ u[z]:=i;
+ z:=z+1;
+ listbox.items.add(copy(s[0,i],2,length(s[0,i])-2));
+ end;
+ end;
+
+procedure tform1.stringview;
+ begin
+ sse:=copy(s[0,u[listbox.itemindex]],2,
+ length(s[0,u[listbox.itemindex]])-2);
+ m:=1;
+ for im := 1 to length(sse)-1 do
+ begin
+ if copy(sse,im,2)='\n' then
+ begin
+ memo1.Lines.Add(copy(sse,m,im-m));
+ m:=im+2;
+ end;
+ end;
+ memo2.Lines.Clear;
+ l:=listbox.itemindex;
+ if m=1 then memo1.Lines.Add(sse)
+ else memo1.Lines.Add(copy(sse,m,length(sse)-m+2));
+ if s[1,u[listbox.itemindex]]<>'' then
+ begin
+ m:=1;
+ for im := 1 to length(s[1,u[listbox.itemindex]])-1 do
+ begin
+ if copy(s[1,u[listbox.itemindex]],im,2)='\n' then
+ begin
+ memo2.Lines.Add(copy(s[1,u[listbox.itemindex]],m,im-m));
+ m:=im+2;
+ end;
+ end;
+ if m=1 then memo2.Lines.Add(s[1,u[listbox.itemindex]])
+ else memo2.Lines.Add(copy(s[1,u[listbox.itemindex]],m,
+ length(s[1,u[listbox.itemindex]])-m+2));
+ end;
+ end;
+
+procedure tform1.savestring;
+var sa:integer;
begin
-memo2.lines:=memo1.lines;
+ s[1,u[l]]:='';
+ for sa:=0 to memo2.Lines.Count-1 do
+ begin
+ s[1,u[l]]:=s[1,u[l]]+memo2.Lines[sa];
+ if sa<>memo2.Lines.Count-1 then s[1,u[l]]:=s[1,u[l]]+'\n';
+ end;
end;
-procedure TForm1.Button2Click(Sender: TObject);
-var str:string; i:integer;
- begin
- str:='http://translate.google.com/?hl=&ie=yhgg#auto/';
- if locale='belarusian' then str:=str+'be/';
- if locale='bulgarian' then str:=str+'bg/';
- if locale='chinese' then str:=str+'zh-CN/';
- if locale='czech' then str:=str+'cs/';
- if locale='dutch' then str:=str+'da/';
- if locale='estonian' then str:=str+'et/';
- if locale='french' then str:=str+'fr/';
- if locale='german' then str:=str+'de/';
- if locale='hebrew' then str:=str+'iw/';
- if locale='hungarian' then str:=str+'hu/';
- if locale='italian' then str:=str+'it/';
- if locale='japanese' then str:=str+'ja/';
- if locale='korean' then str:=str+'ko/';
- if locale='norwegian' then str:=str+'no/';
- if locale='polish' then str:=str+'pl/';
- if locale='portuguese_br' then str:=str+'pt/';
- if locale='russian' then str:=str+'ru/';
- if locale='slovak' then str:=str+'sk/';
- if locale='spanish' then str:=str+'es/';
- if locale='turkish' then str:=str+'tr/';
- if locale='ukrainian' then str:=str+'uk/';
- for i:=0 to memo1.Lines.Count-1 do
+procedure tform1.formcreate(sender: tobject);
+ var
+ sr:tsearchrec;
+ res:integer;
+begin
+ if (paramstr(1)='-r') then
begin
- str:=str+memo1.Lines[i];
- if i<memo1.Lines.Count-1 then
- str:=str+'+%0A+';
- end;
- ShellExecute(0, 'open',PChar(str), nil, nil, SW_SHOW);
+ form1.caption:='Miranda NG Langpack Tools: Replacer';
+
+ end else
+ begin
+ res:=findfirst(extractfilepath(application.exename)+'*',faanyfile,sr);
+ while res = 0 do
+ begin
+ if ((sr.attr and fadirectory)=fadirectory)
+ and ((sr.name='.')or(sr.name='..')) then
+ begin res:=findnext(sr); continue; end;
+ if ((sr.attr and fadirectory)=fadirectory)
+ and (fileexists(extractfilepath(application.exename)+
+ '/'+sr.name+'/=head=.txt')) and (sr.name<>'english') then
+ ListBox.items.add(sr.name);
+ res:=findnext(sr);
+ end;
+ SysUtils.FindClose(sr);
+end;
+
end;
-procedure TForm1.Button3Click(Sender: TObject);
-var sList:TStringList;
+procedure tform1.combobox1change(sender: tobject);
+ var
+ f:textfile;
+begin
+ if not FileExists(extractfilePath(application.exename)
+ +'/'+locale+'/'+combobox1.items[combobox1.itemindex]+'.txt')
+ then
+ begin
+ assignfile(f,extractfilePath(application.exename)
+ +'/'+locale+'/'+combobox1.items[combobox1.itemindex]+'.txt');
+ rewrite(f);
+ closefile(f);
+ end;
+ stringlist;
+ memo1.lines.clear;
+ memo2.lines.clear;
+end;
+
+procedure tform1.ComboBox2Change(Sender: TObject);
+begin
+
+end;
+
+procedure tform1.Button1Click(Sender: TObject);
+ var sList:TStringList;
begin
savestring;
sList:=TstringList.Create;
@@ -111,18 +221,53 @@ var sList:TStringList;
end;
end;
sList.SavetoFile(extractfilePath(application.exename)
- +'/'+locale+'/'+filename+'.txt',TEncoding.UTF8);
+ +'/'+locale+'/'+filename+'.txt');
sList.free;
+ stringview;
+end;
+
+procedure tform1.Button4Click(Sender: TObject);
+ var str:utf8string; i:integer;
+ begin
+ str:='http://translate.google.com/?hl=&ie=yhgg#auto/';
+ if locale='belarusian' then str:=str+'be/';
+ if locale='bulgarian' then str:=str+'bg/';
+ if locale='chinese' then str:=str+'zh-CN/';
+ if locale='czech' then str:=str+'cs/';
+ if locale='dutch' then str:=str+'da/';
+ if locale='estonian' then str:=str+'et/';
+ if locale='french' then str:=str+'fr/';
+ if locale='german' then str:=str+'de/';
+ if locale='hebrew' then str:=str+'iw/';
+ if locale='hungarian' then str:=str+'hu/';
+ if locale='italian' then str:=str+'it/';
+ if locale='japanese' then str:=str+'ja/';
+ if locale='korean' then str:=str+'ko/';
+ if locale='norwegian' then str:=str+'no/';
+ if locale='polish' then str:=str+'pl/';
+ if locale='portuguese_br' then str:=str+'pt/';
+ if locale='russian' then str:=str+'ru/';
+ if locale='slovak' then str:=str+'sk/';
+ if locale='spanish' then str:=str+'es/';
+ if locale='turkish' then str:=str+'tr/';
+ if locale='ukrainian' then str:=str+'uk/';
+ for i:=0 to memo1.Lines.Count-1 do
+ begin
+ str:=str+memo1.Lines[i];
+ if i<memo1.Lines.Count-1 then
+ str:=str+'+%0A+';
+ end;
+ ShellExecute(0, 'open',PChar(str), nil, nil, SW_SHOW);
end;
-procedure TForm1.Button4Click(Sender: TObject);
-var search:TStringList;
+procedure tform1.Button2Click(Sender: TObject);
+ var search:TStringList;
q:integer;
begin
search:=TstringList.Create;
search.LoadFromFile(extractfilePath(application.exename)+
'/'+locale+'/'+'Langpack_'+locale+'.txt');
-for q := 1 to listbox1.items.Count-1 do
+for q := 0 to listbox.items.Count-1 do
for i := 1 to search.count-1 do
if (s[0,u[q]]=search[i])and(copy(search[i+1],1,1)<>'[')then
begin
@@ -132,229 +277,62 @@ for i := 1 to search.count-1 do
search.free;
end;
-procedure tform1.fileslist;
+procedure tform1.Button3Click(Sender: TObject);
begin
- ListBox1.Items.Add('=CORE=');
- Res:=FindFirst(ExtractFilePath(Application.ExeName)
- +'\english\plugins\*.txt', faAnyFile, SR);
- while Res = 0 do
- begin
- listBox1.Items.Add('plugins\'+copy(extractfilename(SR.Name),1,
- length(extractfilename(SR.Name))-4));
- Res:=FindNext(SR);
- end;
- FindClose(SR);
- Res:=FindFirst(ExtractFilePath(Application.ExeName)
- +'\english\weather\*.txt', faAnyFile, SR);
- while Res = 0 do
- begin
- listBox1.Items.Add('weather\'+copy(extractfilename(SR.Name),1,
- length(extractfilename(SR.Name))-4));
- Res:=FindNext(SR);
- end;
- FindClose(SR);
+memo2.lines:=memo1.lines;
end;
-procedure tform1.langlist;
- begin
- res:=findfirst(extractfilePath(application.exename)+'*',faanyfile,SR);
- while Res = 0 do
- begin
- if ((SR.attr and fadirectory)=fadirectory)
- and ((SR.name='.')or(SR.name='..')) then
- begin res:=findnext(SR); continue; end;
- if ((SR.attr and fadirectory)=fadirectory)
- and (fileexists(extractfilepath(application.exename)+
- '/'+SR.name+'/=HEAD=.txt')) and (sr.name<>'english') then
- ListBox1.Items.Add(SR.name);
- Res:=FindNext(SR);
- end;
- FindClose(SR);
- end;
-
-procedure tform1.savestring;
-var sa:integer;
+procedure tform1.ListBox1Click(sender: tobject);
begin
- s[1,u[l]]:='';
- for sa:=0 to memo2.Lines.Count-1 do
- begin
- s[1,u[l]]:=s[1,u[l]]+memo2.Lines[sa];
- if sa<>memo2.Lines.Count-1 then s[1,u[l]]:=s[1,u[l]]+'\n';
- end;
-end;
-
-
-procedure tform1.stringview;
-var
-im,m:integer;
-sse:string;
- begin
- sse:=copy(s[0,u[listbox1.itemindex]],2,
- length(s[0,u[listbox1.itemindex]])-2);
- m:=1;
- for im := 1 to length(sse)-1 do
- begin
- if copy(sse,im,2)='\n' then
- begin
- memo1.Lines.Add(copy(sse,m,im-m));
- m:=im+2;
- end;
- end;
- memo2.Lines.Clear;
- l:=listbox1.itemindex;
- if m=1 then memo1.Lines.Add(sse)
- else memo1.Lines.Add(copy(sse,m,length(sse)-m+2));
- if s[1,u[listbox1.itemindex]]<>'' then
- begin
- m:=1;
- for im := 1 to length(s[1,u[listbox1.itemindex]])-1 do
- begin
- if copy(s[1,u[listbox1.itemindex]],im,2)='\n' then
- begin
- memo2.Lines.Add(copy(s[1,u[listbox1.itemindex]],m,im-m));
- m:=im+2;
- end;
- end;
- if m=1 then memo2.Lines.Add(s[1,u[listbox1.itemindex]])
- else memo2.Lines.Add(copy(s[1,u[listbox1.itemindex]],m,
- length(s[1,u[listbox1.itemindex]])-m+2));
- end;
- end;
-
-procedure TForm1.FormCreate(Sender: TObject);
- begin
- langlist;
- qq:=0;
-
- end;
-
-procedure TForm1.ListBox1Click(Sender: TObject);
- begin
- if qq=0 then
- begin
- if listbox1.itemindex<>-1 then
- begin
- memo1.Lines.Clear;
- memo1.Lines.LoadFromFile(extractfilePath(application.exename)
- +'/'+listbox1.items[listbox1.itemindex]+'/=HEAD=.txt');
- end;
- end;
- if (qq=2) and (listbox1.itemindex>0)then
+ if (form1.caption<>'Miranda NG Langpack Tools: Editor')
+ then
begin
savestring;
- memo1.Lines.clear;
- memo2.Lines.clear;
+ memo1.lines.clear;
+ memo2.lines.clear;
+{}
stringview;
end;
- end;
+end;
-procedure TForm1.ListBox12Click(Sender: TObject);
-var llist:TStringList;
-f:textfile;
+procedure tform1.listbox2click(sender: tobject);
+ var
+ sr:tsearchrec;
+ res:integer;
begin
-case qq of
-
- 0:begin
- ListBox1.height:=300;
- Combobox1.Visible:=true;
- Memo1.Lines.Clear;
- locale:=listbox1.items[listbox1.itemindex];
- listbox1.items.clear;
- form1.Caption:='Miranda NG Langpack Manager: '+locale;
- listbox1.items.add('..');
- fileslist;
- qq:=1;
- end;
-
- 1:begin
- if listbox1.items[listbox1.itemindex]='..' then
- begin
- ListBox1.height:=343;
- Combobox1.Visible:=false;
- ListBox1.Items.clear;
- Memo1.Lines.Clear;
- langlist;
- listbox1.itemindex:=0;
- form1.Caption:='Miranda NG Langpack Manager';
- qq:=0;
- end
- else
- begin
- for i := 1 to 6000 do
- begin s[0,i]:='';s[1,i]:='';end;
- j:=0;
- Memo1.Height:=150;
- Memo2.Visible:=true;
- Button1.Visible:=true;
- Button2.Visible:=true;
- Button3.Visible:=true;
- lList:=TstringList.Create;
- lList.LoadFromFile(extractfilePath(application.exename)+'/english/'
- +listbox1.items[listbox1.itemindex]+'.txt',TEncoding.UTF8);
- first:=lList[0];
- for i := 1 to lList.Count-1 do
- begin
- j:=j+1;
- s[0,j]:=lList[i];
- end;
- //
- if not FileExists(extractfilePath(application.exename)
- +'/'+locale+'/'+listbox1.items[listbox1.itemindex]+'.txt')
- then
- begin
- assignfile(f,extractfilePath(application.exename)
- +'/'+locale+'/'+listbox1.items[listbox1.itemindex]+'.txt');
- rewrite(f);
- closefile(f);
- end;
-//
- lList.LoadFromFile(extractfilePath(application.exename)+'/'+locale+'/'
- +listbox1.items[listbox1.itemindex]+'.txt',TEncoding.UTF8);
- for z:= 1 to j do
- for i := 1 to lList.count-2 do
- if (copy(s[0,z],1,1)='[')and(s[0,z]=lList[i])
- and (copy(lList[i+1],1,1)<>'[')then
- s[1,z]:=lList[i+1];
- lList.free;
- form1.Caption:='Miranda NG Langpack Manager: '
- +locale+'\'+listbox1.items[listbox1.itemindex];
- filename:=listbox1.items[listbox1.itemindex];
- listbox1.items.Clear;
- listbox1.items.add('..');
- z:=0;
- for i := 1 to j do
- if (copy(s[0,i],1,1)='[')and(s[1,i]='') then
- begin
- z:=z+1;
- u[z]:=i;
- listbox1.items.add(copy(s[0,i],2,length(s[0,i])-2));
- end;
- if (fileexists(extractfilePath(application.exename)+'/'+locale+'/'
- +'Langpack_'+locale+'.txt')) and (listbox1.items.Count>1) then
- button4.Visible:=true;
+ if form1.caption='Miranda NG Langpack Tools: Editor'
+ then
+ begin
+ locale:=ListBox.items[listBox.itemindex];
+ form1.caption:=form1.caption+': '+locale;
+ ListBox.items.clear;
+ combobox1.items.add('=CORE=');
+ res:=findfirst(extractfilepath(application.exename)
+ +'\english\plugins\*.txt', faanyfile, sr);
+ while res = 0 do
+ begin
+ combobox1.items.add('plugins\'+copy(extractfilename(sr.name),1,
+ length(extractfilename(sr.name))-4));
+ res:=findnext(sr);
+ end;
+ SysUtils.FindClose(sr);
+ res:=findfirst(extractfilepath(application.exename)
+ +'\english\weather\*.txt', faanyfile, sr);
+ while res = 0 do
+ begin
+ combobox1.items.add('weather\'+copy(extractfilename(sr.name),1,
+ length(extractfilename(sr.name))-4));
+ res:=findnext(sr);
+ end;
+ SysUtils.FindClose(sr);
+ end;
- qq:=2;
- end;
- end;
+ combobox1.itemindex:=0;
+ stringlist;
+ if (fileexists(extractfilePath(application.exename)+'/'+locale+'/'
+ +'Langpack_'+locale+'.txt')) then button2.Enabled:=true;
- 2:begin
- if listbox1.items[listbox1.itemindex]='..' then
- begin
- Memo1.Height:=343;
- Memo2.Visible:=false;
- Button1.Visible:=false;
- Button2.Visible:=false;
- Button3.Visible:=false;
- button4.Visible:=false;
- listbox1.Items.Clear;
- listbox1.Items.Add('..');
- fileslist;
- memo1.Lines.Clear;
- memo2.Lines.Clear;
- form1.Caption:='Miranda NG Langpack Manager - '+locale;
- qq:=1;
- end;
- end;
-end;
end;
+
end.
+
diff --git a/tools/langpackmgr/langpackmgr.ico b/tools/langpackmgr/langpackmgr.ico
new file mode 100644
index 0000000000..e5fe684d9c
--- /dev/null
+++ b/tools/langpackmgr/langpackmgr.ico
Binary files differ
diff --git a/tools/langpackmgr/langpackmgr.lpi b/tools/langpackmgr/langpackmgr.lpi
new file mode 100644
index 0000000000..cfb49d06ed
--- /dev/null
+++ b/tools/langpackmgr/langpackmgr.lpi
@@ -0,0 +1,91 @@
+<?xml version="1.0"?>
+<CONFIG>
+ <ProjectOptions>
+ <Version Value="9"/>
+ <PathDelim Value="\"/>
+ <General>
+ <SessionStorage Value="InProjectDir"/>
+ <MainUnit Value="0"/>
+ <Title Value="langpackmgr"/>
+ <ResourceType Value="res"/>
+ <UseXPManifest Value="True"/>
+ <Icon Value="0"/>
+ </General>
+ <i18n>
+ <EnableI18N LFM="False"/>
+ </i18n>
+ <VersionInfo>
+ <StringTable ProductVersion=""/>
+ </VersionInfo>
+ <BuildModes Count="1">
+ <Item1 Name="Default" Default="True"/>
+ </BuildModes>
+ <PublishOptions>
+ <Version Value="2"/>
+ <IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
+ <ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/>
+ </PublishOptions>
+ <RunParams>
+ <local>
+ <FormatVersion Value="1"/>
+ </local>
+ </RunParams>
+ <RequiredPackages Count="1">
+ <Item1>
+ <PackageName Value="LCL"/>
+ </Item1>
+ </RequiredPackages>
+ <Units Count="2">
+ <Unit0>
+ <Filename Value="langpackmgr.lpr"/>
+ <IsPartOfProject Value="True"/>
+ <UnitName Value="langpackmgr"/>
+ </Unit0>
+ <Unit1>
+ <Filename Value="unit1.pas"/>
+ <IsPartOfProject Value="True"/>
+ <ComponentName Value="Form1"/>
+ <HasResources Value="True"/>
+ <ResourceBaseClass Value="Form"/>
+ <UnitName Value="unit1"/>
+ </Unit1>
+ </Units>
+ </ProjectOptions>
+ <CompilerOptions>
+ <Version Value="11"/>
+ <PathDelim Value="\"/>
+ <Target>
+ <Filename Value="langpackmgr"/>
+ </Target>
+ <SearchPaths>
+ <IncludeFiles Value="$(ProjOutDir)"/>
+ <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+ </SearchPaths>
+ <Linking>
+ <Options>
+ <Win32>
+ <GraphicApplication Value="True"/>
+ </Win32>
+ </Options>
+ </Linking>
+ <Other>
+ <CompilerMessages>
+ <MsgFileName Value=""/>
+ </CompilerMessages>
+ <CompilerPath Value="$(CompPath)"/>
+ </Other>
+ </CompilerOptions>
+ <Debugging>
+ <Exceptions Count="3">
+ <Item1>
+ <Name Value="EAbort"/>
+ </Item1>
+ <Item2>
+ <Name Value="ECodetoolError"/>
+ </Item2>
+ <Item3>
+ <Name Value="EFOpenError"/>
+ </Item3>
+ </Exceptions>
+ </Debugging>
+</CONFIG>
diff --git a/tools/langpackmgr/langpackmgr.lpr b/tools/langpackmgr/langpackmgr.lpr
new file mode 100644
index 0000000000..2de2b5decd
--- /dev/null
+++ b/tools/langpackmgr/langpackmgr.lpr
@@ -0,0 +1,21 @@
+program langpackmgr;
+
+{$mode objfpc}{$H+}
+
+uses
+ {$IFDEF UNIX}{$IFDEF UseCThreads}
+ cthreads,
+ {$ENDIF}{$ENDIF}
+ Interfaces, // this includes the LCL widgetset
+ Forms, unit1
+ { you can add units after this };
+
+{$R *.res}
+
+begin
+ RequireDerivedFormResource := True;
+ Application.Initialize;
+ Application.CreateForm(TForm1, Form1);
+ Application.Run;
+end.
+
diff --git a/tools/langpackmgr/langpackmgr.lps b/tools/langpackmgr/langpackmgr.lps
new file mode 100644
index 0000000000..e6fe26509f
--- /dev/null
+++ b/tools/langpackmgr/langpackmgr.lps
@@ -0,0 +1,171 @@
+<?xml version="1.0"?>
+<CONFIG>
+ <ProjectSession>
+ <PathDelim Value="\"/>
+ <Version Value="9"/>
+ <BuildModes Active="Default"/>
+ <Units Count="4">
+ <Unit0>
+ <Filename Value="langpackmgr.lpr"/>
+ <IsPartOfProject Value="True"/>
+ <UnitName Value="langpackmgr"/>
+ <IsVisibleTab Value="True"/>
+ <EditorIndex Value="0"/>
+ <WindowIndex Value="0"/>
+ <TopLine Value="1"/>
+ <CursorPos X="1" Y="1"/>
+ <UsageCount Value="29"/>
+ <Loaded Value="True"/>
+ </Unit0>
+ <Unit1>
+ <Filename Value="unit1.pas"/>
+ <IsPartOfProject Value="True"/>
+ <ComponentName Value="Form1"/>
+ <HasResources Value="True"/>
+ <ResourceBaseClass Value="Form"/>
+ <UnitName Value="unit1"/>
+ <EditorIndex Value="1"/>
+ <WindowIndex Value="0"/>
+ <TopLine Value="312"/>
+ <CursorPos X="59" Y="333"/>
+ <UsageCount Value="29"/>
+ <Loaded Value="True"/>
+ <LoadedDesigner Value="True"/>
+ </Unit1>
+ <Unit2>
+ <Filename Value="E:\lazarus\lcl\interfaces\win32\win32int.pp"/>
+ <UnitName Value="Win32Int"/>
+ <WindowIndex Value="0"/>
+ <TopLine Value="85"/>
+ <CursorPos X="26" Y="27"/>
+ <UsageCount Value="10"/>
+ </Unit2>
+ <Unit3>
+ <Filename Value="E:\lazarus\lcl\interfaces\win32\win32listsl.inc"/>
+ <EditorIndex Value="2"/>
+ <WindowIndex Value="0"/>
+ <TopLine Value="160"/>
+ <CursorPos X="1" Y="173"/>
+ <UsageCount Value="10"/>
+ <Loaded Value="True"/>
+ </Unit3>
+ </Units>
+ <General>
+ <ActiveWindowIndexAtStart Value="0"/>
+ </General>
+ <JumpHistory Count="28" HistoryIndex="27">
+ <Position1>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="239" Column="7" TopLine="225"/>
+ </Position1>
+ <Position2>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="238" Column="20" TopLine="225"/>
+ </Position2>
+ <Position3>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="31" Column="25" TopLine="24"/>
+ </Position3>
+ <Position4>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="57" Column="28" TopLine="45"/>
+ </Position4>
+ <Position5>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="56" Column="14" TopLine="38"/>
+ </Position5>
+ <Position6>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="241" Column="12" TopLine="237"/>
+ </Position6>
+ <Position7>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="233" Column="1" TopLine="232"/>
+ </Position7>
+ <Position8>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="275" Column="15" TopLine="259"/>
+ </Position8>
+ <Position9>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="187" Column="4" TopLine="46"/>
+ </Position9>
+ <Position10>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="217" Column="14" TopLine="193"/>
+ </Position10>
+ <Position11>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="323" Column="14" TopLine="304"/>
+ </Position11>
+ <Position12>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="104" Column="16" TopLine="95"/>
+ </Position12>
+ <Position13>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="323" Column="3" TopLine="304"/>
+ </Position13>
+ <Position14>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="92" Column="41" TopLine="78"/>
+ </Position14>
+ <Position15>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="282" Column="4" TopLine="276"/>
+ </Position15>
+ <Position16>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="283" Column="4" TopLine="277"/>
+ </Position16>
+ <Position17>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="282" Column="4" TopLine="276"/>
+ </Position17>
+ <Position18>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="321" Column="35" TopLine="75"/>
+ </Position18>
+ <Position19>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="64" Column="28" TopLine="48"/>
+ </Position19>
+ <Position20>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="323" Column="14" TopLine="301"/>
+ </Position20>
+ <Position21>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="322" Column="14" TopLine="300"/>
+ </Position21>
+ <Position22>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="329" Column="14" TopLine="307"/>
+ </Position22>
+ <Position23>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="105" Column="9" TopLine="89"/>
+ </Position23>
+ <Position24>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="293" Column="2" TopLine="42"/>
+ </Position24>
+ <Position25>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="31" Column="26" TopLine="19"/>
+ </Position25>
+ <Position26>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="29" Column="31" TopLine="17"/>
+ </Position26>
+ <Position27>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="32" Column="29" TopLine="20"/>
+ </Position27>
+ <Position28>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="33" Column="29" TopLine="21"/>
+ </Position28>
+ </JumpHistory>
+ </ProjectSession>
+</CONFIG>
diff --git a/tools/langpackmgr/lpmanager_Icon.ico b/tools/langpackmgr/lpmanager_Icon.ico
deleted file mode 100644
index 297ce84a9f..0000000000
--- a/tools/langpackmgr/lpmanager_Icon.ico
+++ /dev/null
Binary files differ
diff --git a/tools/langpackmgr/unit1.lfm b/tools/langpackmgr/unit1.lfm
new file mode 100644
index 0000000000..1f572fc5f7
--- /dev/null
+++ b/tools/langpackmgr/unit1.lfm
@@ -0,0 +1,142 @@
+object Form1: TForm1
+ Left = 389
+ Height = 338
+ Top = 232
+ Width = 587
+ HorzScrollBar.Page = 532
+ HorzScrollBar.Range = 528
+ VertScrollBar.Page = 296
+ VertScrollBar.Range = 283
+ BorderStyle = bsDialog
+ Caption = 'Miranda NG Langpack Tools: Editor'
+ ClientHeight = 338
+ ClientWidth = 587
+ DragKind = dkDock
+ OnCreate = FormCreate
+ LCLVersion = '1.0.14.0'
+ object Memo1: TMemo
+ Left = 136
+ Height = 128
+ Top = 40
+ Width = 448
+ ScrollBars = ssHorizontal
+ TabOrder = 0
+ WordWrap = False
+ end
+ object Memo2: TMemo
+ Left = 136
+ Height = 128
+ Top = 176
+ Width = 448
+ ScrollBars = ssHorizontal
+ TabOrder = 1
+ WordWrap = False
+ end
+ object ListBox: TListBox
+ Left = 8
+ Height = 296
+ Top = 40
+ Width = 120
+ ItemHeight = 0
+ OnClick = ListBox1Click
+ OnDblClick = ListBox2Click
+ TabOrder = 2
+ end
+ object ComboBox1: TComboBox
+ Left = 8
+ Height = 21
+ Top = 8
+ Width = 120
+ ItemHeight = 13
+ OnChange = ComboBox1Change
+ Style = csDropDownList
+ TabOrder = 3
+ end
+ object ComboBox2: TComboBox
+ Left = 512
+ Height = 21
+ Top = 8
+ Width = 72
+ Enabled = False
+ ItemHeight = 13
+ ItemIndex = 0
+ Items.Strings = (
+ 'english'
+ )
+ OnChange = ComboBox2Change
+ Style = csDropDownList
+ TabOrder = 4
+ Text = 'english'
+ end
+ object Button3: TButton
+ Left = 136
+ Height = 21
+ Top = 312
+ Width = 43
+ Caption = 'Copy'
+ OnClick = Button3Click
+ TabOrder = 5
+ end
+ object Button4: TButton
+ Left = 184
+ Height = 21
+ Top = 312
+ Width = 43
+ Caption = 'Google'
+ OnClick = Button4Click
+ TabOrder = 6
+ end
+ object Button2: TButton
+ Left = 232
+ Height = 21
+ Top = 312
+ Width = 43
+ Caption = 'Find'
+ Enabled = False
+ OnClick = Button2Click
+ TabOrder = 7
+ end
+ object Button1: TButton
+ Left = 541
+ Height = 21
+ Top = 312
+ Width = 43
+ Caption = 'Save'
+ OnClick = Button1Click
+ TabOrder = 8
+ end
+ object RadioGroup1: TRadioGroup
+ Left = 136
+ Height = 35
+ Top = 0
+ Width = 137
+ AutoFill = True
+ Caption = 'View'
+ ChildSizing.LeftRightSpacing = 6
+ ChildSizing.TopBottomSpacing = 6
+ ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
+ ChildSizing.EnlargeVertical = crsHomogenousChildResize
+ ChildSizing.ShrinkHorizontal = crsScaleChilds
+ ChildSizing.ShrinkVertical = crsScaleChilds
+ ChildSizing.Layout = cclLeftToRightThenTopToBottom
+ ChildSizing.ControlsPerLine = 2
+ ClientHeight = 17
+ ClientWidth = 133
+ Columns = 2
+ ItemIndex = 0
+ Items.Strings = (
+ 'Untranslated'
+ 'All'
+ )
+ TabOrder = 9
+ end
+ object CheckBox1: TCheckBox
+ Left = 400
+ Height = 17
+ Top = 12
+ Width = 104
+ Caption = 'Other languages:'
+ Enabled = False
+ TabOrder = 10
+ end
+end