فهرست منبع

Updated to 8.9

deadmoon 4 سال پیش
والد
کامیت
8bb85e7c0c

+ 5 - 0
CHANGELOG.md

@@ -2,6 +2,11 @@
 
 All notable changes to this project will be documented in this file.
 
+## [8.9] - 2021-06-17
+- New: Now detects .NET Framework installed version
+- New: Fully translated into Turkish (thanks to https://github.com/Kheasyque - Kheasyque) (#47)
+- Hotfix: Pinger not working when returning IPv6, now pings IPv4 only
+
 ## [8.8] - 2021-06-07
 - Choose language if running first time
 

+ 2 - 1
Optimizer/Enums.cs

@@ -89,6 +89,7 @@
     {
         EN,
         RU,
-        EL
+        EL,
+        TR
     }
 }

+ 38 - 3
Optimizer/FirstRunForm.Designer.cs

@@ -38,10 +38,13 @@ namespace Optimizer
             this.radioHellenic = new Optimizer.ColoredRadioButton();
             this.radioEnglish = new Optimizer.ColoredRadioButton();
             this.radioRussian = new Optimizer.ColoredRadioButton();
+            this.pictureBox1 = new System.Windows.Forms.PictureBox();
+            this.radioTurkish = new Optimizer.ColoredRadioButton();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox88)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox87)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox86)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox85)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
             this.SuspendLayout();
             // 
             // pictureBox88
@@ -89,7 +92,8 @@ namespace Optimizer
             // 
             // btnStart
             // 
-            this.btnStart.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.btnStart.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
             this.btnStart.BackColor = System.Drawing.Color.MediumOrchid;
             this.btnStart.DialogResult = System.Windows.Forms.DialogResult.Cancel;
             this.btnStart.FlatAppearance.BorderColor = System.Drawing.Color.MediumOrchid;
@@ -98,7 +102,7 @@ namespace Optimizer
             this.btnStart.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
             this.btnStart.Font = new System.Drawing.Font("Segoe UI Semibold", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.btnStart.ForeColor = System.Drawing.Color.White;
-            this.btnStart.Location = new System.Drawing.Point(11, 167);
+            this.btnStart.Location = new System.Drawing.Point(11, 224);
             this.btnStart.Margin = new System.Windows.Forms.Padding(2);
             this.btnStart.Name = "btnStart";
             this.btnStart.Size = new System.Drawing.Size(180, 31);
@@ -155,6 +159,32 @@ namespace Optimizer
             this.radioRussian.UseVisualStyleBackColor = true;
             this.radioRussian.CheckedChanged += new System.EventHandler(this.radioRussian_CheckedChanged);
             // 
+            // pictureBox1
+            // 
+            this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
+            this.pictureBox1.Location = new System.Drawing.Point(34, 154);
+            this.pictureBox1.Name = "pictureBox1";
+            this.pictureBox1.Size = new System.Drawing.Size(36, 22);
+            this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+            this.pictureBox1.TabIndex = 87;
+            this.pictureBox1.TabStop = false;
+            this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click);
+            // 
+            // radioTurkish
+            // 
+            this.radioTurkish.AutoSize = true;
+            this.radioTurkish.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
+            this.radioTurkish.ForeColor = System.Drawing.Color.White;
+            this.radioTurkish.Location = new System.Drawing.Point(75, 152);
+            this.radioTurkish.Margin = new System.Windows.Forms.Padding(2);
+            this.radioTurkish.Name = "radioTurkish";
+            this.radioTurkish.Size = new System.Drawing.Size(76, 25);
+            this.radioTurkish.TabIndex = 88;
+            this.radioTurkish.Tag = "";
+            this.radioTurkish.Text = "Türkçe";
+            this.radioTurkish.UseVisualStyleBackColor = true;
+            this.radioTurkish.CheckedChanged += new System.EventHandler(this.radioTurkish_CheckedChanged);
+            // 
             // FirstRunForm
             // 
             this.AcceptButton = this.btnStart;
@@ -162,7 +192,9 @@ namespace Optimizer
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
             this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
             this.CancelButton = this.btnStart;
-            this.ClientSize = new System.Drawing.Size(202, 209);
+            this.ClientSize = new System.Drawing.Size(202, 266);
+            this.Controls.Add(this.radioTurkish);
+            this.Controls.Add(this.pictureBox1);
             this.Controls.Add(this.btnStart);
             this.Controls.Add(this.pictureBox85);
             this.Controls.Add(this.pictureBox88);
@@ -187,6 +219,7 @@ namespace Optimizer
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox87)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox86)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox85)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
             this.ResumeLayout(false);
             this.PerformLayout();
 
@@ -202,5 +235,7 @@ namespace Optimizer
         private System.Windows.Forms.PictureBox pictureBox86;
         private System.Windows.Forms.PictureBox pictureBox85;
         private System.Windows.Forms.Button btnStart;
+        private System.Windows.Forms.PictureBox pictureBox1;
+        private ColoredRadioButton radioTurkish;
     }
 }

+ 12 - 0
Optimizer/FirstRunForm.cs

@@ -62,5 +62,17 @@ namespace Optimizer
             Options.SaveSettings();
             Options.LoadTranslation();
         }
+
+        private void pictureBox1_Click(object sender, EventArgs e)
+        {
+            radioTurkish.PerformClick();
+        }
+
+        private void radioTurkish_CheckedChanged(object sender, EventArgs e)
+        {
+            Options.CurrentOptions.LanguageCode = LanguageCode.TR;
+            Options.SaveSettings();
+            Options.LoadTranslation();
+        }
     }
 }

+ 13 - 0
Optimizer/FirstRunForm.resx

@@ -300,6 +300,19 @@
         wE+1Aza5jAVEOyeTy1jAT7TDNb2MBkQ7J9PLaMB3tYM1uYwFfNDOyvQyGvAd7VBNL6MBv2jnZXIZC/iO
         dqiml9GAX7TzMr2MBnxVO1CTy1jAJ9q5mVzGAr6iHabpZTTgE+3cTC+jAVe1gzS5jAWcaGdnehkNuKId
         oullNOA32vmZ23/+9/8A8VIS644ZBj0AAAAASUVORK5CYII=
+</value>
+  </data>
+  <data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAMwAAAB4BAMAAABMVwCiAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAASUExUReEPIelcYe+Lj/Wxs/rW1v7//BrFkbQAAAGhSURBVGje7ZjLboMwEEVtSPYRNPtGTfet
+        FPaVWvYhZf7/VwrilRBsUvl6pFb3rBKzuHiYtyGEEEIIIYQQD/blS+rPwy6uyFE66veIKkkpIxcVFZHv
+        SCr2RiXafQqZ8RFD5Wky16H5m51EIvibHVUGJ8vKCGbbDyrPk3I5/QZh71WaQ7i3DZepbk436Ov0zlzP
+        jsHJIO0v8zY7t1AV8+qKfKxPOwMSep10+cug2S+52YhFWa5YdoBB5gyS6T+N46kFGTPxZ34rmCjddDJn
+        p0wFkdl6P00j01ktC5TpHW3nlGnfwB5D60Lh9YBW5mLyMrialv7gbIvEScKLqSuhXcm4g/e3Mk7TJ34P
+        eZSVt81BCc8rYwsB2cwnk8tSk/BXZZSMZnAuoOTQWuGplGzWU2fVNO7BqfOhQmCOoR21UllTKtKJ39VQ
+        LcdaA4Uac1baQdSsu/UGIKy5HcabuKsarcFDa4xKHddJDBadEVdrYB/XD9exk+C3KTrLFK3VkNKiS2tt
+        d7eErEwcdFaqWgtirXW36Zb3Ent5TwghhBBCCPm/GPMDK/rW/dMq584AAAAASUVORK5CYII=
 </value>
   </data>
   <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 5236 - 5017
Optimizer/MainForm.Designer.cs


+ 63 - 44
Optimizer/MainForm.cs

@@ -237,6 +237,8 @@ namespace Optimizer
             helpBox.SetToolTip(gameBarSw, Options.TranslationList["gameBarTip"].ToString());
             helpBox.SetToolTip(insiderSw, Options.TranslationList["insiderTip"].ToString());
             helpBox.SetToolTip(featuresSw, Options.TranslationList["featuresTip"].ToString());
+
+            helpBox.ToolTipTitle = Options.TranslationList["tipWhatsThis"].ToString();
         }
 
         private void ToggleSwitch7_Click(object sender, EventArgs e)
@@ -422,8 +424,10 @@ namespace Optimizer
             // EXPERIMENTAL message
             lblLab.Visible = Program.EXPERIMENTAL_BUILD;
 
-            txtOS.Text = "Microsoft " + Utilities.GetOS();
+            // Windows version, architecture, .NET Framework
+            txtOS.Text = Utilities.GetOS();
             txtBitness.Text = Utilities.GetBitness();
+            txtNetFw.Text = ".NET Framework " + Utilities.CheckNETFramework(); 
 
             if (Utilities.CurrentWindowsVersion == WindowsVersion.Unsupported)
             {
@@ -472,16 +476,18 @@ namespace Optimizer
             LoadSettings();
 
             // Translation-related
-            if (Options.CurrentOptions.LanguageCode != LanguageCode.EN) Translate();
-
             if (Options.CurrentOptions.LanguageCode == LanguageCode.EN)
             {
                 radioEnglish.Checked = true;
-                txtVersion.Text = txtVersion.Text.Replace("{VN}", Program.GetCurrentVersionTostring());
+                Translate(true);
+            }
+            else
+            {
+                Translate();
             }
 
             if (Options.CurrentOptions.LanguageCode == LanguageCode.RU) radioRussian.Checked = true;
-
+            if (Options.CurrentOptions.LanguageCode == LanguageCode.TR) radioTurkish.Checked = true;
             if (Options.CurrentOptions.LanguageCode == LanguageCode.EL) radioHellenic.Checked = true;
 
             Program.MainForm = this;
@@ -519,20 +525,8 @@ namespace Optimizer
             }
         }
 
-        private void Translate()
+        private void Translate(bool skipFull = false)
         {
-            _noNewVersionMessage = Options.TranslationList["noNewVersion"];
-            _betaVersionMessage = Options.TranslationList["betaVersion"];
-            _restartMessage = Options.TranslationList["restartAndApply"];
-            _removeStartupItemsMessage = Options.TranslationList["removeAllStartup"];
-            _removeHostsEntriesMessage = Options.TranslationList["removeAllHosts"];
-            _removeDesktopItemsMessage = Options.TranslationList["removeAllItems"];
-            _removeModernAppsMessage = Options.TranslationList["removeModernApps"];
-            _errorModernAppsMessage = Options.TranslationList["errorModernApps"];
-            _resetMessage = Options.TranslationList["resetMessage"];
-
-            SetHelpBoxTranslation();
-
             Dictionary<string, string> translationList = Options.TranslationList.ToObject<Dictionary<string, string>>();
             if (Environment.Is64BitOperatingSystem)
             {
@@ -543,33 +537,49 @@ namespace Optimizer
                 translationList["txtBitness"] = translationList["txtBitness"].Replace("{BITS}", translationList["c32"]);
             }
 
-            listStartupItems.Columns[0].Text = translationList["startupItemName"];
-            listStartupItems.Columns[1].Text = translationList["startupItemLocation"];
-            listStartupItems.Columns[2].Text = translationList["startupItemType"];
-            trayStartup.Text = translationList["trayStartup"];
-            trayCleaner.Text = translationList["trayCleaner"];
-            trayPinger.Text = translationList["trayPinger"];
-            trayHosts.Text = translationList["trayHosts"];
-            trayAD.Text = translationList["trayAD"];
-            trayRestartExplorer.Text = translationList["trayRestartExplorer"];
-            trayExit.Text = translationList["trayExit"];
+            SetHelpBoxTranslation();
 
-            Control element;
+            if (!skipFull)
+            {
+                _noNewVersionMessage = Options.TranslationList["noNewVersion"];
+                _betaVersionMessage = Options.TranslationList["betaVersion"];
+                _restartMessage = Options.TranslationList["restartAndApply"];
+                _removeStartupItemsMessage = Options.TranslationList["removeAllStartup"];
+                _removeHostsEntriesMessage = Options.TranslationList["removeAllHosts"];
+                _removeDesktopItemsMessage = Options.TranslationList["removeAllItems"];
+                _removeModernAppsMessage = Options.TranslationList["removeModernApps"];
+                _errorModernAppsMessage = Options.TranslationList["errorModernApps"];
+                _resetMessage = Options.TranslationList["resetMessage"];
+
+                listStartupItems.Columns[0].Text = translationList["startupItemName"];
+                listStartupItems.Columns[1].Text = translationList["startupItemLocation"];
+                listStartupItems.Columns[2].Text = translationList["startupItemType"];
+                trayStartup.Text = translationList["trayStartup"];
+                trayCleaner.Text = translationList["trayCleaner"];
+                trayPinger.Text = translationList["trayPinger"];
+                trayHosts.Text = translationList["trayHosts"];
+                trayAD.Text = translationList["trayAD"];
+                trayRestartExplorer.Text = translationList["trayRestartExplorer"];
+                trayExit.Text = translationList["trayExit"];
+
+                Control element;
+
+                foreach (var x in translationList)
+                {
+                    if (x.Key == null || x.Key == string.Empty) continue;
+                    element = this.Controls.Find(x.Key, true).FirstOrDefault();
 
-            foreach (var x in translationList)
-            {
-                if (x.Key == null || x.Key == string.Empty) continue;
-                element = this.Controls.Find(x.Key, true).FirstOrDefault();
+                    if (element == null) continue;
 
-                if (element == null) continue;
+                    if (element is ToggleSwitch)
+                    {
+                        ((ToggleSwitch)element).OnText = x.Value;
+                        continue;
+                    }
 
-                if (element is ToggleSwitch)
-                {
-                    ((ToggleSwitch)element).OnText = x.Value;
-                    continue;
+                    element.Text = x.Value;
                 }
 
-                element.Text = x.Value;
             }
 
             txtVersion.Text = txtVersion.Text.Replace("{VN}", Program.GetCurrentVersionTostring());
@@ -2725,11 +2735,6 @@ namespace Optimizer
             Translate();
         }
 
-        private void helpBox_Popup(object sender, PopupEventArgs e)
-        {
-            helpBox.ToolTipTitle = Options.TranslationList["tipWhatsThis"].ToString();
-        }
-
         private void pictureBox88_Click(object sender, EventArgs e)
         {
             radioHellenic.PerformClick();
@@ -2748,5 +2753,19 @@ namespace Optimizer
         {
             Utilities.SpeedTest();
         }
+
+        private void pictureBox89_Click(object sender, EventArgs e)
+        {
+            radioTurkish.PerformClick();
+        }
+
+        private void radioTurkish_Click(object sender, EventArgs e)
+        {
+            radioTurkish.Checked = true;
+            Options.CurrentOptions.LanguageCode = LanguageCode.TR;
+            Options.SaveSettings();
+            Options.LoadTranslation();
+            Translate();
+        }
     }
 }

+ 13 - 0
Optimizer/MainForm.resx

@@ -44324,6 +44324,19 @@ any application only by typing your desired keyword.</value>
         wE+1Aza5jAVEOyeTy1jAT7TDNb2MBkQ7J9PLaMB3tYM1uYwFfNDOyvQyGvAd7VBNL6MBv2jnZXIZC/iO
         dqiml9GAX7TzMr2MBnxVO1CTy1jAJ9q5mVzGAr6iHabpZTTgE+3cTC+jAVe1gzS5jAWcaGdnehkNuKId
         oullNOA32vmZ23/+9/8A8VIS644ZBj0AAAAASUVORK5CYII=
+</value>
+  </data>
+  <data name="pictureBox89.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAMwAAAB4BAMAAABMVwCiAAAABGdBTUEAALGPC/xhBQAAABJQTFRF4Q8h
+        6Vxh74uP9bGz+tbW/v/8GsWRtAAAAaFJREFUaN7tmMtugzAQRW1I9hE0+0ZN960U9pVa9iFl/v9XCuKV
+        EGxS+XqkVvesErO4eJi3IYQQQgghhBAP9uVL6s/DLq7IUTrq94gqSSkjFxUVke9IKvZGJdp9CpnxEUPl
+        aTLXofmbnUQi+JsdVQYny8oIZtsPKs+Tcjn9BmHvVZpDuLcNl6luTjfo6/TOXM+Owckg7S/zNju3UBXz
+        6op8rE87AxJ6nXT5y6DZL7nZiEVZrlh2gEHmDJLpP43jqQUZM/FnfiuYKN10MmenTAWR2Xo/TSPTWS0L
+        lOkdbeeUad/AHkPrQuH1gFbmYvIyuJqW/uBsi8RJwoupK6FdybiD97cyTtMnfg95lJW3zUEJzytjCwHZ
+        zCeTy1KT8FdllIxmcC6g5NBa4amUbNZTZ9U07sGp86FCYI6hHbVSWVMq0onf1VAtx1oDhRpzVtpB1Ky7
+        9QYgrLkdxpu4qxqtwUNrjEod10kMFp0RV2tgH9cP17GT4LcpOssUrdWQ0qJLa213t4SsTBx0VqpaC2Kt
+        dbfplvcSe3lPCCGEEEII+b8Y8wMr+tb90yrnzgAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="pictureBox88.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

+ 1 - 0
Optimizer/Optimizer.csproj

@@ -231,6 +231,7 @@
     <None Include="Resources\RU.json" />
     <None Include="Resources\SystemShortcuts.reg" />
     <None Include="Resources\SystemTools.reg" />
+    <None Include="Resources\TR.json" />
     <None Include="Resources\WindowsApps.reg" />
   </ItemGroup>
   <ItemGroup>

+ 2 - 1
Optimizer/Options.cs

@@ -189,7 +189,7 @@ namespace Optimizer
                 CurrentOptions.Color = Theme.Zerg;
                 CurrentOptions.AppsFolder = Path.Combine(Application.StartupPath, "Optimizer Downloads");
                 Directory.CreateDirectory(Options.CurrentOptions.AppsFolder);
-                CurrentOptions.EnableTray = true;
+                CurrentOptions.EnableTray = false;
                 CurrentOptions.ShowHelp = true;
 
                 CurrentOptions.LanguageCode = LanguageCode.EN;
@@ -260,6 +260,7 @@ namespace Optimizer
             if (CurrentOptions.LanguageCode == LanguageCode.EN) TranslationList = JObject.Parse(Properties.Resources.EN);
             if (CurrentOptions.LanguageCode == LanguageCode.RU) TranslationList = JObject.Parse(Properties.Resources.RU);
             if (CurrentOptions.LanguageCode == LanguageCode.EL) TranslationList = JObject.Parse(Properties.Resources.EL);
+            if (CurrentOptions.LanguageCode == LanguageCode.TR) TranslationList = JObject.Parse(Properties.Resources.TR);
         }
     }
 }

+ 14 - 3
Optimizer/Program.cs

@@ -13,7 +13,7 @@ namespace Optimizer
         // Enter current version here
 
         internal readonly static float Major = 8;
-        internal readonly static float Minor = 8;
+        internal readonly static float Minor = 9;
 
         internal readonly static bool EXPERIMENTAL_BUILD = false;
 
@@ -39,6 +39,8 @@ namespace Optimizer
         static string _adminMissingMessage = "Optimizer needs to be run as administrator!\nApp will now close...";
         static string _unsupportedMessage = "Optimizer works in Windows 7 or higher!\nApp will now close...";
 
+        static string _renameAppMessage = "It's recommended to rename the app from '{0}' to 'Optimizer' for a better experience.\n\nApp will now close...";
+
         static string _confInvalidVersionMsg = "Windows version does not match!";
         static string _confInvalidFormatMsg = "Config file is in invalid format!";
         static string _confNotFoundMsg = "Config file does not exist!";
@@ -50,6 +52,9 @@ namespace Optimizer
             EmbeddedAssembly.Load(_jsonAssembly, _jsonAssembly.Replace("Optimizer.", string.Empty));
             AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;
 
+            Application.EnableVisualStyles();
+            Application.SetCompatibleTextRenderingDefault(false);
+
             // check if another instance is running
             // what's the problem? prevents auto-patching...
 
@@ -59,8 +64,14 @@ namespace Optimizer
             //    return;
             //}
 
-            Application.EnableVisualStyles();
-            Application.SetCompatibleTextRenderingDefault(false);
+            // prompt to change filename to 'Optimizer' (skip if experimental build)
+            // annoying?
+
+            //if (!EXPERIMENTAL_BUILD && Path.GetFileNameWithoutExtension(Assembly.GetEntryAssembly().Location) != "Optimizer")
+            //{
+            //    MessageBox.Show(string.Format(_renameAppMessage, Path.GetFileNameWithoutExtension(Assembly.GetEntryAssembly().Location)), "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
+            //    Environment.Exit(0);
+            //}
 
             if (!Utilities.IsAdmin())
             {

+ 32 - 11
Optimizer/Properties/Resources.Designer.cs

@@ -147,9 +147,10 @@ namespace Optimizer.Properties {
         
         /// <summary>
         ///   Looks up a localized string similar to {
-        ///	&quot;restartButton&quot;: &quot;Εφαρμογή &amp; Επανεκκίνηση&quot;,
-        ///	&quot;restartButton8&quot;: &quot;Εφαρμογή &amp; Επανεκκίνηση&quot;,
-        ///	&quot;restartButton10&quot;: &quot;Εφαρμογή &amp; Επανεκκίνηση&quot;,
+        ///	&quot;btnAbout&quot;: &quot;Εντάξει&quot;,
+        ///	&quot;restartButton&quot;: &quot;Εφαρμογή &amp;&amp; Επανεκκίνηση&quot;,
+        ///	&quot;restartButton8&quot;: &quot;Εφαρμογή &amp;&amp; Επανεκκίνηση&quot;,
+        ///	&quot;restartButton10&quot;: &quot;Εφαρμογή &amp;&amp; Επανεκκίνηση&quot;,
         ///	&quot;restartAndApply&quot;: &quot;Επανεκκίνηση για την εφαρμογή των αλλαγών;&quot;,
         ///	&quot;txtVersion&quot;: &quot;Έκδοση: {VN}&quot;,
         ///	&quot;txtBitness&quot;: &quot;Αρχιτεκτονική {BITS}&quot;,
@@ -157,8 +158,7 @@ namespace Optimizer.Properties {
         ///	&quot;lblLab&quot;: &quot;Πειραματική έκδοση&quot;,
         ///	&quot;performanceSw&quot;: &quot;Βελτιστοποίηση Απόδοσης Συστήματος&quot;,
         ///	&quot;networkSw&quot;: &quot;Βελτιστοποίηση Δικτύου&quot;,
-        ///	&quot;defenderSw&quot;: &quot;Απενεργοποίηση Windows Defender&quot;,
-        ///	&quot;syste [rest of string was truncated]&quot;;.
+        ///	&quot;defenderSw&quot;: &quot;Απενεργοποίηση [rest of string was truncated]&quot;;.
         /// </summary>
         internal static string EL {
             get {
@@ -168,9 +168,10 @@ namespace Optimizer.Properties {
         
         /// <summary>
         ///   Looks up a localized string similar to {
-        ///	&quot;restartButton&quot;: &quot;Apply &amp; Restart&quot;,
-        ///	&quot;restartButton8&quot;: &quot;Apply &amp; Restart&quot;,
-        ///	&quot;restartButton10&quot;: &quot;Apply &amp; Restart&quot;,
+        ///	&quot;btnAbout&quot;: &quot;OK&quot;,
+        ///	&quot;restartButton&quot;: &quot;Apply &amp;&amp; Restart&quot;,
+        ///	&quot;restartButton8&quot;: &quot;Apply &amp;&amp; Restart&quot;,
+        ///	&quot;restartButton10&quot;: &quot;Apply &amp;&amp; Restart&quot;,
         ///	&quot;restartAndApply&quot;: &quot;restart to apply changes?&quot;,
         ///	&quot;txtVersion&quot;: &quot;Version: {VN}&quot;,
         ///	&quot;txtBitness&quot;: &quot;You are working with {BITS}&quot;,
@@ -179,7 +180,7 @@ namespace Optimizer.Properties {
         ///	&quot;performanceSw&quot;: &quot;Enable Performance Tweaks&quot;,
         ///	&quot;networkSw&quot;: &quot;Disable Network Throttling&quot;,
         ///	&quot;defenderSw&quot;: &quot;Disable Windows Defender&quot;,
-        ///	&quot;systemRestoreSw&quot;: &quot;Disable Sy [rest of string was truncated]&quot;;.
+        ///	&quot;system [rest of string was truncated]&quot;;.
         /// </summary>
         internal static string EN {
             get {
@@ -333,6 +334,7 @@ namespace Optimizer.Properties {
         
         /// <summary>
         ///   Looks up a localized string similar to {
+        ///	&quot;btnAbout&quot;: &quot;Ок&quot;,
         ///	&quot;restartButton&quot;: &quot;Применить и перезапустить&quot;,
         ///	&quot;restartButton8&quot;: &quot;Применить и перезапустить&quot;,
         ///	&quot;restartButton10&quot;: &quot;Применить и перезапустить&quot;,
@@ -342,8 +344,7 @@ namespace Optimizer.Properties {
         ///	&quot;linkUpdate&quot;: &quot;обновление доступно&quot;,
         ///	&quot;lblLab&quot;: &quot;экспериментальная сборка\n(удалить после тестирования)&quot;,
         ///	&quot;performanceSw&quot;: &quot;Вкл Настройки производительности&quot;,
-        ///	&quot;networkSw&quot;: &quot;Отключить Сетевое регулирование&quot;,
-        ///	&quot;d [rest of string was truncated]&quot;;.
+        ///	&quot;networkSw&quot;: &quot;Отключить Сетевое  [rest of string was truncated]&quot;;.
         /// </summary>
         internal static string RU {
             get {
@@ -394,6 +395,26 @@ namespace Optimizer.Properties {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to {
+        ///	&quot;btnAbout&quot;: &quot;OK&quot;,
+        ///	&quot;restartButton&quot;: &quot;Uygula ve Yeniden Başlat&quot;,
+        ///	&quot;restartButton8&quot;: &quot;Uygula ve Yeniden Başlat&quot;,
+        ///	&quot;restartButton10&quot;: &quot;Uygula ve Yeniden Başlat&quot;,
+        ///	&quot;restartAndApply&quot;: &quot;Değişiklikleri uygulamak için yeniden başlatılsın mı?&quot;,
+        ///	&quot;txtVersion&quot;: &quot;Version: {VN}&quot;,
+        ///	&quot;txtBitness&quot;: &quot;{BITS} ile çalışıyorsun.&quot;,
+        ///	&quot;linkUpdate&quot;: &quot;Güncelleme Mevcut&quot;,
+        ///	&quot;lblLab&quot;: &quot;Deneysel Yapı\n(Testten sonra silin)&quot;,
+        ///	&quot;performanceSw&quot;: &quot;Performans Ayarlarını Etkinleştir&quot;,
+        ///	&quot;networkSw&quot;: &quot;Ağ Kısıtlamasını Devre Dışı Bı [rest of string was truncated]&quot;;.
+        /// </summary>
+        internal static string TR {
+            get {
+                return ResourceManager.GetString("TR", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Windows Registry Editor Version 5.00
         ///

+ 3 - 0
Optimizer/Properties/Resources.resx

@@ -178,4 +178,7 @@
   <data name="EL" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\EL.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
   </data>
+  <data name="TR" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\TR.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
+  </data>
 </root>

+ 349 - 0
Optimizer/Resources/TR.json

@@ -0,0 +1,349 @@
+{
+	"btnAbout": "OK",
+	"restartButton": "Uygula ve Yeniden Başlat",
+	"restartButton8": "Uygula ve Yeniden Başlat",
+	"restartButton10": "Uygula ve Yeniden Başlat",
+	"restartAndApply": "Değişiklikleri uygulamak için yeniden başlatılsın mı?",
+	"txtVersion": "Versiyon: {VN}",
+	"txtBitness": "{BITS} ile çalışıyor.",
+	"linkUpdate": "Güncelleme Mevcut",
+	"lblLab": "Deneysel Yapı\n(Testten sonra silin)",
+	"performanceSw": "Performans Ayarlarını Etkinleştir",
+	"networkSw": "Ağ Kısıtlamasını Devre Dışı Bırak",
+	"defenderSw": "Windows Defender'ı Devre Dışı Bırakın",
+	"systemRestoreSw": "Sistem Geri Yüklemeyi Devre Dışı Bırak",
+	"printSw": "Print(Yazdırma) Hizmetini Devre Dışı Bırak",
+	"mediaSharingSw": "Medya Oynatıcı Paylaşımını Devre Dışı Bırak",
+	"faxSw": "Fax Hizmetini Devre Dışı Bırak",
+	"reportingSw": "Hata Raporunu Devre Dışı Bırak",
+	"homegroupSw": "Ev Grubunu Devre Dışı Bırak",
+	"superfetchSw": "Superfetch'i Devre Dışı Bırak",
+	"telemetryTasksSw": "Telemetri Görevlerini Devre Dışı Bırak",
+	"officeTelemetrySw": "Office 2016 Telemetrisini Devre Dışı Bırak",
+	"compatSw": "Uyumluluk Asistanını Devre Dışı Bırak",
+	"smartScreenSw": "SmartScreen'i Devre Dışı Bırak",
+	"stickySw": "Yapışkan Tuşları Devre Dışı Bırak",
+	"universalTab": "Evrensel",
+	"modernAppsTab": "UWP Uygulamalar",
+	"startupTab": "Başlangıç",
+	"appsTab": "Ortak Uygulamalar",
+	"cleanerTab": "Temizleyici",
+	"pingerTab": "Pinger",
+	"registryFixerTab": "Kayıt Defteri",
+	"integratorTab": "Entegratör",
+	"optionsTab": "Seçenekler",
+	"oldMixerSw": "Klasik Hacim Karıştırıcısını Etkinleştir",
+	"colorBarSw": "Görev Çubuğu Rengini Etkinleştir",
+	"oldExplorerSw": "Hızlı Erişim Geçmişini Devre Dışı Bırak",
+	"adsSw": "Başlat Menüsü Reklamlarını Devre Dışı Bırak",
+	"darkSw": "Koyu Temayı Etkinleştir",
+	"uODSw": "OneDrive'ı Kaldır",
+	"peopleSw": "Kişilerimi Devre Dışı Bırak",
+	"longPathsSw": "Uzun Yolları(Long Path) Etkinleştir",
+	"autoUpdatesSw": "Otomatik Güncellemeleri Devre Dışı Bırak",
+	"driversSw": "Sürücüleri Güncellemelerden Çıkarın",
+	"telemetryServicesSw": "Telemetri Hizmetlerini Devre Dışı Bırak",
+	"privacySw": "Gizliliği Geliştirin",
+	"ccSw": "Bulut Panosunu Devre Dışı Bırak",
+	"cortanaSw": "Cortana'yı Devre Dışı Bırak",
+	"sensorSw": "Sensör Hizmetlerini Devre Dışı Bırak",
+	"castSw": "Cihaza Yayını(Cast to device) Kaldır",
+	"inkSw": "Windows Mürekkebini Devre Dışı Bırak",
+	"spellSw": "Yazım Denetimini Devre Dışı Bırak",
+	"xboxSw": "Xbox Live'ı Devre Dışı Bırak",
+	"gameBarSw": "Oyun Çubuğunu Devre Dışı Bırak",
+	"insiderSw": "İçeriden Bilgilendirme Hizmetini Devre Dışı Bırak",
+	"featuresSw": "Özellik Güncellemelerini Devre Dışı Bırak",
+	"actionSw": "Bildirim Merkezini Devre Dışı Bırak",
+	"disableOneDriveSw": "OneDrive'ı Devre Dışı Bırak",
+	"refreshModernAppsButton": "Yenile",
+	"uninstallModernAppsButton": "Kaldır",
+	"txtModernAppsTitle": "İstenmeyen UWP Uygulamalarını Kaldırın",
+	"chkSelectAllModernApps": "Hepsini seç",
+	"chkOnlyRemovable": "Yalnızca Kaldırılabilir Olanlar",
+	"txtUWP": "Eğer Microsoft Mağazasını kaldırırsanız\nYeni UWP Uygulamalarını yükleyemezsiniz!\n\nAyrıca bazı uygulamalar kaldırılamaz.\nMicrosoft Edge, Ayarlar gibi..",
+	"startupTitle": "Başlangıç öğelerinizi seçin",
+	"removeStartupItemB": "Kaldır",
+	"locateFileB": "Dosyayı bul",
+	"findInRegB": "Kayıt Defterinde Bul",
+	"refreshStartupB": "Yenile",
+	"restoreStartupB": "Onar",
+	"backupStartupB": "Yedekle(Backup)",
+	"lblBackupTitle": "Yedekleme Başlığı:",
+	"doBackup": "TAMAM",
+	"cancelBackup": "İptal",
+	"startupItemName": "İsim",
+	"startupItemLocation": "Konum",
+	"startupItemType": "Tür",
+	"txtFeedError": "İnternet bağlantısı yok, bağlantıları yenilemeyi tekrar deneyin",
+	"appsTitle": "Yararlı uygulamaları indirin ve kurun",
+	"btnGetFeed": "Bağlantıları yenile",
+	"bitPref": "Bit tercihini ayarla",
+	"linkWarnings": "Uyarılara Bakın",
+	"txtDownloadStatus": "Boşta",
+	"goToDownloadsB": "İndirilenler'e git",
+	"btnDownloadApps": "İndir",
+	"cAutoInstall": "İndirdikten sonra kurun",
+	"changeDownDirB": "Değiştir",
+	"setDownDirLbl": "İndirme klasörünü ayarla",
+	"c64": "64-bit",
+	"c32": "32-bit",
+	"checkSelectAll": "Hepsini seç",
+	"checkTemp": "Geçici Dosyalar",
+	"checkLogs": "Windows Logları",
+	"checkMiniDumps": "BSOD Minidumps",
+	"checkBin": "Geri Dönüşüm Kutusu",
+	"checkMediaCache": "Medya Oynatıcı Önbelleği",
+	"checkErrorReports": "Hata Raporları",
+	"cleanDriveB": "Temiz",
+	"lblPretext": "Serbest bırakılacak boyut:",
+	"cleanerTitle": "Sistem sürücünüzü temizleyin",
+	"pingerTitle": "IP adreslerine ping atın ve gecikmenizi değerlendirin",
+	"lblPinger": "IP / Domain adı",
+	"copyIPB": "Kopyala",
+	"copyB": "IP Kopyala",
+	"btnShodan": "SHODAN.io'dan Kontrol Et",
+	"btnPing": "Ping",
+	"lblResults": "Sonuçlar",
+	"flushCacheB": "DNS Önbelleğini Temizle",
+	"btnExport": "Dışarı Aktar",
+	"hostsTitle": "Hosts dosyanızı verimli bir şekilde düzenleyin",
+	"linkLocate": "Belirle",
+	"linkAdvancedEdit": "Gelişmiş Düzenleyici(Editor)",
+	"linkRestoreDefault": "Varsayılana Döndür",
+	"lblIP": "IP adresi",
+	"lblDomain": "Domain",
+	"chkBlock": "Blok",
+	"addHostB": "Ekle",
+	"lblLock": "HOSTS dosyanızı kilitleyerek koruyun",
+	"chkReadOnly": "Read-only",
+	"lblAdblock": "Önceden Hazırlanmış Reklam Blokları",
+	"lblAdblockSub": "(geçerli yapılandırmanızı{config} siler)",
+	"adblockS": "Reklam Engelleyici + Sosyal",
+	"adblockP": "Reklam Engelleyici + Porno",
+	"removeHostB": "Kaldır",
+	"refreshHostsB": "Yenile",
+	"removeAllHostsB": "Hepsini Kaldır",
+	"regFixB": "Düzelt",
+	"regLbl": "(bazı değişiklikler buna ihtiyaç duyabilir)",
+	"checkRestartExplorer": "Ayrıca değişiklikleri uygulamak için Explorer'ı yeniden başlatın",
+	"checkRegistryEditor": "Kayıt Defteri Düzenleyici",
+	"checkFirewall": "Windows Güvenlik Duvarı",
+	"checkContextMenu": "Sağ Tık Menüsü",
+	"checkRunDialog": "Çalıştır(Run Dialog Box)",
+	"checkFolderOptions": "Dosya Seçenekleri",
+	"checkControlPanel": "Denetim Masası",
+	"checkCommandPrompt": "Komut İstemi",
+	"checkTaskManager": "Görev Yöneticisi",
+	"checkEnableAll": "Hepsini Etkinleştir",
+	"registryTitle": "Yaygın kayıt defteri sorunlarını düzeltin",
+	"quickAccessToggle": "Hızlı Erişim Menüsünü Göster",
+	"helpTipsToggle": "Yardım Mesajlarını Göster",
+	"lblTheming": "Temanızı seçin",
+	"radioOcean": "Ocean",
+	"radioMagma": "Magma",
+	"radioZerg": "Zerg",
+	"radioCaramel": "Caramel",
+	"radioLime": "Lime",
+	"radioMinimal": "Minimal",
+	"lblUpdating": "Kontrol et ve güncelle",
+	"btnUpdate": "Güncellemeleri kontrol et",
+	"btnChangelog": "Değişiklikleri görüntüle",
+	"lblUpdateDisabled": "Deneysel yapılarda devre dışı bırakıldı",
+	"lblTroubleshoot": "Sorun giderme",
+	"btnViewLog": "Hataları görüntüle",
+	"btnOpenConf": "Yapılandırma klasörünü göster",
+	"btnResetConfig": "Yapılandırmayı sıfırla",
+	"integrator1": "Entegratör tamamen özelleştirilmiş ekleyebilir\nMasaüstü sağ tıklama menüsündeki öğeler:",
+	"integrator2": "• Herhangi bir program",
+	"integrator3": "• Klasörlere kısayollar",
+	"integrator4": "• Web bağlantıları",
+	"integrator5": "• Herhangi bir dosya türü",
+	"integrator6": "• Komutlar",
+	"integrator7": "Öğelerin özel simgeleri ve konumu olabilir.\nGizlenebilir öğeler, yalnızca SHIFT tuşuna basılarak erişilebilirler.\nAyrıca Diyalog için özel komutlar oluşturarak,\nbir uygulamayı istediğiniz anahtar kelimeyi yazarak başlatmayı kolaylaştırır.",
+	"integratorInfoTab": "Bilgi",
+	"tabPage8": "Ekle/Değiştir",
+	"tabPage9": "Kaldır",
+	"tabPage10": "Hazır Menüler",
+	"tabPage11": "Özel Çalıştır(Run Dialog Box) Komutları",
+	"addItemL": "Öğe ekle veya değiştir",
+	"itemtype": "Öğe türü",
+	"radioProgram": "Program",
+	"radioFolder": "Klasör",
+	"radioLink": "Link",
+	"radioFile": "Dosya",
+	"radioCommand": "Komut",
+	"itemtoaddgroup": "Eklenecek program",
+	"folderToAdd": "Eklenecek klasör",
+	"linkToAdd": "Eklenecek bağlantı",
+	"fileToAdd": "Eklenecek dosya",
+	"commandToAdd": "Eklenecek komut",
+	"icontoaddgroup": "Eklenecek simge",
+	"checkDefaultIcon": "Programın simgesini kullanın",
+	"checkDefaultFolderIcon": "Varsayılan klasör simgesini kullan",
+	"checkFavicon": "Web sitesi simgesini (favicon) indirin",
+	"checkNoIcon": "Simge yok",
+	"dnsCacheM": "DNS Önbelleği oluşturuluyor, daha sonra tekrar deneyin!",
+	"itemposition": "Öğe konumu",
+	"radioTop": "Üst",
+	"radioMiddle": "Orta",
+	"radioBottom": "Alt",
+	"security": "Güvenlik",
+	"checkShift": "Yalnızca SHIFT'e basıldığında göster",
+	"itemnamegroup": "Menüdeki öğe adı",
+	"btnAddItem": "Ekle/Değiştir",
+	"removeIntegratorItemsL": "Mevcut Masaüstü öğelerini kaldırın",
+	"removeDIB": "Kaldır",
+	"refreshIIB": "Yenile",
+	"removeAllIIB": "Hepsini kaldır",
+	"PMB": "Güç Menüsü Ekle",
+	"STB": "Sistem Araçları Ekle",
+	"WAB": "Windows Uygulamaları Ekle",
+	"SSB": "Sistem Kısayolları Ekle",
+	"DSB": "Masaüstü Kısayolları Ekle",
+	"AddOwnerB": "Sahip Ekle",
+	"RemoveOwnerB": "Sahip Kaldır",
+	"readyMenusL": "Kullanışlı, önceden hazırlanmış menüler ekleyin",
+	"refreshCCB": "Yenile",
+	"removeCCB": "Kaldır",
+	"removeCCL": "Mevcut komutları kaldır",
+	"btnCreateCustomCommand": "Oluştur",
+	"ccKeywordL": "anahtar kelime",
+	"ccFileL": "Dosya konumu",
+	"ccL": "Özel Çalıştır(Run Dialog Box) komutlarınızı tanımlayın",
+	"btnYes": "Evet",
+	"btnNo": "Hayır",
+	"btnOk": "Tamam",
+	"HostsEditorForm": "Hosts Düzenleyici(Editor)",
+	"savebtn": "Kaydet",
+	"closebtn": "Kapat",
+	"adminMissingMsg": "Optimize edicinin yönetici olarak çalıştırılması gerekiyor!\nUygulama şimdi kapanacak...",
+	"unsupportedMsg": "Optimize Edici, Windows 7 veya sonraki sürümlerde çalışır!\nUygulama şimdi kapanacak...",
+	"confInvalidVersionMsg": "Windows sürümü eşleşmiyor!",
+	"confInvalidFormatMsg": "Yapılandırma(Config) dosyası geçersiz biçimde!",
+	"confNotFoundMsg": "Yapılandırma(Config) dosyası mevcut değil!",
+	"argInvalidMsg": "Geçersiz argüman! Örnek: Optimizer.exe /silent.conf",
+	"StartupPreviewForm": "Başlangıç Öğeleri Önizlemesi",
+	"StartupRestoreForm": "Başlangıç Öğelerini Geri Yükle",
+	"backupL": "Başlangıç Öğelerinizi Kurtarın",
+	"txtNoBackups": "Yedek bulunamadı",
+	"previewBackupB": "Önizleme",
+	"restoreBackupB": "Onar",
+	"deleteBackupB": "Sil",
+	"noNewVersion": "Zaten en son sürüme sahipsiniz!",
+	"betaVersion": "Deneysel bir sürüm kullanıyorsunuz!",
+	"removeAllStartup": "Tüm başlangıç öğelerini silmek istediğinizden emin misiniz?",
+	"removeAllHosts": "Tüm ana bilgisayar(hosts) girişlerini silmek istediğinizden emin misiniz?",
+	"removeAllItems": "Tüm masaüstü öğelerini silmek istediğinizden emin misiniz?",
+	"removeModernApps": "Seçilen uygulamaları kaldırmak istediğinizden emin misiniz?",
+	"errorModernApps": "Seçilen uygulamalar kaldırılamadı:\n",
+	"resetMessage": "Yapılandırmayı sıfırlamak istediğinizden emin misiniz?\nEntegratör'ü kullanarak çıkardığınız veya indirdiğiniz simgeler de dahil olmak üzere tüm tercihlerinizi sıfırlar,\nancak bilgisayarınızdaki hiçbir şeye dokunmaz!",
+	"newVersion": "Yeni bir sürüm mevcut!\n\nEn son sürüm: {LATEST}\nŞimdiki versiyonu: {CURRENT}\n\nŞimdi indirmek istiyor musunuz?\n\nUygulama birkaç saniye içinde yeniden başlayacaktır.",
+	"downloadsFinished": "Tamamlandı",
+	"downloadDirInvalid": "Belirtilen indirme klasörü geçerli değil",
+	"no64Download": "64 bit mevcut değil, 32 bit indiriliyor",
+	"no32Download": "32 bit mevcut değil, atlanıyor",
+	"installing": "Kuruluyor",
+	"linkInvalid": "Bağlantı artık geçerli değil",
+	"noErrorsM": "Gösterilecek hata yok!",
+	"hostNotFound": "Ana bilgisayar(host) bulunamadı",
+	"pinging": "32 baytla pingleniyor - 9 defa...",
+	"latency": "GECİKME",
+	"min": "Minimum",
+	"max": "Maks.",
+	"avg": "Ortalama",
+	"timeout": "İstek zaman aşımına uğradı",
+	"languagesL": "Dil seçiniz",
+	"trayStartup": "Başlangıç Yöneticisi",
+	"trayCleaner": "Sürücü Temizleyici",
+	"trayPinger": "Pinger Aracı",
+	"trayHosts": "HOSTS Editor",
+	"trayAD": "Uygulama İndirici",
+	"trayRestartExplorer": "Explorer'ı yeniden başlatın",
+	"trayExit": "Çıkış",
+	"tipWhatsThis": "Bu nedir?",
+	"performanceTip": "Performansı optimize etmek için dahili Windows ayarlarının toplanması.
+Uygulanması tamamen güvenlidir.
+
+- Yanıt vermeyen süreçleri öldürmeden önce bekleme süresini azaltır.
+- Menü gösterme gecikme süresini azaltır.
+- Düşük disk alanı kontrol bildirimini devre dışı bırakır
+- En aza indirmek için salla özelliğini devre dışı bırakır
+- Her zaman dosya uzantılarını gösterir
+- Gizli dosyaları gösterir",
+	"networkTip": "Windows, multimedya uygulamalarını çalıştırırken
+ağ trafiğini kısıtlayacak bir ağ kısıtlama mekanizması uygular.
+Ayrıca çevrimiçi oyunlar oynarken ağın performansını da düşürebilir.",
+	"defenderTip": "Windows Defender, Windows sistemlerinde yerleşik antivirüs yazılımıdır.",
+	"smartScreenTip": "SmartScreen dosyaları, indirmeleri ve web sitelerini otomatik olarak tarar.
+Zaten bilinen tehlikeli içeriği engeller ve çalıştırmadan önce sizi uyarır.",
+	"systemRestoreTip": "Sistem Geri Yükleme, arızalardan veya diğer sorunlardan kurtulmak için
+Windows'un durumunu bir öncekine döndürmeyi sağlayan bir özelliktir.",
+	"reportingTip": "Hata Raporlama, uygulama çökmelerini ve hatalarını toplar ve bunları Microsoft'a gönderir.",
+	"telemetryTasksTip": "Telemetri hizmetleri, gelecekteki iyileştirmeler için düzenli aralıklarla
+kullanım ve performans verilerini Microsoft'a gönderir.",
+	"officeTelemetryTip": "Office telemetrisi, gelecekteki iyileştirmeler için düzenli aralıklarla
+kullanım ve performans verilerini Microsoft'a gönderir.",
+	"printTip": "Yazıcıların algılanmasından, kurulmasından ve kullanılmasından yazdırma hizmeti sorumludur.",
+	"faxTip": "Faks servisi, faks gönderip almaktan sorumludur..",
+	"mediaSharingTip": "Media Player Sharing, Windows Media Player için ev medyası paylaşımı sağlar.",
+	"stickyTip": "Yapışkan Tuşlar, fiziksel engelli Windows kullanıcılarının
+tekrarlayan zorlanma yaralanmalarıyla ilişkili hareket türünü azaltmasına
+yardımcı olan bir erişilebilirlik özelliğidir.",
+	"homegroupTip": "Ev Grubu, Windows Gezgini'ni kullanarak bir ev ağındaki dosyaların
+paylaşılmasına izin veren bir özelliktir.",
+	"superfetchTip": "Superfetch, yaygın olarak kullanılan uygulamaları RAM'e önceden yükler ve özellikle HDD'lerde
+yüksek disk kullanımına neden olur.",
+	"compatTip": "Uyumluluk Yardımcısı hizmeti, eski programlarda bilinen uyumluluk sorunlarını algılar.",
+	"disableOneDriveTip": "OneDrive bulut depolama entegrasyonunu devre dışı bırakır.",
+	"oldMixerTip": "Klasik ses mikseri kontrol panelini geri yükler.",
+	"colorBarTip": "- Kişiselleştirilmiş renginizle görev çubuğunu renklendirir.
+- Şeffaflık efektlerini devre dışı bırak",
+	"oldExplorerTip": "Windows Gezgini'nde Hızlı Erişim'i devre dışı bırakın ve sık dosyaları kaldırın.",
+	"adsTip": "Başlat Menüsünde reklamların görünmesini engeller.",
+	"darkTip": "Windows karanlık temasını etkinleştirir.",
+	"uODTip": "OneDrive bulut depolama entegrasyonunu tamamen kaldırır.",
+	"peopleTip": "Kişilerim, görev çubuğunda en son kişileri gösteren yeni bir özelliktir.",
+	"longPathsTip": "256 karakterlik maksimum yol uzunluğu sınırlamasını kaldırır.",
+	"inkTip": "Windows Ink, ekranda çizim yapmak için dijital kalemler için destek sağlar.",
+	"spellTip": "Yalnızca dokunmatik klavye gibi özellikler:
+
+- Otomatik düzeltme
+- Metin önerileri
+- Yazım denetimi",
+	"xboxTip": "Xbox Live hizmetleri, Xbox oyunları için akış, kayıt ve sosyal özellikler sunar.",
+	"actionTip": "Bildirim Merkezi, bildirimler ve hızlı eylem kutucukları için merkezi bir yerdir.
+Wi-Fi, Bluetooth vb.",
+	"autoUpdatesTip": "Windows güncellemelerinin otomatik olarak indirilmesini ve yüklenmesini devre dışı bırakır.
+Bunun yerine, yeni güncellemeler mevcut olduğunda bir bildirim var.
+Ayrıca Teslimat Optimizasyonu hizmetini de devre dışı bırakır.",
+	"driversTip": "Windows Update, düzgün çalışan bir sürücüyü sürekli olarak hatalı bir sürücüyle
+değiştirdiğinde kullanışlıdır.",
+	"telemetryServicesTip": "Telemetri hizmetleri, Microsoft'a analiz için geri bildirim göndererek
+kullanım verilerini izler ve günlüğe kaydeder.",
+	"privacyTip": "Aşağıdakileri devre dışı bırakan ekstra gizlilik ayarları:
+
+- Biyometri
+- Coğrafi konum
+- Uygulamaları cihazlar arasında paylaşın
+- Metin kaydedici
+- Teşhis",
+	"ccTip": "Cloud Clipboard, pano verilerini cihazlarınız arasında paylaşır.
+Bir cihaza kopyalayıp diğerine yapıştırmaya izin verir.
+Microsoft hesabında oturum açmayı gerektirir.",
+	"cortanaTip": "Cortana, sanal bir AI tabanlı asistandır.
+
+- Cortana'yı devre dışı bırakın.
+- Başlat Menüsünde web aramasını devre dışı bırakın
+- Arama geçmişinin tutulmasını engeller",
+	"sensorTip": "Sensörlerin işlevselliğini yöneten hizmetler,
+otomatik döndürme, otomatik parlaklık vb.
+Yalnızca dokunmatik ekranlı tabletler veya cihazlar için kullanışlıdır.",
+	"castTip": "Medya içeriğini Miracast cihazlarıyla paylaşmak için sağ tıklamayı kaldırır.",
+	"gameBarTip": "Oyun Çubuğu, Xbox oyun hizmetleri için hızlı erişim menüsüdür.",
+	"insiderTip": "Windows Insider programı, en son özellikleri halka açıklanmadan önce
+test etmenize olanak tanır.
+Katılmak istemeyen kullanıcılar için gereksiz bir hizmet olarak kabul edilir.",
+	"featuresTip": "Özellik Güncelleştirmeleri, teknik olarak Windows'un yükseltme gerektiren yeni sürümleridir.
+Ancak, riskli bir prosedür olarak kabul edilirler. Genellikle altı aylık yayınlardır."
+}

+ 41 - 0
Optimizer/Utilities.cs

@@ -694,5 +694,46 @@ namespace Optimizer
 
             MessageBox.Show(ByteSize.FromBytes(speed).KiloBytes.ToString());
         }
+
+        internal static string CheckNETFramework()
+        {
+            string subkey = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\";
+            int netRelease;
+
+            using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey(subkey))
+            {
+                if (ndpKey != null && ndpKey.GetValue("Release") != null)
+                {
+                    netRelease = (int)ndpKey.GetValue("Release");
+                }
+                else
+                {
+                    return "4.0";
+                }
+            }
+
+            if (netRelease >= 528040)
+                return "4.8";
+            if (netRelease >= 461808)
+                return "4.7.2";
+            if (netRelease >= 461308)
+                return "4.7.1";
+            if (netRelease >= 460798)
+                return "4.7";
+            if (netRelease >= 394802)
+                return "4.6.2";
+            if (netRelease >= 394254)
+                return "4.6.1";
+            if (netRelease >= 393295)
+                return "4.6";
+            if (netRelease >= 379893)
+                return "4.5.2";
+            if (netRelease >= 378675)
+                return "4.5.1";
+            if (netRelease >= 378389)
+                return "4.5";
+
+            return "4.0";
+        }
     }
 }

+ 6 - 4
README.md

@@ -26,6 +26,7 @@ Depending on your version of Windows, Optimizer will also allow you to perform s
 * Add items in desktop on right-click menu
 * Define custom commands for run dialog
 * Silent run support using a configuration file
+* Multilingual support
 
 ## Downloads: ##
 https://github.com/hellzerg/optimizer/releases
@@ -53,11 +54,12 @@ https://github.com/hellzerg/optimizer/blob/master/LEGACY.md
 * Thanks for this really tiny, yet extremely useful library
 
 ## Thanks to: ##
-* https://github.com/mrkaban - mrkaban for Russian translation
 * aplenaki for Hellenic translation
+* https://github.com/mrkaban - mrkaban for Russian translation
+* https://github.com/Kheasyque - Kheasyque for Turkish translation
 
 ## Details: ##
 
-* Latest version: 8.8
-* Released: June 7, 2021
-* SHA256: 56C53A308521146227A2C96CA96DF9668BC399D923DD859B8D6DF101BAF35085
+* Latest version: 8.9
+* Released: June 17, 2021
+* SHA256: 3789235F7C8C2627B4956306EEC6A00310EAFF4C2002AF9FDA471E17C5907244

+ 1 - 1
version.txt

@@ -1 +1 @@
-8.8
+8.9

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است