소스 검색

Updated to v12.1 (maintenance)

deadmoon 3 년 전
부모
커밋
b2b97523c3

+ 6 - 0
CHANGELOG.md

@@ -2,6 +2,12 @@
 
 All notable changes to this project will be documented in this file.
 
+## [12.1] - 2022-03-26
+- New: Fully translated into Taiwanese (thanks to https://github.com/H3XDaemon - H3XDaemon)
+- New: Added ShareX in Common Apps feed
+- Improved: Fixed translation issues on German and Italian languages
+- Removed: Hardware-accelerated GPU scheduling from Xbox Live toggle
+
 ## [12.0] - 2022-03-06
 - New: Fully translated into Czech (thanks to https://github.com/tomlonghorn - Tom Longhorn)
 

+ 2 - 2
FEED.md

@@ -15,11 +15,11 @@
 
 ## Example: ##
 
-```
+```json
 {
   "Title": "Google Chrome",
   "Link": "<link_x86>",
-  "Link64": "<link_x64>"
+  "Link64": "<link_x64>",
   "Tag":"cChrome",
   "Image": "<link_to_png>",
   "Group": "Internet"

+ 2 - 1
Optimizer/Enums.cs

@@ -98,6 +98,7 @@
         FR, // french
         IT, // italian
         CN, // chinese
-        CZ // czech
+        CZ, // czech
+        TW // taiwan
     }
 }

+ 34 - 0
Optimizer/Forms/FirstRunForm.Designer.cs

@@ -53,6 +53,8 @@ namespace Optimizer
             this.pictureBox7 = new System.Windows.Forms.PictureBox();
             this.radioCzech = new Optimizer.MoonnRadio();
             this.pictureBox8 = new System.Windows.Forms.PictureBox();
+            this.radioTaiwan = new Optimizer.MoonnRadio();
+            this.pictureBox9 = new System.Windows.Forms.PictureBox();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox88)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox87)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox86)).BeginInit();
@@ -64,6 +66,7 @@ namespace Optimizer
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox6)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox7)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox8)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox9)).BeginInit();
             this.SuspendLayout();
             // 
             // pictureBox88
@@ -377,6 +380,32 @@ namespace Optimizer
             this.pictureBox8.TabStop = false;
             this.pictureBox8.Click += new System.EventHandler(this.pictureBox8_Click);
             // 
+            // radioTaiwan
+            // 
+            this.radioTaiwan.AutoSize = true;
+            this.radioTaiwan.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
+            this.radioTaiwan.ForeColor = System.Drawing.Color.White;
+            this.radioTaiwan.Location = new System.Drawing.Point(200, 157);
+            this.radioTaiwan.Margin = new System.Windows.Forms.Padding(2);
+            this.radioTaiwan.Name = "radioTaiwan";
+            this.radioTaiwan.Size = new System.Drawing.Size(62, 25);
+            this.radioTaiwan.TabIndex = 104;
+            this.radioTaiwan.Tag = "";
+            this.radioTaiwan.Text = "國語";
+            this.radioTaiwan.UseVisualStyleBackColor = true;
+            this.radioTaiwan.CheckedChanged += new System.EventHandler(this.radioTaiwan_CheckedChanged);
+            // 
+            // pictureBox9
+            // 
+            this.pictureBox9.Image = global::Optimizer.Properties.Resources.taiwan;
+            this.pictureBox9.Location = new System.Drawing.Point(159, 158);
+            this.pictureBox9.Name = "pictureBox9";
+            this.pictureBox9.Size = new System.Drawing.Size(36, 22);
+            this.pictureBox9.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+            this.pictureBox9.TabIndex = 103;
+            this.pictureBox9.TabStop = false;
+            this.pictureBox9.Click += new System.EventHandler(this.pictureBox9_Click);
+            // 
             // FirstRunForm
             // 
             this.AcceptButton = this.btnStart;
@@ -385,6 +414,8 @@ namespace Optimizer
             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(311, 242);
+            this.Controls.Add(this.radioTaiwan);
+            this.Controls.Add(this.pictureBox9);
             this.Controls.Add(this.radioCzech);
             this.Controls.Add(this.pictureBox8);
             this.Controls.Add(this.radioChinese);
@@ -431,6 +462,7 @@ namespace Optimizer
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox6)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox7)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox8)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox9)).EndInit();
             this.ResumeLayout(false);
             this.PerformLayout();
 
@@ -461,5 +493,7 @@ namespace Optimizer
         private System.Windows.Forms.PictureBox pictureBox7;
         private MoonnRadio radioCzech;
         private System.Windows.Forms.PictureBox pictureBox8;
+        private MoonnRadio radioTaiwan;
+        private System.Windows.Forms.PictureBox pictureBox9;
     }
 }

+ 12 - 0
Optimizer/Forms/FirstRunForm.cs

@@ -152,5 +152,17 @@ namespace Optimizer
             Options.SaveSettings();
             Options.LoadTranslation();
         }
+
+        private void radioTaiwan_CheckedChanged(object sender, EventArgs e)
+        {
+            Options.CurrentOptions.LanguageCode = LanguageCode.TW;
+            Options.SaveSettings();
+            Options.LoadTranslation();
+        }
+
+        private void pictureBox9_Click(object sender, EventArgs e)
+        {
+            radioTaiwan.PerformClick();
+        }
     }
 }

+ 82 - 48
Optimizer/Forms/MainForm.Designer.cs

@@ -32,14 +32,14 @@ namespace Optimizer
         {
             this.components = new System.ComponentModel.Container();
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
-            System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("Processors", 0, 0);
-            System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("Memory", 1, 1);
-            System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("Graphics", 2, 2);
-            System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("Motherboard", 3, 3);
-            System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("Storage", 4, 4);
-            System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("Network Adapters", 5, 5);
-            System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("Audio", 6, 6);
-            System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("Peripherals", 7, 7);
+            System.Windows.Forms.TreeNode treeNode9 = new System.Windows.Forms.TreeNode("Processors", 0, 0);
+            System.Windows.Forms.TreeNode treeNode10 = new System.Windows.Forms.TreeNode("Memory", 1, 1);
+            System.Windows.Forms.TreeNode treeNode11 = new System.Windows.Forms.TreeNode("Graphics", 2, 2);
+            System.Windows.Forms.TreeNode treeNode12 = new System.Windows.Forms.TreeNode("Motherboard", 3, 3);
+            System.Windows.Forms.TreeNode treeNode13 = new System.Windows.Forms.TreeNode("Storage", 4, 4);
+            System.Windows.Forms.TreeNode treeNode14 = new System.Windows.Forms.TreeNode("Network Adapters", 5, 5);
+            System.Windows.Forms.TreeNode treeNode15 = new System.Windows.Forms.TreeNode("Audio", 6, 6);
+            System.Windows.Forms.TreeNode treeNode16 = new System.Windows.Forms.TreeNode("Peripherals", 7, 7);
             this.tpanel = new System.Windows.Forms.Panel();
             this.picLab = new System.Windows.Forms.PictureBox();
             this.picUpdate = new System.Windows.Forms.PictureBox();
@@ -402,6 +402,8 @@ namespace Optimizer
             this.trayExit = new System.Windows.Forms.ToolStripMenuItem();
             this.launcherIcon = new System.Windows.Forms.NotifyIcon(this.components);
             this.helpBox = new Optimizer.MoonTip();
+            this.radioTaiwan = new Optimizer.MoonnRadio();
+            this.pictureBox16 = new System.Windows.Forms.PictureBox();
             this.tpanel.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.picLab)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.picUpdate)).BeginInit();
@@ -470,6 +472,7 @@ namespace Optimizer
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox86)).BeginInit();
             this.panel8.SuspendLayout();
             this.launcherMenu.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox16)).BeginInit();
             this.SuspendLayout();
             // 
             // tpanel
@@ -3494,47 +3497,47 @@ namespace Optimizer
             this.specsTree.ForeColor = System.Drawing.Color.White;
             this.specsTree.Location = new System.Drawing.Point(0, 0);
             this.specsTree.Name = "specsTree";
-            treeNode1.ImageIndex = 0;
-            treeNode1.Name = "cpu";
-            treeNode1.SelectedImageIndex = 0;
-            treeNode1.Text = "Processors";
-            treeNode2.ImageIndex = 1;
-            treeNode2.Name = "ram";
-            treeNode2.SelectedImageIndex = 1;
-            treeNode2.Text = "Memory";
-            treeNode3.ImageIndex = 2;
-            treeNode3.Name = "gpu";
-            treeNode3.SelectedImageIndex = 2;
-            treeNode3.Text = "Graphics";
-            treeNode4.ImageIndex = 3;
-            treeNode4.Name = "mobo";
-            treeNode4.SelectedImageIndex = 3;
-            treeNode4.Text = "Motherboard";
-            treeNode5.ImageIndex = 4;
-            treeNode5.Name = "disk";
-            treeNode5.SelectedImageIndex = 4;
-            treeNode5.Text = "Storage";
-            treeNode6.ImageIndex = 5;
-            treeNode6.Name = "inet";
-            treeNode6.SelectedImageIndex = 5;
-            treeNode6.Text = "Network Adapters";
-            treeNode7.ImageIndex = 6;
-            treeNode7.Name = "audio";
-            treeNode7.SelectedImageIndex = 6;
-            treeNode7.Text = "Audio";
-            treeNode8.ImageIndex = 7;
-            treeNode8.Name = "dev";
-            treeNode8.SelectedImageIndex = 7;
-            treeNode8.Text = "Peripherals";
+            treeNode9.ImageIndex = 0;
+            treeNode9.Name = "cpu";
+            treeNode9.SelectedImageIndex = 0;
+            treeNode9.Text = "Processors";
+            treeNode10.ImageIndex = 1;
+            treeNode10.Name = "ram";
+            treeNode10.SelectedImageIndex = 1;
+            treeNode10.Text = "Memory";
+            treeNode11.ImageIndex = 2;
+            treeNode11.Name = "gpu";
+            treeNode11.SelectedImageIndex = 2;
+            treeNode11.Text = "Graphics";
+            treeNode12.ImageIndex = 3;
+            treeNode12.Name = "mobo";
+            treeNode12.SelectedImageIndex = 3;
+            treeNode12.Text = "Motherboard";
+            treeNode13.ImageIndex = 4;
+            treeNode13.Name = "disk";
+            treeNode13.SelectedImageIndex = 4;
+            treeNode13.Text = "Storage";
+            treeNode14.ImageIndex = 5;
+            treeNode14.Name = "inet";
+            treeNode14.SelectedImageIndex = 5;
+            treeNode14.Text = "Network Adapters";
+            treeNode15.ImageIndex = 6;
+            treeNode15.Name = "audio";
+            treeNode15.SelectedImageIndex = 6;
+            treeNode15.Text = "Audio";
+            treeNode16.ImageIndex = 7;
+            treeNode16.Name = "dev";
+            treeNode16.SelectedImageIndex = 7;
+            treeNode16.Text = "Peripherals";
             this.specsTree.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
-            treeNode1,
-            treeNode2,
-            treeNode3,
-            treeNode4,
-            treeNode5,
-            treeNode6,
-            treeNode7,
-            treeNode8});
+            treeNode9,
+            treeNode10,
+            treeNode11,
+            treeNode12,
+            treeNode13,
+            treeNode14,
+            treeNode15,
+            treeNode16});
             this.specsTree.Size = new System.Drawing.Size(991, 567);
             this.specsTree.TabIndex = 0;
             this.specsTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.specsTree_NodeMouseClick);
@@ -4740,6 +4743,8 @@ namespace Optimizer
             // panel9
             // 
             this.panel9.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.panel9.Controls.Add(this.radioTaiwan);
+            this.panel9.Controls.Add(this.pictureBox16);
             this.panel9.Controls.Add(this.radioCzech);
             this.panel9.Controls.Add(this.pictureBox15);
             this.panel9.Controls.Add(this.radioChinese);
@@ -5606,6 +5611,32 @@ namespace Optimizer
             this.helpBox.UseAnimation = false;
             this.helpBox.UseFading = false;
             // 
+            // radioTaiwan
+            // 
+            this.radioTaiwan.AutoSize = true;
+            this.radioTaiwan.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
+            this.radioTaiwan.ForeColor = System.Drawing.Color.White;
+            this.radioTaiwan.Location = new System.Drawing.Point(157, 326);
+            this.radioTaiwan.Margin = new System.Windows.Forms.Padding(2);
+            this.radioTaiwan.Name = "radioTaiwan";
+            this.radioTaiwan.Size = new System.Drawing.Size(62, 25);
+            this.radioTaiwan.TabIndex = 106;
+            this.radioTaiwan.Tag = "";
+            this.radioTaiwan.Text = "國語";
+            this.radioTaiwan.UseVisualStyleBackColor = true;
+            this.radioTaiwan.Click += new System.EventHandler(this.radioTaiwan_Click);
+            // 
+            // pictureBox16
+            // 
+            this.pictureBox16.Image = global::Optimizer.Properties.Resources.taiwan;
+            this.pictureBox16.Location = new System.Drawing.Point(116, 327);
+            this.pictureBox16.Name = "pictureBox16";
+            this.pictureBox16.Size = new System.Drawing.Size(36, 22);
+            this.pictureBox16.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+            this.pictureBox16.TabIndex = 105;
+            this.pictureBox16.TabStop = false;
+            this.pictureBox16.Click += new System.EventHandler(this.pictureBox16_Click);
+            // 
             // MainForm
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
@@ -5720,6 +5751,7 @@ namespace Optimizer
             this.panel8.ResumeLayout(false);
             this.panel8.PerformLayout();
             this.launcherMenu.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox16)).EndInit();
             this.ResumeLayout(false);
 
         }
@@ -6088,6 +6120,8 @@ namespace Optimizer
         private PictureBox picLab;
         private MoonnRadio radioCzech;
         private PictureBox pictureBox15;
+        private MoonnRadio radioTaiwan;
+        private PictureBox pictureBox16;
     }
 }
 

+ 24 - 0
Optimizer/Forms/MainForm.cs

@@ -843,6 +843,12 @@ namespace Optimizer
                 this.MinimumSize = _sizeDefault;
                 this.Size = _sizeDefault;
             }
+            if (Options.CurrentOptions.LanguageCode == LanguageCode.TW)
+            {
+                radioTaiwan.Checked = true;
+                this.MinimumSize = _sizeDefault;
+                this.Size = _sizeDefault;
+            }
             if (Options.CurrentOptions.LanguageCode == LanguageCode.CZ)
             {
                 radioCzech.Checked = true;
@@ -4134,5 +4140,23 @@ namespace Optimizer
             Options.LoadTranslation();
             Translate();
         }
+
+        private void radioTaiwan_Click(object sender, EventArgs e)
+        {
+            radioTaiwan.Checked = true;
+            Options.CurrentOptions.LanguageCode = LanguageCode.TW;
+            Options.SaveSettings();
+            this.MinimumSize = _sizeDefault;
+            this.Size = _sizeDefault;
+            this.CenterToScreen();
+
+            Options.LoadTranslation();
+            Translate();
+        }
+
+        private void pictureBox16_Click(object sender, EventArgs e)
+        {
+            radioTaiwan.PerformClick();
+        }
     }
 }

+ 1 - 1
Optimizer/Forms/MainForm.resx

@@ -626,7 +626,7 @@ any application only by typing your desired keyword.</value>
         AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
         LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
         ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC8
-        GgAAAk1TRnQBSQFMAgEBCQEAAegBAQHoAQEBIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA
+        GgAAAk1TRnQBSQFMAgEBCQEAAfgBAQH4AQEBIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA
         AwABYAMAAQEBAAEgBgABwP8A/wD/AP8A/wD/AP8A/wAeAANHAYB0//8AiQADRwGAdP//AIkAAyoBQANH
         AYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANH
         AYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGA/wD/AP8A

+ 12 - 12
Optimizer/Forms/SplashForm.Designer.cs

@@ -31,8 +31,8 @@ namespace Optimizer
         {
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SplashForm));
             this.pictureBox1 = new System.Windows.Forms.PictureBox();
-            this.pictureBox2 = new System.Windows.Forms.PictureBox();
             this.LoadingStatus = new System.Windows.Forms.Label();
+            this.pictureBox2 = new System.Windows.Forms.PictureBox();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
             this.SuspendLayout();
@@ -47,16 +47,6 @@ namespace Optimizer
             this.pictureBox1.TabIndex = 0;
             this.pictureBox1.TabStop = false;
             // 
-            // pictureBox2
-            // 
-            this.pictureBox2.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox2.Image")));
-            this.pictureBox2.Location = new System.Drawing.Point(37, 12);
-            this.pictureBox2.Name = "pictureBox2";
-            this.pictureBox2.Size = new System.Drawing.Size(384, 96);
-            this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
-            this.pictureBox2.TabIndex = 1;
-            this.pictureBox2.TabStop = false;
-            // 
             // LoadingStatus
             // 
             this.LoadingStatus.Dock = System.Windows.Forms.DockStyle.Bottom;
@@ -69,6 +59,16 @@ namespace Optimizer
             this.LoadingStatus.Text = "loading settings ...";
             this.LoadingStatus.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
             // 
+            // pictureBox2
+            // 
+            this.pictureBox2.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox2.Image")));
+            this.pictureBox2.Location = new System.Drawing.Point(37, 12);
+            this.pictureBox2.Name = "pictureBox2";
+            this.pictureBox2.Size = new System.Drawing.Size(384, 96);
+            this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+            this.pictureBox2.TabIndex = 1;
+            this.pictureBox2.TabStop = false;
+            // 
             // SplashForm
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
@@ -97,7 +97,7 @@ namespace Optimizer
         #endregion
 
         private System.Windows.Forms.PictureBox pictureBox1;
-        private System.Windows.Forms.PictureBox pictureBox2;
         protected internal System.Windows.Forms.Label LoadingStatus;
+        private System.Windows.Forms.PictureBox pictureBox2;
     }
 }

+ 149 - 126
Optimizer/Forms/SplashForm.resx

@@ -786,132 +786,155 @@
   <data name="pictureBox2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAAgAAAACACAYAAAB9V9ELAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
-        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
-        jDHG3Bt50BhjjDH3Rh40xhhjzL2RB40xxhhzb+RBY4wxxtwbedAYY4wxd+bPX/4LiqfVHx2AfhQAAAAA
+        YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAitUlEQVR4Xu3de6xmVXkG8AOK
+        Wqk1GhtDrVGMWEmrsRobGzCm1NY0tTerEBAUUAbk0lj/EBNjrdRaEARmmJkjNTFoqEUaqc4MDMit4gii
+        A62a+oeNxiY2NdG01hpta+Lu+xxnTd55z7P3XmvfzzcPyS/DWXuvy15r7fWub3/f+c5aVVUiIiJylKGJ
+        IiIistpoooiIiKw2migiIiKrjSaKiIjIaqOJIiIistpoooiIiKw2migiIiKrjSaKiIjIaqOJIiIistpo
+        ooiIiKw2migiIiKrjSaKiIjIaqOJIiIistpoooiIiKw2migiIiKrjSaKiIjIaqOJ3q4z9y/OTed+bu0D
+        f3zbWvoP/480du7CPdt8zOw3e81bDDuvFhszERGRNjTRY0FnbiuyATjJfN9UwT2GnU+xMRMREWlDEz0W
+        dOa2AhuAE833TAz+yV2G5duEjZmIiEgbmuixoDO3Lb4BeKb5rmGB33ufYfmPwMZMRESkDU30WNCZ2xbe
+        AJxgvm1YwGfeY1g5h7ExExERaUMTPRZ05rZFNwBPM98yLNA3eadh5W1gY7aV3Lrtn+o8x7zykMvNNvfz
+        UwzLIyJHEbamSD6a6LGgM7ctugH4pmEBPsfbDSuTjtlW4m5mBHwE+lvNf5iqxdfNjQYbgyE3BGnD0dfr
+        DK6J1cEMVW8p9F+XtrB8Se61sLx9vcSwuiKWF/peO46xPGNAW2P9U8yjuusfsm7cP633NVtTJB9N9FjQ
+        mdsW3AB8wrDAXuKtZlPZbMy2EruJsWjcbViQz4UNAzYDJQG3DhYfVkdX2KigzLbFbOh6c6Hvu7SF5Uty
+        rwXnsfx9oL9ZXRHLC32vve9cLsH6L7fv+6i7/jHqRl21Gy62pkg+muixoDO3LbYBuNmwgN7FBeaI8tmY
+        bQV28yJYj7FYXmn6PBEYawHFJoUt2MkUCzfDFvOcttQFAci9FvTJkE9vSvqQ5Ye+1z7GnK6Dtsb6S/qg
+        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
+        y+Lx0Giix4LWDK4wmwM/4L3/P9lTXfvsz1XXPf0L1a5LDwf/vYaVtVJsoiwJJn1Sd1M2wWbHl8HOGVOs
+        n22+hubrK+mzMds6Rz8kvm4EDHbOmPx1d5nDc/BtHmOshp4PXcvzeYCdU8fny6nPt3HMebipL1gcHgtN
+        9FjQmcmd5ojgv/N0C/4X76t2/MY91V8d+6Vq/ew7q13n7sMG4Bt2nJWxctiYiYiItKGJHgs6M7rX/HQD
+        gOB/we3VzrP3Ve9d+9LGo//dl3zK0u/8rh1/5qHzVx4bMxERkTY00fvoeQ+N4qZzD6zd8uZH1z5x0T+X
+        euBjb/pitfP8PdUNF91W/eVjHq62P+/z1e7L9uKV//csKJ4Yg+QqY2MmIiLShiZ6V/3RLaO49rWfXHvH
+        b+9cu/DUdxf7s9/90H23X/TN6m9O+E71kV/8lr3y31vd8Pp9/2YbgJNYkFxlbMxERETa0ETvmGOOHcVj
+        jn3sWp//XvG4885+y9rH/u4dv3f9/vXz979v95l3/SwLkKuOjZmIiEgbmigiIiKrjSaKiIjIaqOJIiIi
+        stpoooiIiKw2migiIiKrjSaKiIjIaqOJIiIistpoooiIiKw2migiIiKrjSaKiIjIaqOJIiIistpoooiI
+        iKw2migiIiKrjSaKiIjIaqOJIiIistpoooiIiKw2migiIiKrjSaKiIjIaqOJIiIistpoooiIiKw2migi
+        IiKrjSaKiIjIaqOJIiIistpoooiIiKw2migiIiKrjSaKiIjIaqOJIiIissqqtf8H8GRoB+HD+20AAAAA
         SUVORK5CYII=
 </value>
   </data>

+ 16 - 9
Optimizer/Optimize.cs

@@ -9,8 +9,6 @@ namespace Optimizer
     {
         readonly static string DiagnosisAutoLoggerFolder = Path.Combine(CleanHelper.ProgramData, @"Microsoft\Diagnosis\ETLLogs\AutoLogger");
 
-      
-
         internal static void DisableTelemetryRunner()
         {
             Utilities.PreventProcessFromRunning("CompatTelRunner.exe");
@@ -382,8 +380,8 @@ namespace Optimizer
                 rootPath = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles);
             }
 
-            Utilities.RunCommand(@"regsvr32 /u /s """ + rootPath + "\"");
-            Utilities.RunCommand("Gpupdate /Force");
+            //Utilities.RunCommand(@"regsvr32 /u /s """ + rootPath + "\"");
+            //Utilities.RunCommand("Gpupdate /Force");
         }
 
         internal static void EnableDefender()
@@ -409,7 +407,7 @@ namespace Optimizer
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\Windows Defender\Signature Updates", "ForceUpdateFromMU");
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\Windows Defender\Spynet", "DisableBlockAtFirstSeen");
 
-            Utilities.RunCommand("Gpupdate /Force");
+            //Utilities.RunCommand("Gpupdate /Force");
         }
 
         internal static void DisableErrorReporting()
@@ -650,6 +648,16 @@ namespace Optimizer
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Search", "AllowCloudSearch", "1", RegistryValueKind.DWord);
         }
 
+        internal static void EnableHWGPUScheduling()
+        {
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers", "HwSchMode", "2", RegistryValueKind.DWord);
+        }
+
+        internal static void DisableHWGPUScheduling()
+        {
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers", "HwSchMode", "1", RegistryValueKind.DWord);
+        }
+
         internal static void DisableXboxLive()
         {
             Utilities.StopService("XboxNetApiSvc");
@@ -657,8 +665,7 @@ namespace Optimizer
             Utilities.StopService("XblGameSave");
             Utilities.StopService("XboxGipSvc");
             Utilities.StopService("xbgm");
-
-            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers", "HwSchMode", "00000002", RegistryValueKind.DWord);
+            
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\XboxNetApiSvc", "Start", "4", RegistryValueKind.DWord);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\XblAuthManager", "Start", "4", RegistryValueKind.DWord);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\XblGameSave", "Start", "4", RegistryValueKind.DWord);
@@ -864,7 +871,7 @@ namespace Optimizer
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", "DisableAutomaticRestartSignOn", 1);
 
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AdvertisingInfo", "DisabledByGroupPolicy", 1);
-            Registry.SetValue(@"HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "Start_TrackProgs", 0);
+            //Registry.SetValue(@"HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "Start_TrackProgs", 0);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\TabletPC", "PreventHandwritingDataSharing", 1);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\TextInput", "AllowLinguisticDataCollection", 0);
 
@@ -985,7 +992,7 @@ namespace Optimizer
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", "DisableAutomaticRestartSignOn");
 
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\Windows\AdvertisingInfo", "DisabledByGroupPolicy");
-            Utilities.TryDeleteRegistryValue(false, @"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "Start_TrackProgs");
+            //Utilities.TryDeleteRegistryValue(false, @"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "Start_TrackProgs");
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\Windows\TabletPC", "PreventHandwritingDataSharing");
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\TextInput", "AllowLinguisticDataCollection");
 

+ 2 - 0
Optimizer/Optimizer.csproj

@@ -299,6 +299,7 @@
     <None Include="Resources\SystemShortcuts.reg" />
     <None Include="Resources\SystemTools.reg" />
     <None Include="Resources\TR.json" />
+    <None Include="Resources\TW.json" />
     <None Include="Resources\WindowsApps.reg" />
   </ItemGroup>
   <ItemGroup>
@@ -334,6 +335,7 @@
     </COMReference>
   </ItemGroup>
   <ItemGroup>
+    <None Include="Resources\taiwan.png" />
     <None Include="Resources\united-kingdom.png" />
     <None Include="Resources\turkey.png" />
     <None Include="Resources\spain.png" />

+ 1 - 0
Optimizer/Options.cs

@@ -289,6 +289,7 @@ namespace Optimizer
             if (CurrentOptions.LanguageCode == LanguageCode.IT) TranslationList = JObject.Parse(Properties.Resources.IT);
             if (CurrentOptions.LanguageCode == LanguageCode.CN) TranslationList = JObject.Parse(Properties.Resources.CN);
             if (CurrentOptions.LanguageCode == LanguageCode.CZ) TranslationList = JObject.Parse(Properties.Resources.CZ);
+            if (CurrentOptions.LanguageCode == LanguageCode.TW) TranslationList = JObject.Parse(Properties.Resources.TW);
         }
     }
 }

+ 1 - 1
Optimizer/Program.cs

@@ -14,7 +14,7 @@ namespace Optimizer
         /* DO NOT LEAVE THEM EMPTY */
 
         internal readonly static float Major = 12;
-        internal readonly static float Minor = 0;
+        internal readonly static float Minor = 1;
 
         internal readonly static bool EXPERIMENTAL_BUILD = false;
 

+ 50 - 13
Optimizer/Properties/Resources.Designer.cs

@@ -142,13 +142,13 @@ namespace Optimizer.Properties {
         ///	&quot;restartButton10&quot;: &quot;Restartovat nyní&quot;,
         ///	&quot;restartAndApply&quot;: &quot;Restartovat a použít změny?&quot;,
         ///	&quot;txtVersion&quot;: &quot;Verze: {VN}&quot;,
-        ///	&quot;txtBitness&quot;: &quot;Pracujete s {BITS}&quot;,
+        ///	&quot;txtBitness&quot;: &quot;Pracujete s {BITS}ovou verzí&quot;,
         ///	&quot;linkUpdate&quot;: &quot;Dostupná aktualizace&quot;,
         ///	&quot;lblLab&quot;: &quot;Experimentální sestavení\n(po testování smazat)&quot;,
-        ///	&quot;performanceSw&quot;: &quot;Povolit vylepšení výkonu&quot;,
-        ///	&quot;networkSw&quot;: &quot;Zakázat omezení sítě&quot;,
+        ///	&quot;performanceSw&quot;: &quot;Povolit Vylepšení výkonu&quot;,
+        ///	&quot;networkSw&quot;: &quot;Zakázat Omezení sítě&quot;,
         ///	&quot;defenderSw&quot;: &quot;Zakázat Windows Defender&quot;,
-        ///	&quot;systemRestore [rest of string was truncated]&quot;;.
+        ///	&quot;sys [rest of string was truncated]&quot;;.
         /// </summary>
         internal static string CZ {
             get {
@@ -169,17 +169,17 @@ namespace Optimizer.Properties {
         /// <summary>
         ///   Looks up a localized string similar to {
         ///	&quot;btnAbout&quot;: &quot;OK&quot;,
-        ///	&quot;restartButton&quot;: &quot;Jetzt neustarten&quot;,
-        ///	&quot;restartButton8&quot;: &quot;Jetzt neustarten&quot;,
-        ///	&quot;restartButton10&quot;: &quot;Jetzt neustarten&quot;,
-        ///	&quot;restartAndApply&quot;: &quot;Neustarten, um Änderungen anzuwenden?&quot;,
+        ///	&quot;restartButton&quot;: &quot;Jetzt neu starten&quot;,
+        ///	&quot;restartButton8&quot;: &quot;Jetzt neu starten&quot;,
+        ///	&quot;restartButton10&quot;: &quot;Jetzt neu starten&quot;,
+        ///	&quot;restartAndApply&quot;: &quot;Neu starten, um Änderungen anzuwenden?&quot;,
         ///	&quot;txtVersion&quot;: &quot;Version: {VN}&quot;,
-        ///	&quot;txtBitness&quot;: &quot;Sie arbeiten mit {BITS}&quot;,
+        ///	&quot;txtBitness&quot;: &quot;Betriebssystem: {BITS}&quot;,
         ///	&quot;linkUpdate&quot;: &quot;Update verfügbar&quot;,
         ///	&quot;lblLab&quot;: &quot;Experimenteller Build\n(nach dem Testen löschen)&quot;,
-        ///	&quot;performanceSw&quot;: &quot;Leistungsoptimierungen aktivieren&quot;,
+        ///	&quot;performanceSw&quot;: &quot;Leistungsoptimierung aktivieren&quot;,
         ///	&quot;networkSw&quot;: &quot;Netzwerkdrosselung deaktivieren&quot;,
-        ///	&quot;defenderSw&quot;: &quot;Windows Defender deak [rest of string was truncated]&quot;;.
+        ///	&quot;defenderSw&quot;: &quot;Windows  [rest of string was truncated]&quot;;.
         /// </summary>
         internal static string DE {
             get {
@@ -547,12 +547,12 @@ namespace Optimizer.Properties {
         ///	&quot;restartButton10&quot;: &quot;riavvia ora&quot;,
         ///	&quot;restartAndApply&quot;: &quot;Riavviare per applicare le modifiche?&quot;,
         ///	&quot;txtVersion&quot;: &quot;Versione: {VN}&quot;,
-        ///	&quot;txtBitness&quot;: &quot;Archiettura: {BITS}&quot;,
+        ///	&quot;txtBitness&quot;: &quot;Architettura: {BITS}&quot;,
         ///	&quot;linkUpdate&quot;: &quot;Aggiornamento disponibile&quot;,
         ///	&quot;lblLab&quot;: &quot;Build sperimentale\n(cancellare dopo il test)&quot;,
         ///	&quot;performanceSw&quot;: &quot;Abilita miglioramento prestazioni&quot;,
         ///	&quot;networkSw&quot;: &quot;Disabilita rallentamento della rete&quot;,
-        ///	&quot;defenderSw&quot;: &quot;Disabilita Windows Defender&quot;, [rest of string was truncated]&quot;;.
+        ///	&quot;defenderSw&quot;: &quot;Disabilita Windows Defender&quot; [rest of string was truncated]&quot;;.
         /// </summary>
         internal static string IT {
             get {
@@ -731,6 +731,16 @@ namespace Optimizer.Properties {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
+        /// </summary>
+        internal static System.Drawing.Bitmap taiwan {
+            get {
+                object obj = ResourceManager.GetObject("taiwan", resourceCulture);
+                return ((System.Drawing.Bitmap)(obj));
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to {
         ///	&quot;btnAbout&quot;: &quot;OK&quot;,
@@ -762,6 +772,33 @@ 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;,
+        ///	&quot;restartAndApply&quot;: &quot;重新啟動以應用更改?&quot;,
+        ///	&quot;txtVersion&quot;: &quot;版本: {VN}&quot;,
+        ///	&quot;txtBitness&quot;: &quot;您使用的是{BITS}&quot;,
+        ///	&quot;linkUpdate&quot;: &quot;更新可用&quot;,
+        ///	&quot;lblLab&quot;: &quot;實驗構建\n(刪除後測試)&quot;,
+        ///	&quot;performanceSw&quot;: &quot;啟用性能調整&quot;,
+        ///	&quot;networkSw&quot;: &quot;禁用網路節流&quot;,
+        ///	&quot;defenderSw&quot;: &quot;禁用 Windows Defender&quot;,
+        ///	&quot;systemRestoreSw&quot;: &quot;禁用 System Restore&quot;,
+        ///	&quot;printSw&quot;: &quot;禁用列印服務&quot;,
+        ///	&quot;mediaSharingSw&quot;: &quot;禁用媒體播放器分享&quot;,
+        ///	&quot;faxSw&quot;: &quot;禁用傳真服務&quot;,
+        ///	&quot;reportingSw&quot;: &quot;禁用錯誤報告&quot;,
+        ///	&quot;homegroupSw&quot;: &quot;禁用 [rest of string was truncated]&quot;;.
+        /// </summary>
+        internal static string TW {
+            get {
+                return ResourceManager.GetString("TW", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>

+ 6 - 0
Optimizer/Properties/Resources.resx

@@ -250,4 +250,10 @@
   <data name="united_kingdom" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\united-kingdom.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
+  <data name="taiwan" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\taiwan.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="TW" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\TW.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
+  </data>
 </root>

+ 1 - 1
Optimizer/Resources/DE.json

@@ -179,7 +179,7 @@
 	"tabPage11": "Dialog ausführen",
 	"addItemL": "Ein Element hinzufügen oder ändern",
 	"itemtype": "Elementtyp",
-	"radioProgramm": "Programm",
+	"radioProgram": "Programm",
 	"radioFolder": "Ordner",
 	"radioLink": "Link",
 	"radioFile": "Datei",

+ 1 - 1
Optimizer/Resources/IT.json

@@ -5,7 +5,7 @@
 	"restartButton10": "riavvia ora",
 	"restartAndApply": "Riavviare per applicare le modifiche?",
 	"txtVersion": "Versione: {VN}",
-	"txtBitness": "Archiettura: {BITS}",
+	"txtBitness": "Architettura: {BITS}",
 	"linkUpdate": "Aggiornamento disponibile",
 	"lblLab": "Build sperimentale\n(cancellare dopo il test)",
 	"performanceSw": "Abilita miglioramento prestazioni",

BIN
Optimizer/Resources/taiwan.png


+ 5 - 4
README.md

@@ -10,7 +10,7 @@ Optimizer is recommended after a fresh, clean installation of Windows to achieve
 
 Depending on your version of Windows, Optimizer will also allow you to perform some specific tweaks.
 <p align="center">
-	<a href="https://github.com/hellzerg/optimizer/releases/download/12.0/Optimizer-12.0.exe" target="_blank">
+	<a href="https://github.com/hellzerg/optimizer/releases/download/12.1/Optimizer-12.1.exe" target="_blank">
 		<img src="https://cdn.discordapp.com/attachments/840247220405927963/952717627040628777/downloadmadebyjisll.png">
 		<br>
 		<img src="https://cdn.discordapp.com/attachments/840247220405927963/952720540949413927/flagsmadebyjisll.png">
@@ -79,12 +79,13 @@ https://github.com/hellzerg/optimizer/blob/master/LEGACY.md
 * https://github.com/Ziocash - Ziocash for Italian translation
 * https://github.com/btwise - btwise for Chinese translation
 * https://github.com/tomlonghorn - Tom Longhorn for Czech translation
+* https://github.com/H3XDaemon - H3XDaemon for Taiwanese translation
 
 ## How to include an app in Common Apps - Pull Request
 https://github.com/hellzerg/optimizer/blob/master/FEED.md
 
 ## Details: ##
 
-* Latest version: 12.0
-* Released: March 6, 2022
-* SHA256: F723CC3C8347A9586CB66353D36A33E8C9C3DFCF548D5DB6E7001CEE674348CB
+* Latest version: 12.1
+* Released: March 26, 2022
+* SHA256: 280E80DAE8291BD571534B7A3D4FA753CB9D21F6915E49525735657C29061226

BIN
banner.png


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
feed.json


BIN
images/feed.zip


BIN
images/feed/sharex.png


+ 1 - 1
version.txt

@@ -1 +1 @@
-12.0
+12.1

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.