From 25fdd46d777b98caee692db6ca55bbc854b723b6 Mon Sep 17 00:00:00 2001 From: robert tonnessen Date: Thu, 3 Oct 2024 20:48:20 +0100 Subject: [PATCH] Move UI strings to resource files, enable localization in MainForm with OS-based language selection (default to Turkish, English available). --- BINARY/Broadlink.NET.dll | Bin 59392 -> 59392 bytes BINARY/Broadlink.OneClick.exe | Bin 16896 -> 16896 bytes BINARY/Broadlink.WinApp.exe | Bin 41984 -> 58368 bytes Broadlink.WinApp/Broadlink.WinApp.csproj | 3 + Broadlink.WinApp/Forms/MainForm.Designer.cs | 78 +-- Broadlink.WinApp/Forms/MainForm.cs | 53 +- Broadlink.WinApp/Forms/MainForm.en.resx | 225 +++++++++ Broadlink.WinApp/Forms/MainForm.resx | 516 +++++++++++++++++--- Broadlink.WinApp/Program.cs | 2 + 9 files changed, 723 insertions(+), 154 deletions(-) create mode 100644 Broadlink.WinApp/Forms/MainForm.en.resx diff --git a/BINARY/Broadlink.NET.dll b/BINARY/Broadlink.NET.dll index 31cf56209c95385de70337b4bb0dce6359782ac8..87b076656f43cbedf5ed78e42215860a334525ab 100644 GIT binary patch delta 21891 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 N-u~@*VR2{Ue*prq#mxW! delta 21834 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 delta 2904 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 S4 + + MainForm.cs + MainForm.cs diff --git a/Broadlink.WinApp/Forms/MainForm.Designer.cs b/Broadlink.WinApp/Forms/MainForm.Designer.cs index 6473b96..4a9dd4a 100644 --- a/Broadlink.WinApp/Forms/MainForm.Designer.cs +++ b/Broadlink.WinApp/Forms/MainForm.Designer.cs @@ -54,7 +54,7 @@ private void InitializeComponent() // // toolStrip1 // - this.toolStrip1.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(162))); + resources.ApplyResources(this.toolStrip1, "toolStrip1"); this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.btnLogClean, this.toolStripSeparator2, @@ -69,47 +69,37 @@ private void InitializeComponent() this.btnKomutlariKaydet, this.toolStripSeparator4, this.btnIceAktar}); - this.toolStrip1.Location = new System.Drawing.Point(0, 0); this.toolStrip1.Name = "toolStrip1"; - this.toolStrip1.Size = new System.Drawing.Size(805, 25); - this.toolStrip1.TabIndex = 1; - this.toolStrip1.Text = "toolStrip1"; // // btnLogClean // this.btnLogClean.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.btnLogClean.Image = ((System.Drawing.Image)(resources.GetObject("btnLogClean.Image"))); - this.btnLogClean.ImageTransparentColor = System.Drawing.Color.Magenta; + resources.ApplyResources(this.btnLogClean, "btnLogClean"); this.btnLogClean.Name = "btnLogClean"; - this.btnLogClean.Size = new System.Drawing.Size(66, 22); - this.btnLogClean.Text = "Log Temizle"; this.btnLogClean.Click += new System.EventHandler(this.btnLogClean_Click); // // toolStripSeparator2 // this.toolStripSeparator2.Name = "toolStripSeparator2"; - this.toolStripSeparator2.Size = new System.Drawing.Size(6, 25); + resources.ApplyResources(this.toolStripSeparator2, "toolStripSeparator2"); // // cmbDevices // this.cmbDevices.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cmbDevices.Name = "cmbDevices"; - this.cmbDevices.Size = new System.Drawing.Size(121, 25); + resources.ApplyResources(this.cmbDevices, "cmbDevices"); // // btnConnect // this.btnConnect.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.btnConnect.Image = ((System.Drawing.Image)(resources.GetObject("btnConnect.Image"))); - this.btnConnect.ImageTransparentColor = System.Drawing.Color.Magenta; + resources.ApplyResources(this.btnConnect, "btnConnect"); this.btnConnect.Name = "btnConnect"; - this.btnConnect.Size = new System.Drawing.Size(68, 22); - this.btnConnect.Text = "Tarama Yap"; this.btnConnect.Click += new System.EventHandler(this.btnConnect_Click); // // toolStripSeparator3 // this.toolStripSeparator3.Name = "toolStripSeparator3"; - this.toolStripSeparator3.Size = new System.Drawing.Size(6, 25); + resources.ApplyResources(this.toolStripSeparator3, "toolStripSeparator3"); // // btnMenuOgren // @@ -118,89 +108,68 @@ private void InitializeComponent() this.btnIR_Learn, this.btnRF_Learn, this.btnLearnCancel}); - this.btnMenuOgren.Enabled = false; - this.btnMenuOgren.Image = ((System.Drawing.Image)(resources.GetObject("btnMenuOgren.Image"))); - this.btnMenuOgren.ImageTransparentColor = System.Drawing.Color.Magenta; + resources.ApplyResources(this.btnMenuOgren, "btnMenuOgren"); this.btnMenuOgren.Name = "btnMenuOgren"; - this.btnMenuOgren.Size = new System.Drawing.Size(106, 22); - this.btnMenuOgren.Text = "Yeni Komut Öğren"; // // btnIR_Learn // this.btnIR_Learn.Name = "btnIR_Learn"; - this.btnIR_Learn.Size = new System.Drawing.Size(172, 22); - this.btnIR_Learn.Text = "Kızılötesi Öğren"; + resources.ApplyResources(this.btnIR_Learn, "btnIR_Learn"); this.btnIR_Learn.Click += new System.EventHandler(this.btnIR_Learn_Click); // // btnRF_Learn // this.btnRF_Learn.Name = "btnRF_Learn"; - this.btnRF_Learn.Size = new System.Drawing.Size(172, 22); - this.btnRF_Learn.Text = "RF Frekans Öğren"; + resources.ApplyResources(this.btnRF_Learn, "btnRF_Learn"); this.btnRF_Learn.Click += new System.EventHandler(this.btnRF_Learn_Click); // // btnLearnCancel // this.btnLearnCancel.Name = "btnLearnCancel"; - this.btnLearnCancel.Size = new System.Drawing.Size(172, 22); - this.btnLearnCancel.Text = "Öğrenme Modu İptal"; + resources.ApplyResources(this.btnLearnCancel, "btnLearnCancel"); this.btnLearnCancel.Click += new System.EventHandler(this.btnLearnCancel_Click); // // toolStripSeparator1 // this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25); + resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1"); // // btnKomutGonder // this.btnKomutGonder.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.btnKomutGonder.Enabled = false; - this.btnKomutGonder.Image = ((System.Drawing.Image)(resources.GetObject("btnKomutGonder.Image"))); - this.btnKomutGonder.ImageTransparentColor = System.Drawing.Color.Magenta; + resources.ApplyResources(this.btnKomutGonder, "btnKomutGonder"); this.btnKomutGonder.Name = "btnKomutGonder"; - this.btnKomutGonder.Size = new System.Drawing.Size(79, 22); - this.btnKomutGonder.Text = "Komut Gönder"; this.btnKomutGonder.Click += new System.EventHandler(this.btnKomutGonder_Click); // // cmbKomutListe // this.cmbKomutListe.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cmbKomutListe.DropDownWidth = 200; - this.cmbKomutListe.Enabled = false; + resources.ApplyResources(this.cmbKomutListe, "cmbKomutListe"); this.cmbKomutListe.Name = "cmbKomutListe"; - this.cmbKomutListe.Size = new System.Drawing.Size(121, 25); // // txtIRCount // + resources.ApplyResources(this.txtIRCount, "txtIRCount"); this.txtIRCount.Name = "txtIRCount"; - this.txtIRCount.Size = new System.Drawing.Size(20, 25); - this.txtIRCount.Text = "1"; // // btnKomutlariKaydet // this.btnKomutlariKaydet.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.btnKomutlariKaydet.Enabled = false; - this.btnKomutlariKaydet.Image = ((System.Drawing.Image)(resources.GetObject("btnKomutlariKaydet.Image"))); - this.btnKomutlariKaydet.ImageTransparentColor = System.Drawing.Color.Magenta; + resources.ApplyResources(this.btnKomutlariKaydet, "btnKomutlariKaydet"); this.btnKomutlariKaydet.Name = "btnKomutlariKaydet"; - this.btnKomutlariKaydet.Size = new System.Drawing.Size(45, 22); - this.btnKomutlariKaydet.Text = "Kaydet"; this.btnKomutlariKaydet.Click += new System.EventHandler(this.btnKomutlariKaydet_Click); // // toolStripSeparator4 // this.toolStripSeparator4.Name = "toolStripSeparator4"; - this.toolStripSeparator4.Size = new System.Drawing.Size(6, 25); + resources.ApplyResources(this.toolStripSeparator4, "toolStripSeparator4"); // // btnIceAktar // this.btnIceAktar.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.btnIceAktar.Enabled = false; - this.btnIceAktar.Image = ((System.Drawing.Image)(resources.GetObject("btnIceAktar.Image"))); - this.btnIceAktar.ImageTransparentColor = System.Drawing.Color.Magenta; + resources.ApplyResources(this.btnIceAktar, "btnIceAktar"); this.btnIceAktar.Name = "btnIceAktar"; - this.btnIceAktar.Size = new System.Drawing.Size(99, 22); - this.btnIceAktar.Text = "eControl İçe Aktar"; this.btnIceAktar.Click += new System.EventHandler(this.btnIceAktar_Click); // // timerSicaklik @@ -211,27 +180,18 @@ private void InitializeComponent() // txtLog // this.txtLog.BackColor = System.Drawing.Color.Black; - this.txtLog.Dock = System.Windows.Forms.DockStyle.Fill; - this.txtLog.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(162))); + resources.ApplyResources(this.txtLog, "txtLog"); this.txtLog.ForeColor = System.Drawing.Color.White; - this.txtLog.Location = new System.Drawing.Point(0, 25); this.txtLog.Name = "txtLog"; - this.txtLog.Size = new System.Drawing.Size(805, 359); - this.txtLog.TabIndex = 2; - this.txtLog.Text = ""; // // MainForm // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + resources.ApplyResources(this, "$this"); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(805, 384); this.Controls.Add(this.txtLog); this.Controls.Add(this.toolStrip1); - this.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(162))); this.Name = "MainForm"; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Tag = "Broadlink .NET | Oda sıcaklığı : {0}°C"; - this.Text = "Broadlink .NET | Developed By K3M41"; this.toolStrip1.ResumeLayout(false); this.toolStrip1.PerformLayout(); this.ResumeLayout(false); diff --git a/Broadlink.WinApp/Forms/MainForm.cs b/Broadlink.WinApp/Forms/MainForm.cs index 89a6f88..d458c77 100644 --- a/Broadlink.WinApp/Forms/MainForm.cs +++ b/Broadlink.WinApp/Forms/MainForm.cs @@ -5,6 +5,7 @@ using System.Drawing; using System.IO; using System.Linq; +using System.Resources; using System.Windows.Forms; namespace Broadlink.WinApp.Forms @@ -12,6 +13,7 @@ namespace Broadlink.WinApp.Forms public partial class MainForm : Form { #region Fields + private ResourceManager _resourceManager; private RMDevice RMDevice; private List Commands; private Client DiscoverClient; @@ -21,6 +23,9 @@ public partial class MainForm : Form public MainForm() { InitializeComponent(); + + _resourceManager = new ResourceManager("Broadlink.WinApp.Forms.MainForm", typeof(MainForm).Assembly); + Icon = Icon.ExtractAssociatedIcon(Application.ExecutablePath); HelperMy.NotificationEvent += HelperMy_NotificationEvent; } @@ -59,13 +64,13 @@ private async void btnConnect_Click(object senderBtn, EventArgs eBtn) DiscoverClient = new Client(); DiscoverClient.DeviceHandler += Client_DeviceHandler; } - HelperMy.Notification(Color.Gray, "Cihazlar aranıyor..."); + HelperMy.Notification(Color.Gray, _resourceManager.GetString("TXT_INFO_SEARCHING")); await DiscoverClient.DiscoverAsync(); - btnConnect.Text = "Tarama Yap"; + btnConnect.Text = _resourceManager.GetString("BTN_Connect_TEXT"); } else if (cmbDevices.SelectedItem is RMDevice secim) { - HelperMy.Notification(Color.Gray, "Bağlantı kuruluyor..."); + HelperMy.Notification(Color.Gray, _resourceManager.GetString("TXT_INFO_ESTABLISHING_CONNECTION")); RMDevice = secim as RMDevice; if (!RMDevice.IsEventsReady) { @@ -80,10 +85,10 @@ private async void btnConnect_Click(object senderBtn, EventArgs eBtn) await RMDevice.AuthorizeAsync(); KomutYukle(); btnMenuOgren.Enabled = cmbKomutListe.Enabled = btnIR_Learn.Enabled = btnRF_Learn.Enabled = btnLearnCancel.Enabled = btnKomutGonder.Enabled = btnKomutlariKaydet.Enabled = btnIceAktar.Enabled = true; - btnConnect.Text = "Bağlanıldı"; + btnConnect.Text = _resourceManager.GetString("BTN_Connect__CONNECTED_TEXT"); } else - HelperMy.Notification(Color.Red, "Yazılıma uyumlu cihaz tespit edilemedi!"); + HelperMy.Notification(Color.Red, _resourceManager.GetString("TXT_ERROR_NO_COMPATIBLE_DEVICES")); btnConnect.Enabled = true; } @@ -92,23 +97,23 @@ private async void btnIR_Learn_Click(object sender, EventArgs e) if (RMDevice == null) return; btnIR_Learn.Enabled = false; await RMDevice.EnterIRLearningModeAsync(); - HelperMy.Notification(Color.RoyalBlue, "IR Kızılötesi Öğrenme modu etkinleştirildi."); + HelperMy.Notification(Color.RoyalBlue, _resourceManager.GetString("TXT_INFO_IRLEARNING_MODE_ACTIVE")); } private async void btnRF_Learn_Click(object sender, EventArgs e) { if (RMDevice == null) return; btnRF_Learn.Enabled = false; await RMDevice.EnterRFLearningModeAsync(); - HelperMy.Notification(Color.RoyalBlue, "RF Frekans Öğrenme modu etkinleştirildi."); - HelperMy.Notification(Color.Yellow, "RF Frekans Tarama [1/2]"); - HelperMy.Notification(Color.Yellow, "[Düğmeye basılı tutunuz!]"); + HelperMy.Notification(Color.RoyalBlue, _resourceManager.GetString("TXT_INFO_RFLEARNING_MODE_ACTIVE")); + HelperMy.Notification(Color.Yellow, _resourceManager.GetString("TXT_INFO_RF_FREQ_SCAN_1of2")); + HelperMy.Notification(Color.Yellow, _resourceManager.GetString("TXT_INFO_KEEP_BUTTON_PRESSED")); } private async void btnLearnCancel_Click(object sender, EventArgs e) { if (RMDevice == null) return; btnIR_Learn.Enabled = btnRF_Learn.Enabled = true; await RMDevice.ExitLearningModeAsync(); - HelperMy.Notification(Color.RoyalBlue, "Öğrenme modundan çıkıldı."); + HelperMy.Notification(Color.RoyalBlue, _resourceManager.GetString("TXT_INFO_LEARNING_MODE_EXITED")); } private async void btnKomutGonder_Click(object sender, EventArgs e) { @@ -118,18 +123,18 @@ private async void btnKomutGonder_Click(object sender, EventArgs e) if (txtIRCount.Text.IsNumeric() && txtIRCount.Text != "1") command[1] = (byte)(Convert.ToByte(txtIRCount.Text) - 1); await RMDevice.SendRemoteCommandAsync(command); - HelperMy.Notification(Color.White, "Komut gönderildi : {0}", selected); + HelperMy.Notification(Color.White, _resourceManager.GetString("TXT_INFO_COMMAND_SENT_COUNT"), selected); } private void btnKomutlariKaydet_Click(object sender, EventArgs e) => File.WriteAllText(CommandFilePath, Commands.ToJson(), new System.Text.UTF8Encoding(false)); private async void timerSicaklik_Tick(object sender, EventArgs e) => await RMDevice?.GetTemperatureAsync(); private void btnIceAktar_Click(object sender, EventArgs e) { - HelperMy.Notification(Color.RoyalBlue, "Broadlink eControl uygulamasındaki verileri içe aktarma"); - HelperMy.Notification(Color.White, "1) Uygulamadaki menüden 'Paylaş' butonuna tıklayınız."); - HelperMy.Notification(Color.White, "2) 'Ağdaki başka bir telefon ile paylaşın' butonuna tıklayınız."); - HelperMy.Notification(Color.White, "3) 'İptal' butonuna tıklayınız."); - HelperMy.Notification(Color.White, "4) Telefon hafızasında bulunan aşağıdaki dosyaları bilgisayarınıza kopyalayınız."); - HelperMy.Notification(Color.White, "\tKlasör : /broadlink/newremote/SharedData"); + HelperMy.Notification(Color.RoyalBlue, _resourceManager.GetString("TXT_IMPORT_DATA")); + HelperMy.Notification(Color.White, _resourceManager.GetString("TXT_IMPORT_DATA_STEP_1")); + HelperMy.Notification(Color.White, _resourceManager.GetString("TXT_IMPORT_DATA_STEP_2")); + HelperMy.Notification(Color.White, _resourceManager.GetString("TXT_IMPORT_DATA_STEP_3")); + HelperMy.Notification(Color.White, _resourceManager.GetString("TXT_IMPORT_DATA_STEP_4")); + HelperMy.Notification(Color.White, _resourceManager.GetString("TXT_IMPORT_DATA_STEP_5")); HelperMy.Notification(Color.White, "\t* jsonDevice"); HelperMy.Notification(Color.White, "\t* jsonButton"); HelperMy.Notification(Color.White, "\t* jsonIrCode"); @@ -137,7 +142,7 @@ private void btnIceAktar_Click(object sender, EventArgs e) var model = NET.SharedData.CodeInfo.GetSharedData(); if (model == null || model.Length == 0) { - HelperMy.Notification(Color.Red, "Veri bulunamadı!"); + HelperMy.Notification(Color.Red, _resourceManager.GetString("TXT_ERR_NO_DATA_FOUND")); return; } if (Commands == null) @@ -167,11 +172,11 @@ private void Client_DeviceHandler(object sender, BroadlinkDevice device) { if (!cmbDevices.Items.Cast().Any(i => (i is RMDevice secim && secim.EndPoint.Address == device.EndPoint.Address))) { - HelperMy.Notification(Color.Lime, "Cihaz bulundu : {0}", device); + HelperMy.Notification(Color.Lime, _resourceManager.GetString("TXT_INFO_DEVICE_FOUND"), device); cmbDevices.Items.Add(device); cmbDevices.SelectedIndex = 0; } - btnConnect.Text = "Bağlan"; + btnConnect.Text = _resourceManager.GetString("BTN_TXT_CONNECT"); btnConnect_Click(null, null); }); } @@ -190,8 +195,8 @@ private void RMDevice_OnRawRFDataFirst(object sender, byte[] data) } private void RMDevice_OnRawRFDataSecond(object sender, byte[] data) { - HelperMy.Notification(Color.Yellow, "RF Frekans Tarama [2/2]"); - HelperMy.Notification(Color.Yellow, "[Aralarında bir duraklama ile RF düğmesine birden çok kez basın]"); + HelperMy.Notification(Color.Yellow, _resourceManager.GetString("TXT_INFO_RF_FREQ_SCAN_2of2")); + HelperMy.Notification(Color.Yellow, _resourceManager.GetString("TXT_PRESS_RF_BUTTON")); } private void RMDevice_OnTemperature(object sender, float temperature) { @@ -206,7 +211,7 @@ private async void RMDevice_OnDeviceReady(object sender, EventArgs e) { this.MaybeInvoke(() => { - txtLog.AppendLine(Color.Lime, "Cihaz kullanıma hazır."); + txtLog.AppendLine(Color.Lime, _resourceManager.GetString("TXT_INFO_DEVICE_READY")); txtLog.AppendLine(Color.WhiteSmoke, new string('-', 34)); txtLog.AppendText(Color.LightGreen, "IP Adresi\t: "); @@ -237,7 +242,7 @@ private void KomutYukle() } private void KomutEkle(string value) { - var inputBox = Microsoft.VisualBasic.Interaction.InputBox("Komut başlığı", "İsim giriniz :"); + var inputBox = Microsoft.VisualBasic.Interaction.InputBox(_resourceManager.GetString("TXT_INFO_COMMAND_TITLE"), _resourceManager.GetString("TXT_INFO_ENTER_NAME")); if (inputBox.IsNullOrEmptyTrim()) return; var cmd = new Command { diff --git a/Broadlink.WinApp/Forms/MainForm.en.resx b/Broadlink.WinApp/Forms/MainForm.en.resx new file mode 100644 index 0000000..2a77265 --- /dev/null +++ b/Broadlink.WinApp/Forms/MainForm.en.resx @@ -0,0 +1,225 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Broadlink .NET | Developed By K3M41 + + + Scan + + + Import eControl + + + Learn Infrared + + + Send Command + + + Save + + + Cancel Learning Mode + + + Clear Log + + + Learn New Command + + + Learn RF Frequency + + + Connected + + + Scan + + + Connect + + + A device compatible with the software could not be detected! + + + No data found! + + + Importing data from the Broadlink eControl app + + + 1) Click the 'Share' button from the menu in the application. + + + 2) Click the 'Share with another phone on the network' button. + + + 3) Click the 'Cancel' button. + + + 4) Copy the following files in the phone memory to your computer. + + + \tFolder: /broadlink/newremote/SharedData + + + Command sent : {0} + + + Command title + + + DEvice found: {0} + + + The device is ready for use. + + + Enter name: + + + Establishing connection... + + + IR Infrared Learning mode activated. + + + [Keep the button pressed!] + + + Learning mode has been exited. + + + RF Frequency Learning mode is activated. + + + RF Frequency Scan [1/2] + + + RF Frequency Scanning [2/2] + + + Searching for devices... + + + Press the RF button multiple times with a pause in between + + \ No newline at end of file diff --git a/Broadlink.WinApp/Forms/MainForm.resx b/Broadlink.WinApp/Forms/MainForm.resx index 1e806db..3d0587b 100644 --- a/Broadlink.WinApp/Forms/MainForm.resx +++ b/Broadlink.WinApp/Forms/MainForm.resx @@ -117,101 +117,475 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - + + 17, 17 + + + Tahoma, 8.25pt + - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG - YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 - 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw - bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc - VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 - c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 - Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo - mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ - kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D - TgDQASA1MVpwzwAAAABJRU5ErkJggg== + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAgNJREFUOE+lkutLk2EYxvePhJaHShFBUTEPiCieQOmDiEZgrEbpYGiCQxkqA80I + RUkUEZ0YRMS+DDI70MkTmzJnDc8iU8QT2mAEItnle90wHwTDyBduXnie5/rd133Q4ZKfAJqHFs9E08A8 + zD1emDpmYXjqRlnTFIrMk8iuGkNaxWekGEaQrHecBfw+/vPXODw6hj9whN2fh/Bt/8LSRgA3cxr/DeBZ + 9kvmTNMoHGNbIrYN+3Aj23IxgJkpds0doP3VstgmsNexhutZ9QrAms8T0zYzU5xXM46kcjsmvfvoeL2i + AeoUgA07T8yaaZuZKab1rzN74jgys1YB2O2gmBZzH49LODXrrJlnzEzxe9cOLH1ziMioVgCOiuIFX0CE + Q+/WYf+yieiCFrRp9tkwxnP7Kt5MbKGm6wfC000KwDlTXNLgEvHMkh+Db32o7fYivtQm1l9+3IBOp5P7 + yjYPwlKNCsAluWudxgvtknb5t9oWcL/VLU2Mvd2JFq3uqs7vAtE/ceNayiMF4KiYMSjmY2O7B4Ua+NaD + YQGEJumRbvyG1IcfBHI12aAAXM8R57aIWTNrLLY4tfNPiCvpR1SeVeu6WWzHFD6THSDwFMDdpmUG62NJ + PKM4Or9ZxBxb8H8l7g5CEu8pAOfM3WanSeeS8CFHxW4zM2umbWamOCShXAH+/wNOANABIDUxWnDPAAAA + AElFTkSuQmCC + + Magenta + + + 66, 22 + + + Log Temizle + + + 6, 25 + + + 121, 25 + - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG - YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 - 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw - bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc - VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 - c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 - Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo - mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ - kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D - TgDQASA1MVpwzwAAAABJRU5ErkJggg== + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAgNJREFUOE+lkutLk2EYxvePhJaHShFBUTEPiCieQOmDiEZgrEbpYGiCQxkqA80I + RUkUEZ0YRMS+DDI70MkTmzJnDc8iU8QT2mAEItnle90wHwTDyBduXnie5/rd133Q4ZKfAJqHFs9E08A8 + zD1emDpmYXjqRlnTFIrMk8iuGkNaxWekGEaQrHecBfw+/vPXODw6hj9whN2fh/Bt/8LSRgA3cxr/DeBZ + 9kvmTNMoHGNbIrYN+3Aj23IxgJkpds0doP3VstgmsNexhutZ9QrAms8T0zYzU5xXM46kcjsmvfvoeL2i + AeoUgA07T8yaaZuZKab1rzN74jgys1YB2O2gmBZzH49LODXrrJlnzEzxe9cOLH1ziMioVgCOiuIFX0CE + Q+/WYf+yieiCFrRp9tkwxnP7Kt5MbKGm6wfC000KwDlTXNLgEvHMkh+Db32o7fYivtQm1l9+3IBOp5P7 + yjYPwlKNCsAluWudxgvtknb5t9oWcL/VLU2Mvd2JFq3uqs7vAtE/ceNayiMF4KiYMSjmY2O7B4Ua+NaD + YQGEJumRbvyG1IcfBHI12aAAXM8R57aIWTNrLLY4tfNPiCvpR1SeVeu6WWzHFD6THSDwFMDdpmUG62NJ + PKM4Or9ZxBxb8H8l7g5CEu8pAOfM3WanSeeS8CFHxW4zM2umbWamOCShXAH+/wNOANABIDUxWnDPAAAA + AElFTkSuQmCC + + Magenta + + + 68, 22 + + + Tarama Yap + + + 6, 25 + + + 172, 22 + + + Kızılötesi Öğren + + + 172, 22 + + + RF Frekans Öğren + + + 172, 22 + + + Öğrenme Modu İptal + + + + False + - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG - YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 - 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw - bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc - VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 - c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 - Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo - mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ - kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D - TgDQASA1MVpwzwAAAABJRU5ErkJggg== + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAgNJREFUOE+lkutLk2EYxvePhJaHShFBUTEPiCieQOmDiEZgrEbpYGiCQxkqA80I + RUkUEZ0YRMS+DDI70MkTmzJnDc8iU8QT2mAEItnle90wHwTDyBduXnie5/rd133Q4ZKfAJqHFs9E08A8 + zD1emDpmYXjqRlnTFIrMk8iuGkNaxWekGEaQrHecBfw+/vPXODw6hj9whN2fh/Bt/8LSRgA3cxr/DeBZ + 9kvmTNMoHGNbIrYN+3Aj23IxgJkpds0doP3VstgmsNexhutZ9QrAms8T0zYzU5xXM46kcjsmvfvoeL2i + AeoUgA07T8yaaZuZKab1rzN74jgys1YB2O2gmBZzH49LODXrrJlnzEzxe9cOLH1ziMioVgCOiuIFX0CE + Q+/WYf+yieiCFrRp9tkwxnP7Kt5MbKGm6wfC000KwDlTXNLgEvHMkh+Db32o7fYivtQm1l9+3IBOp5P7 + yjYPwlKNCsAluWudxgvtknb5t9oWcL/VLU2Mvd2JFq3uqs7vAtE/ceNayiMF4KiYMSjmY2O7B4Ua+NaD + YQGEJumRbvyG1IcfBHI12aAAXM8R57aIWTNrLLY4tfNPiCvpR1SeVeu6WWzHFD6THSDwFMDdpmUG62NJ + PKM4Or9ZxBxb8H8l7g5CEu8pAOfM3WanSeeS8CFHxW4zM2umbWamOCShXAH+/wNOANABIDUxWnDPAAAA + AElFTkSuQmCC + + Magenta + + + 106, 22 + + + Yeni Komut Öğren + + + 6, 25 + + + False + - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG - YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 - 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw - bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc - VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 - c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 - Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo - mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ - kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D - TgDQASA1MVpwzwAAAABJRU5ErkJggg== + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAgNJREFUOE+lkutLk2EYxvePhJaHShFBUTEPiCieQOmDiEZgrEbpYGiCQxkqA80I + RUkUEZ0YRMS+DDI70MkTmzJnDc8iU8QT2mAEItnle90wHwTDyBduXnie5/rd133Q4ZKfAJqHFs9E08A8 + zD1emDpmYXjqRlnTFIrMk8iuGkNaxWekGEaQrHecBfw+/vPXODw6hj9whN2fh/Bt/8LSRgA3cxr/DeBZ + 9kvmTNMoHGNbIrYN+3Aj23IxgJkpds0doP3VstgmsNexhutZ9QrAms8T0zYzU5xXM46kcjsmvfvoeL2i + AeoUgA07T8yaaZuZKab1rzN74jgys1YB2O2gmBZzH49LODXrrJlnzEzxe9cOLH1ziMioVgCOiuIFX0CE + Q+/WYf+yieiCFrRp9tkwxnP7Kt5MbKGm6wfC000KwDlTXNLgEvHMkh+Db32o7fYivtQm1l9+3IBOp5P7 + yjYPwlKNCsAluWudxgvtknb5t9oWcL/VLU2Mvd2JFq3uqs7vAtE/ceNayiMF4KiYMSjmY2O7B4Ua+NaD + YQGEJumRbvyG1IcfBHI12aAAXM8R57aIWTNrLLY4tfNPiCvpR1SeVeu6WWzHFD6THSDwFMDdpmUG62NJ + PKM4Or9ZxBxb8H8l7g5CEu8pAOfM3WanSeeS8CFHxW4zM2umbWamOCShXAH+/wNOANABIDUxWnDPAAAA + AElFTkSuQmCC + + Magenta + + + 79, 22 + + + Komut Gönder + + + False + + + 121, 25 + + + Segoe UI, 9pt + + + 20, 25 + + + 1 + + + False + - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG - YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 - 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw - bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc - VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 - c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 - Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo - mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ - kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D - TgDQASA1MVpwzwAAAABJRU5ErkJggg== + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAgNJREFUOE+lkutLk2EYxvePhJaHShFBUTEPiCieQOmDiEZgrEbpYGiCQxkqA80I + RUkUEZ0YRMS+DDI70MkTmzJnDc8iU8QT2mAEItnle90wHwTDyBduXnie5/rd133Q4ZKfAJqHFs9E08A8 + zD1emDpmYXjqRlnTFIrMk8iuGkNaxWekGEaQrHecBfw+/vPXODw6hj9whN2fh/Bt/8LSRgA3cxr/DeBZ + 9kvmTNMoHGNbIrYN+3Aj23IxgJkpds0doP3VstgmsNexhutZ9QrAms8T0zYzU5xXM46kcjsmvfvoeL2i + AeoUgA07T8yaaZuZKab1rzN74jgys1YB2O2gmBZzH49LODXrrJlnzEzxe9cOLH1ziMioVgCOiuIFX0CE + Q+/WYf+yieiCFrRp9tkwxnP7Kt5MbKGm6wfC000KwDlTXNLgEvHMkh+Db32o7fYivtQm1l9+3IBOp5P7 + yjYPwlKNCsAluWudxgvtknb5t9oWcL/VLU2Mvd2JFq3uqs7vAtE/ceNayiMF4KiYMSjmY2O7B4Ua+NaD + YQGEJumRbvyG1IcfBHI12aAAXM8R57aIWTNrLLY4tfNPiCvpR1SeVeu6WWzHFD6THSDwFMDdpmUG62NJ + PKM4Or9ZxBxb8H8l7g5CEu8pAOfM3WanSeeS8CFHxW4zM2umbWamOCShXAH+/wNOANABIDUxWnDPAAAA + AElFTkSuQmCC + + Magenta + + + 45, 22 + + + Kaydet + + + 6, 25 + + + False + - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG - YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 - 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw - bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc - VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 - c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 - Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo - mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ - kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D - TgDQASA1MVpwzwAAAABJRU5ErkJggg== + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAgNJREFUOE+lkutLk2EYxvePhJaHShFBUTEPiCieQOmDiEZgrEbpYGiCQxkqA80I + RUkUEZ0YRMS+DDI70MkTmzJnDc8iU8QT2mAEItnle90wHwTDyBduXnie5/rd133Q4ZKfAJqHFs9E08A8 + zD1emDpmYXjqRlnTFIrMk8iuGkNaxWekGEaQrHecBfw+/vPXODw6hj9whN2fh/Bt/8LSRgA3cxr/DeBZ + 9kvmTNMoHGNbIrYN+3Aj23IxgJkpds0doP3VstgmsNexhutZ9QrAms8T0zYzU5xXM46kcjsmvfvoeL2i + AeoUgA07T8yaaZuZKab1rzN74jgys1YB2O2gmBZzH49LODXrrJlnzEzxe9cOLH1ziMioVgCOiuIFX0CE + Q+/WYf+yieiCFrRp9tkwxnP7Kt5MbKGm6wfC000KwDlTXNLgEvHMkh+Db32o7fYivtQm1l9+3IBOp5P7 + yjYPwlKNCsAluWudxgvtknb5t9oWcL/VLU2Mvd2JFq3uqs7vAtE/ceNayiMF4KiYMSjmY2O7B4Ua+NaD + YQGEJumRbvyG1IcfBHI12aAAXM8R57aIWTNrLLY4tfNPiCvpR1SeVeu6WWzHFD6THSDwFMDdpmUG62NJ + PKM4Or9ZxBxb8H8l7g5CEu8pAOfM3WanSeeS8CFHxW4zM2umbWamOCShXAH+/wNOANABIDUxWnDPAAAA + AElFTkSuQmCC - + + Magenta + + + 99, 22 + + + eControl İçe Aktar + + + 0, 0 + + + 805, 25 + + + 1 + + + toolStrip1 + + + toolStrip1 + + + System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + 122, 17 - + + + + Fill + + + Consolas, 9.75pt + + + 0, 25 + + + 805, 359 + + + 2 + + + + + + txtLog + + + BetterRichTextBox, Broadlink.WinApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + $this + + + 0 + + + True + + + 6, 13 + + + 805, 384 + + + Tahoma, 8.25pt + + + CenterScreen + + + Broadlink .NET | Developed By K3M41 + + + btnLogClean + + + System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + toolStripSeparator2 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + cmbDevices + + + System.Windows.Forms.ToolStripComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + btnConnect + + + System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + toolStripSeparator3 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + btnMenuOgren + + + System.Windows.Forms.ToolStripDropDownButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + btnIR_Learn + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + btnRF_Learn + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + btnLearnCancel + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + toolStripSeparator1 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + btnKomutGonder + + + System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + cmbKomutListe + + + System.Windows.Forms.ToolStripComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + txtIRCount + + + System.Windows.Forms.ToolStripTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + btnKomutlariKaydet + + + System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + toolStripSeparator4 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + btnIceAktar + + + System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + timerSicaklik + + + System.Windows.Forms.Timer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MainForm + + + System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Bağlanıldı + + + Tarama Yap + + + Bağlantı kuruluyor... + + + Cihazlar aranıyor... + + + Bağlan + + + Yazılıma uyumlu cihaz tespit edilemedi! + + + Veri bulunamadı! + + + Broadlink eControl uygulamasındaki verileri içe aktarma + + + 1) Uygulamadaki menüden 'Paylaş' butonuna tıklayınız. + + + 2) 'Ağdaki başka bir telefon ile paylaşın' butonuna tıklayınız. + + + 3) 'İptal' butonuna tıklayınız. + + + 4) Telefon hafızasında bulunan aşağıdaki dosyaları bilgisayarınıza kopyalayınız. + + + \tKlasör : /broadlink/newremote/SharedData + + + Komut gönderildi : {0} + + + Komut başlığı + + + Cihaz bulundu : {0} + + + Cihaz kullanıma hazır. + + + İsim giriniz : + + + IR Kızılötesi Öğrenme modu etkinleştirildi. + + + [Düğmeye basılı tutunuz!] + + + Öğrenme modundan çıkıldı. + + + RF Frekans Öğrenme modu etkinleştirildi. + + + RF Frekans Tarama [1/2] + + + RF Frekans Tarama [2/2] + + + [Aralarında bir duraklama ile RF düğmesine birden çok kez basın] + \ No newline at end of file diff --git a/Broadlink.WinApp/Program.cs b/Broadlink.WinApp/Program.cs index 6d5ebb0..fcd76ce 100644 --- a/Broadlink.WinApp/Program.cs +++ b/Broadlink.WinApp/Program.cs @@ -1,4 +1,6 @@ using System; +using System.Globalization; +using System.Threading; using System.Windows.Forms; namespace Broadlink.WinApp