diff --git a/CapsLockIndicatorV3/BetterCheckBox.cs b/CapsLockIndicatorV3/BetterCheckBox.cs
index 9ff659d..b22ad1d 100644
--- a/CapsLockIndicatorV3/BetterCheckBox.cs
+++ b/CapsLockIndicatorV3/BetterCheckBox.cs
@@ -63,7 +63,7 @@ protected override void OnPaint(PaintEventArgs e)
}
else
{
-
+ var scaling = DPIHelper.GetScalingFactorPercent();
var border = N_Border;
var background = N_Background;
var check = N_Check;
@@ -89,14 +89,14 @@ protected override void OnPaint(PaintEventArgs e)
check = H_Check;
}
- const int boxSize = 13;
- const int boxRectInnerMargin = 2;
- const int checkPenWidth = 2;
- const int textMargin = 3;
+ int boxSize = (int)(13 * scaling);
+ int boxRectInnerMargin = (int)(2 * scaling);
+ int checkPenWidth = (int)(2 * scaling);
+ int textMargin = (int)(3 * scaling);
var boxY = Height / 2 - boxSize / 2;
- var boxRect = new Rectangle(0, boxY, 13, 13);
+ var boxRect = new Rectangle(0, boxY, boxSize, boxSize);
var boxRectPen = boxRect;
var boxRectInner = boxRect;
--boxRectPen.Width;
diff --git a/CapsLockIndicatorV3/BetterTabControl.cs b/CapsLockIndicatorV3/BetterTabControl.cs
index d9de300..1a0c2cd 100644
--- a/CapsLockIndicatorV3/BetterTabControl.cs
+++ b/CapsLockIndicatorV3/BetterTabControl.cs
@@ -217,7 +217,7 @@ internal void DrawControl(Graphics g)
internal void DrawTab(Graphics g, TabPage tabPage, int nIndex)
{
- var tr = this.GetTabRect(nIndex);
+ var tr = GetTabRectDPI(nIndex);
Rectangle recBounds = tr;
recBounds.Y -= 2;
recBounds.Height += 2;
@@ -329,6 +329,21 @@ internal void DrawTab(Graphics g, TabPage tabPage, int nIndex)
}
}
+ private Rectangle GetTabRectDPI(int nIndex)
+ {
+ var rect = GetTabRect(nIndex);
+ /*
+ var scale = DPIHelper.GetScalingFactorPercent();
+ rect = new Rectangle(
+ (int)(rect.X * scale),
+ (int)(rect.Y * scale),
+ (int)(rect.Width * scale),
+ (int)(rect.Height * scale)
+ );
+ */
+ return rect;
+ }
+
internal void DrawIcons(Graphics g)
{
if (!_darkMode)
@@ -368,7 +383,7 @@ internal void DrawIcons(Graphics g)
{
if (this.TabCount > 0)
{
- Rectangle r3 = this.GetTabRect(0);
+ Rectangle r3 = GetTabRectDPI(0);
if (r3.Left < TabControlArea.Left)
g.DrawImage(img, r1);
else
@@ -385,7 +400,7 @@ internal void DrawIcons(Graphics g)
{
if (this.TabCount > 0)
{
- Rectangle r3 = this.GetTabRect(this.TabCount - 1);
+ Rectangle r3 = GetTabRectDPI(this.TabCount - 1);
if (r3.Right > (TabControlArea.Width - r0.Width))
g.DrawImage(img, r2);
else
@@ -439,7 +454,7 @@ protected override void OnMouseMove(MouseEventArgs e)
var index = -1;
for (var i = 0; i < TabCount; ++i)
{
- var rect = GetTabRect(i);
+ var rect = GetTabRectDPI(i);
if (rect.Contains(pos))
{
index = i;
diff --git a/CapsLockIndicatorV3/CapsLockIndicatorV3.csproj b/CapsLockIndicatorV3/CapsLockIndicatorV3.csproj
index 0847273..6e1c3c0 100644
--- a/CapsLockIndicatorV3/CapsLockIndicatorV3.csproj
+++ b/CapsLockIndicatorV3/CapsLockIndicatorV3.csproj
@@ -114,6 +114,7 @@
DownloadDialog.cs
+
diff --git a/CapsLockIndicatorV3/DPIHelper.cs b/CapsLockIndicatorV3/DPIHelper.cs
new file mode 100644
index 0000000..1071381
--- /dev/null
+++ b/CapsLockIndicatorV3/DPIHelper.cs
@@ -0,0 +1,43 @@
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Linq;
+using System.Runtime.InteropServices;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CapsLockIndicatorV3
+{
+ internal static class DPIHelper
+ {
+ [DllImport("gdi32.dll")]
+ static extern int GetDeviceCaps(IntPtr hdc, int nIndex);
+
+ private enum DeviceCap
+ {
+ VERTRES = 10,
+ LOGPIXELSY = 90,
+ DESKTOPVERTRES = 117
+ }
+
+ internal static decimal GetScalingFactorPercent()
+ {
+ var g = Graphics.FromHwnd(IntPtr.Zero);
+ try
+ {
+ var desktop = g.GetHdc();
+ var LogicalScreenHeight = GetDeviceCaps(desktop, (int)DeviceCap.VERTRES);
+ var PhysicalScreenHeight = GetDeviceCaps(desktop, (int)DeviceCap.DESKTOPVERTRES);
+ var logpixelsy = GetDeviceCaps(desktop, (int)DeviceCap.LOGPIXELSY);
+ var screenScalingFactor = PhysicalScreenHeight / (decimal)LogicalScreenHeight;
+ var dpiScalingFactor = logpixelsy / 96.0M;
+
+ return dpiScalingFactor;
+ }
+ finally
+ {
+ g?.ReleaseHdc();
+ }
+ }
+ }
+}
diff --git a/CapsLockIndicatorV3/IconPackBrowser.Designer.cs b/CapsLockIndicatorV3/IconPackBrowser.Designer.cs
index da75242..63aef88 100644
--- a/CapsLockIndicatorV3/IconPackBrowser.Designer.cs
+++ b/CapsLockIndicatorV3/IconPackBrowser.Designer.cs
@@ -41,15 +41,15 @@ private void InitializeComponent()
this.webBrowser1.MinimumSize = new System.Drawing.Size(20, 20);
this.webBrowser1.Name = "webBrowser1";
this.webBrowser1.ScriptErrorsSuppressed = true;
- this.webBrowser1.Size = new System.Drawing.Size(310, 287);
+ this.webBrowser1.Size = new System.Drawing.Size(440, 352);
this.webBrowser1.TabIndex = 0;
this.webBrowser1.WebBrowserShortcutsEnabled = false;
//
// IconPackBrowser
//
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(310, 287);
+ this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
+ this.ClientSize = new System.Drawing.Size(440, 352);
this.Controls.Add(this.webBrowser1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
diff --git a/CapsLockIndicatorV3/IconPackBrowser.cs b/CapsLockIndicatorV3/IconPackBrowser.cs
index c527791..145a962 100644
--- a/CapsLockIndicatorV3/IconPackBrowser.cs
+++ b/CapsLockIndicatorV3/IconPackBrowser.cs
@@ -244,7 +244,7 @@ private void IconPackBrowser_DarkModeChanged(object sender, EventArgs e)
ControlScheduleSetDarkMode(webBrowser1, dark);
- webBrowser1.Navigate("https://cli.jonaskohl.de/icongallery/embedded.php?dark=" + (dark ? "true" : "false"));
+ webBrowser1.Navigate("https://cli.jonaskohl.de/icongallery/embedded.php?dark=" + (dark ? "true" : "false") + "&scale=" + ((int)(DPIHelper.GetScalingFactorPercent() * 100)).ToString());
}
}
}
diff --git a/CapsLockIndicatorV3/IndicatorOverlay.Designer.cs b/CapsLockIndicatorV3/IndicatorOverlay.Designer.cs
index 541b1db..1dd9a04 100644
--- a/CapsLockIndicatorV3/IndicatorOverlay.Designer.cs
+++ b/CapsLockIndicatorV3/IndicatorOverlay.Designer.cs
@@ -70,8 +70,8 @@ private void InitializeComponent()
//
// IndicatorOverlay
//
- this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 21F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(66)))), ((int)(((byte)(66)))), ((int)(((byte)(66)))));
this.ClientSize = new System.Drawing.Size(176, 42);
this.ControlBox = false;
diff --git a/CapsLockIndicatorV3/MainForm.Designer.cs b/CapsLockIndicatorV3/MainForm.Designer.cs
index dfd8299..db44634 100644
--- a/CapsLockIndicatorV3/MainForm.Designer.cs
+++ b/CapsLockIndicatorV3/MainForm.Designer.cs
@@ -128,6 +128,9 @@ private void InitializeComponent()
this.advSettingsButton = new System.Windows.Forms.Button();
this.tutorialToolTip = new CapsLockIndicatorV3.BetterToolTip(this.components);
this.tutorialTimer = new System.Windows.Forms.Timer(this.components);
+ this.tableLayoutPanel6 = new System.Windows.Forms.TableLayoutPanel();
+ this.tableLayoutPanel7 = new System.Windows.Forms.TableLayoutPanel();
+ this.tableLayoutPanel8 = new System.Windows.Forms.TableLayoutPanel();
this.generalIconContextMenuStrip.SuspendLayout();
this.iconsGroup.SuspendLayout();
this.indicatorGroup.SuspendLayout();
@@ -162,6 +165,9 @@ private void InitializeComponent()
this.tableLayoutPanel4.SuspendLayout();
this.tabPage2.SuspendLayout();
this.flowLayoutPanel1b.SuspendLayout();
+ this.tableLayoutPanel6.SuspendLayout();
+ this.tableLayoutPanel7.SuspendLayout();
+ this.tableLayoutPanel8.SuspendLayout();
this.SuspendLayout();
//
// updateTimer
@@ -373,6 +379,7 @@ private void InitializeComponent()
this.logo.Location = new System.Drawing.Point(12, 9);
this.logo.Name = "logo";
this.logo.Size = new System.Drawing.Size(48, 48);
+ this.logo.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.logo.TabIndex = 6;
this.logo.TabStop = false;
this.logo.Click += new System.EventHandler(this.lnkLabel1_Click);
@@ -667,9 +674,8 @@ private void InitializeComponent()
//
// displayTimeGroup
//
+ this.displayTimeGroup.Controls.Add(this.tableLayoutPanel6);
this.displayTimeGroup.Controls.Add(this.onlyShowWhenActiveCheckBox);
- this.displayTimeGroup.Controls.Add(this.displayTimeLabel);
- this.displayTimeGroup.Controls.Add(this.displayTimeSlider);
this.displayTimeGroup.Dock = System.Windows.Forms.DockStyle.Fill;
this.displayTimeGroup.Location = new System.Drawing.Point(3, 3);
this.displayTimeGroup.Name = "displayTimeGroup";
@@ -692,10 +698,10 @@ private void InitializeComponent()
//
// displayTimeLabel
//
- this.displayTimeLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.displayTimeLabel.Location = new System.Drawing.Point(216, 28);
+ this.displayTimeLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
+ this.displayTimeLabel.Location = new System.Drawing.Point(222, 8);
this.displayTimeLabel.Name = "displayTimeLabel";
- this.displayTimeLabel.Size = new System.Drawing.Size(76, 29);
+ this.displayTimeLabel.Size = new System.Drawing.Size(67, 29);
this.displayTimeLabel.TabIndex = 1;
this.displayTimeLabel.Text = "500 ms";
this.displayTimeLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
@@ -703,12 +709,13 @@ private void InitializeComponent()
//
// displayTimeSlider
//
+ this.displayTimeSlider.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.displayTimeSlider.LargeChange = 50;
- this.displayTimeSlider.Location = new System.Drawing.Point(6, 22);
+ this.displayTimeSlider.Location = new System.Drawing.Point(3, 3);
this.displayTimeSlider.Maximum = 2001;
this.displayTimeSlider.Minimum = 50;
this.displayTimeSlider.Name = "displayTimeSlider";
- this.displayTimeSlider.Size = new System.Drawing.Size(201, 45);
+ this.displayTimeSlider.Size = new System.Drawing.Size(213, 39);
this.displayTimeSlider.TabIndex = 0;
this.displayTimeSlider.TickFrequency = 250;
this.displayTimeSlider.TickStyle = System.Windows.Forms.TickStyle.Both;
@@ -1083,8 +1090,7 @@ private void InitializeComponent()
//
// opacityGroup
//
- this.opacityGroup.Controls.Add(this.opacityLabel);
- this.opacityGroup.Controls.Add(this.opacitySlider);
+ this.opacityGroup.Controls.Add(this.tableLayoutPanel7);
this.opacityGroup.Dock = System.Windows.Forms.DockStyle.Fill;
this.opacityGroup.Location = new System.Drawing.Point(3, 222);
this.opacityGroup.Name = "opacityGroup";
@@ -1095,10 +1101,10 @@ private void InitializeComponent()
//
// opacityLabel
//
- this.opacityLabel.Anchor = System.Windows.Forms.AnchorStyles.Right;
- this.opacityLabel.Location = new System.Drawing.Point(216, 25);
+ this.opacityLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
+ this.opacityLabel.Location = new System.Drawing.Point(222, 8);
this.opacityLabel.Name = "opacityLabel";
- this.opacityLabel.Size = new System.Drawing.Size(76, 31);
+ this.opacityLabel.Size = new System.Drawing.Size(67, 31);
this.opacityLabel.TabIndex = 1;
this.opacityLabel.Text = "100%";
this.opacityLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
@@ -1106,13 +1112,13 @@ private void InitializeComponent()
//
// opacitySlider
//
- this.opacitySlider.Anchor = System.Windows.Forms.AnchorStyles.Left;
+ this.opacitySlider.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.opacitySlider.LargeChange = 10;
- this.opacitySlider.Location = new System.Drawing.Point(6, 20);
+ this.opacitySlider.Location = new System.Drawing.Point(3, 3);
this.opacitySlider.Maximum = 100;
this.opacitySlider.Minimum = 1;
this.opacitySlider.Name = "opacitySlider";
- this.opacitySlider.Size = new System.Drawing.Size(201, 45);
+ this.opacitySlider.Size = new System.Drawing.Size(213, 42);
this.opacitySlider.TabIndex = 0;
this.opacitySlider.TickFrequency = 10;
this.opacitySlider.TickStyle = System.Windows.Forms.TickStyle.Both;
@@ -1121,8 +1127,7 @@ private void InitializeComponent()
//
// borderGroup
//
- this.borderGroup.Controls.Add(this.bdSizeLabel);
- this.borderGroup.Controls.Add(this.bdSizeSlider);
+ this.borderGroup.Controls.Add(this.tableLayoutPanel8);
this.borderGroup.Dock = System.Windows.Forms.DockStyle.Fill;
this.borderGroup.Location = new System.Drawing.Point(307, 222);
this.borderGroup.Name = "borderGroup";
@@ -1133,10 +1138,10 @@ private void InitializeComponent()
//
// bdSizeLabel
//
- this.bdSizeLabel.Anchor = System.Windows.Forms.AnchorStyles.Right;
- this.bdSizeLabel.Location = new System.Drawing.Point(213, 19);
+ this.bdSizeLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
+ this.bdSizeLabel.Location = new System.Drawing.Point(222, 2);
this.bdSizeLabel.Name = "bdSizeLabel";
- this.bdSizeLabel.Size = new System.Drawing.Size(76, 43);
+ this.bdSizeLabel.Size = new System.Drawing.Size(67, 43);
this.bdSizeLabel.TabIndex = 1;
this.bdSizeLabel.Text = "4";
this.bdSizeLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
@@ -1144,12 +1149,12 @@ private void InitializeComponent()
//
// bdSizeSlider
//
- this.bdSizeSlider.Anchor = System.Windows.Forms.AnchorStyles.Left;
+ this.bdSizeSlider.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.bdSizeSlider.LargeChange = 10;
- this.bdSizeSlider.Location = new System.Drawing.Point(6, 20);
+ this.bdSizeSlider.Location = new System.Drawing.Point(3, 3);
this.bdSizeSlider.Maximum = 32;
this.bdSizeSlider.Name = "bdSizeSlider";
- this.bdSizeSlider.Size = new System.Drawing.Size(201, 45);
+ this.bdSizeSlider.Size = new System.Drawing.Size(213, 42);
this.bdSizeSlider.TabIndex = 0;
this.bdSizeSlider.TickFrequency = 4;
this.bdSizeSlider.TickStyle = System.Windows.Forms.TickStyle.Both;
@@ -1297,6 +1302,53 @@ private void InitializeComponent()
this.tutorialTimer.Interval = 1000;
this.tutorialTimer.Tick += new System.EventHandler(this.tutorialTimer_Tick);
//
+ // tableLayoutPanel6
+ //
+ this.tableLayoutPanel6.ColumnCount = 2;
+ this.tableLayoutPanel6.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 75F));
+ this.tableLayoutPanel6.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
+ this.tableLayoutPanel6.Controls.Add(this.displayTimeSlider, 0, 0);
+ this.tableLayoutPanel6.Controls.Add(this.displayTimeLabel, 1, 0);
+ this.tableLayoutPanel6.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.tableLayoutPanel6.Location = new System.Drawing.Point(3, 19);
+ this.tableLayoutPanel6.Name = "tableLayoutPanel6";
+ this.tableLayoutPanel6.RowCount = 1;
+ this.tableLayoutPanel6.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
+ this.tableLayoutPanel6.Size = new System.Drawing.Size(292, 45);
+ this.tableLayoutPanel6.TabIndex = 3;
+ //
+ // tableLayoutPanel7
+ //
+ this.tableLayoutPanel7.ColumnCount = 2;
+ this.tableLayoutPanel7.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 75F));
+ this.tableLayoutPanel7.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
+ this.tableLayoutPanel7.Controls.Add(this.opacitySlider, 0, 0);
+ this.tableLayoutPanel7.Controls.Add(this.opacityLabel, 1, 0);
+ this.tableLayoutPanel7.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.tableLayoutPanel7.Location = new System.Drawing.Point(3, 19);
+ this.tableLayoutPanel7.Name = "tableLayoutPanel7";
+ this.tableLayoutPanel7.RowCount = 1;
+ this.tableLayoutPanel7.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
+ this.tableLayoutPanel7.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel7.Size = new System.Drawing.Size(292, 48);
+ this.tableLayoutPanel7.TabIndex = 2;
+ //
+ // tableLayoutPanel8
+ //
+ this.tableLayoutPanel8.ColumnCount = 2;
+ this.tableLayoutPanel8.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 75F));
+ this.tableLayoutPanel8.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
+ this.tableLayoutPanel8.Controls.Add(this.bdSizeSlider, 0, 0);
+ this.tableLayoutPanel8.Controls.Add(this.bdSizeLabel, 1, 0);
+ this.tableLayoutPanel8.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.tableLayoutPanel8.Location = new System.Drawing.Point(3, 19);
+ this.tableLayoutPanel8.Name = "tableLayoutPanel8";
+ this.tableLayoutPanel8.RowCount = 1;
+ this.tableLayoutPanel8.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
+ this.tableLayoutPanel8.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel8.Size = new System.Drawing.Size(292, 48);
+ this.tableLayoutPanel8.TabIndex = 2;
+ //
// MainForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
@@ -1348,10 +1400,8 @@ private void InitializeComponent()
this.positionGroup.ResumeLayout(false);
this.positionButtonLayout.ResumeLayout(false);
this.opacityGroup.ResumeLayout(false);
- this.opacityGroup.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.opacitySlider)).EndInit();
this.borderGroup.ResumeLayout(false);
- this.borderGroup.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.bdSizeSlider)).EndInit();
this.tabControl1.ResumeLayout(false);
this.tabPage3.ResumeLayout(false);
@@ -1360,6 +1410,12 @@ private void InitializeComponent()
this.tabPage2.ResumeLayout(false);
this.flowLayoutPanel1b.ResumeLayout(false);
this.flowLayoutPanel1b.PerformLayout();
+ this.tableLayoutPanel6.ResumeLayout(false);
+ this.tableLayoutPanel6.PerformLayout();
+ this.tableLayoutPanel7.ResumeLayout(false);
+ this.tableLayoutPanel7.PerformLayout();
+ this.tableLayoutPanel8.ResumeLayout(false);
+ this.tableLayoutPanel8.PerformLayout();
this.ResumeLayout(false);
}
@@ -1460,5 +1516,8 @@ private void InitializeComponent()
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel5;
private BetterToolTip tutorialToolTip;
private System.Windows.Forms.Timer tutorialTimer;
+ private System.Windows.Forms.TableLayoutPanel tableLayoutPanel6;
+ private System.Windows.Forms.TableLayoutPanel tableLayoutPanel7;
+ private System.Windows.Forms.TableLayoutPanel tableLayoutPanel8;
}
}
diff --git a/CapsLockIndicatorV3/MainForm.cs b/CapsLockIndicatorV3/MainForm.cs
index 38553da..28fe778 100644
--- a/CapsLockIndicatorV3/MainForm.cs
+++ b/CapsLockIndicatorV3/MainForm.cs
@@ -155,10 +155,8 @@ public MainForm()
SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged;
-#if !DEBUG && _DEBUG_FEATURE_EOL
if (!SettingsManager.Get("supressEOLMessage"))
CheckSupport();
-#endif
displayTimeSlider.Value = SettingsManager.Get("indDisplayTime") > 0 ? SettingsManager.Get("indDisplayTime") : 2001;
displayTimeLabel.Text = displayTimeSlider.Value < 2001 ? string.Format("{0} ms", displayTimeSlider.Value) : strings.permanentIndicator;
@@ -237,7 +235,7 @@ public MainForm()
private void TabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
var sz = ClientSize;
- sz.Height = int.Parse(tabControl1.SelectedTab.Tag.ToString());
+ sz.Height = (int)(int.Parse(tabControl1.SelectedTab.Tag.ToString()) * DPIHelper.GetScalingFactorPercent());
ClientSize = sz;
}
diff --git a/CapsLockIndicatorV3/MainForm.resx b/CapsLockIndicatorV3/MainForm.resx
index 956a82e..07711bb 100644
--- a/CapsLockIndicatorV3/MainForm.resx
+++ b/CapsLockIndicatorV3/MainForm.resx
@@ -132,9 +132,6 @@
671, 17
-
- 232, 56
-
799, 17
@@ -163,6 +160,12 @@
rEHgAKxB8AOsQQ==
+
+ 232, 56
+
+
+ 232, 56
+
351, 56
diff --git a/CapsLockIndicatorV3/Properties/AssemblyInfo.cs b/CapsLockIndicatorV3/Properties/AssemblyInfo.cs
index 8ac8aca..9f3aa4e 100644
--- a/CapsLockIndicatorV3/Properties/AssemblyInfo.cs
+++ b/CapsLockIndicatorV3/Properties/AssemblyInfo.cs
@@ -24,6 +24,6 @@
//
// You can specify all the values or you can use the default the Revision and
// Build Numbers by using the '*' as shown below:
-[assembly: AssemblyVersion("3.13.3.0")]
-[assembly: AssemblyFileVersion("3.13.3.0")]
+[assembly: AssemblyVersion("3.13.4.0")]
+[assembly: AssemblyFileVersion("3.13.4.0")]
[assembly: Guid ("6f54c357-0542-4d7d-9225-338bc3cd7834")]
diff --git a/CapsLockIndicatorV3/strings.ar.resx b/CapsLockIndicatorV3/strings.ar.resx
new file mode 100644
index 0000000..48f7013
--- /dev/null
+++ b/CapsLockIndicatorV3/strings.ar.resx
@@ -0,0 +1,417 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ جاري ضبط نظام الألوان ... الرجاء الانتظار ...
+ Shown in a popup when toggling dark mode
+
+
+ إعدادات متقدمة
+ Label of the hyperlink that opens the settings file
+
+
+ البحث التلقائي عن التحديثات
+ Tooltip for the checkbox next to the update button
+
+
+ تنشيط لون الخلفية
+ The caption for the "Background colour activated" button.
+
+
+ إلغاء تنشيط لون الخلفية
+ The caption for the "Background colour deactivated" button.
+
+
+ تنشيط لون الحد
+ The caption for the "Border colour activated" button.
+
+
+ إلغاء تنشيط لون الحد
+ The caption for the "Border colour deactivated" button.
+
+
+ سماكة الحد
+ Label of the border thickness groupbox
+
+
+ Caps lock
+ The name of the caps lock key
+
+
+ التحقق من وجود تحديثات
+ The caption for the button that manually checks for updates. The character after the "&" is the hotkey that is used with the ALT key.
+
+
+ البحث عن تحديثات ...
+ The caption for the "Check for updates" button when it's searching for updates.
+
+
+ الألوان
+ The title for the "Colours" group box
+
+
+ خروج
+ Used in the context menu of the CLI tray icon.
+
+
+ مشاهدة
+ Used in the context menu of the CLI tray icon.
+
+
+ الوضع الليلي
+ Label of options checkbox for dark mode
+
+
+ رفض
+ Used as tooltip (but may be used in other places in the future
+
+
+ رفض
+ The caption for the "Dismiss" button. The character after the "&" is the hotkey that is used with the ALT key.
+
+
+ وقت العرض
+ The title for the "Display time" group box
+
+
+ تحميل حزمة الأيقونات
+ Hyperlink for accessing the icon pack browser
+
+
+ التنزيل اليدوي
+ The caption for the "Download manually" button. The character after the "&" is the hotkey that is used with the ALT key.
+
+
+ تنزيل مزيد من الترجمات
+ The last dropdown item in the locale dropdown.
+
+
+ الخروج من البرنامج
+ The caption for the button that exits the application. The character after the "&" is the hotkey that is used with the ALT key.
+
+
+ الخروج من التطبيق يعني أن الرموز والإشعارات سيتم إخفائها . هل تريد الخروج على أي حال؟
+ The message to display on application exit
+
+
+ السماح لمؤشر CapsLock بالتحقق بشكل دوري من التحديثات عبر الإنترنت (يمكن تغييره لاحقًا)
+ Label of the checkbox that determines whether or not CLI should search for updates
+
+
+ غامق
+ Button for selecting dark color scheme
+
+
+ فاتح
+ Button for selecting light color scheme
+
+
+ ما هو نظام الألوان الذي تفضله؟
+ Label for selecting color scheme
+
+
+ فقط متوفر على ويندوز 10 او أعلى
+ Added to dark button if not running on Windows 10
+
+
+ المساهمة
+ Label of the hyperlink that takes you to CLI's GitHub page
+
+
+ الخروج
+ Button that exists the application. The character after the "&" is the hotkey that is used with the ALT key.
+
+
+ مرحبا بك في برنامج CapsLock
+ The heading of the first-run dialog
+
+
+ شكرا لاختياربرنامج CapsLock! هذا البرنامج مفتوح المصدر ومجاني ، كان دائمًا وسيظل دائمًا! هل أنت مهتم بالمساهمة في مؤشر CapsLock بنفسك؟ قم بزيارة الرابط أدناه لمزيد من المعلومات! أيضًا ، يُرجى تخصيص بعض الوقت لمراجعة الإعدادات أدناه!
+ The message of the first-run dialog
+
+
+ ما هي المعلومات التي سيتم إرسالها؟
+ The label of the hyperlink that shows which information will be sent on each update check
+
+
+ لنذهب!
+ Button that starts the application. The character after the "&" is the hotkey that is used with the ALT key.
+
+
+ خط
+ The title for the "Font" group box
+
+
+ تنشيط ألوان الخطوط
+ The caption for the "Text colour activated" button.
+
+
+ إلغاء تنشيط ألوان الخطوط
+ The caption for the "Text colour deactivated" button.
+
+
+ يمكنك إظهار برنامج CapsLock مرة أخرى بالنقر المزدوج على هذه الأيقونة.
+ The text that is shown in the icon balloon tip when CLI is being hidden.
+
+
+ إخفاء عند بدء التشغيل
+ Used for the hide on startup checkbox
+
+
+ إخفاء النافذة
+ The caption for the button that hides the window. The character after the "&" is the hotkey that is used with the ALT key.
+
+
+ التحميل من المصدر
+ Shown when downloading metadata for icon pack
+
+
+ تحميل الحزمة
+ Shown when downloading an icon pack
+
+
+ هل تريد تثبيت حزمة الرموز "{name}" (الإصدار {version}) بواسطة {authorName}؟
+ Prompt shown when installing an icon pack
+
+
+ هل تريد إعادة تعيين الرموز إلى الرموز الافتراضية؟
+ Shown when asked to reset the icons
+
+
+ تم إعادة تعيين الرموز إلى الافتراضي!
+ Shown after icons were reset
+
+
+ تم تثبيت حزمة الرموز "{name}" بنجاح (الإصدار {version})!
+ Shown after an icon pack was installed successfully
+
+
+ تم تغيير {0}
+ Used for the check boxes in the "Show notification when..." group box. "{0}" will be replaced with the key name
+
+
+ غير مفعّل {0}
+ The text to display in the notification when a key is off. "{0}" will be replaced with the key name
+
+
+ مفعل {0}
+ The text to display in the notification when a key is on. "{0}" will be replaced with the key name
+
+
+ إعدادات الإشعارات
+ The caption for the button that opens the notification settings. The character after the "&" is the hotkey that is used with the ALT key.
+
+
+ إعدادات الإشعارات
+ The caption of the notification settings window
+
+
+ Num lock
+ The name of the num lock key
+
+
+ التغميق
+ The title for the "Opacity" group box
+
+
+ الوضع الشفاف
+ The title for the "Overlay position" group box
+
+
+ بشكل دائم
+ Text to display instead of the time if indicator overlay display is set to permanently.
+
+
+ إعادة تحميل الرموز
+ Shown in a notification when hot-reloading icons.
+
+
+ & حفظ && إغلاق
+ The caption for the "Save & Close" button. The character after the "&" is the hotkey that is used with the ALT key. Use two "&" to display a "&" character
+
+
+ Scroll lock
+ The name of the scroll lock key
+
+
+ ابحث عن التحديثات في او استكمالها
+ Label of options checkbox for update search after resume
+
+
+ تم نقل الإعدادات! ستجدهم الآن في علامات التبويب هذه هنا!
+ The tutorial tooltip shown when upgrading to 3.13.0.0
+
+
+ إظهار رموز لـ ...
+ The title for the "Show icons for..." group box
+
+
+ عدم إظهار الرموز
+ The label for the check box that enables or disables all icons
+
+
+ عدم إظهار الاشعارات
+ The label for the check box that enables or disables all notifications
+
+
+ إظهار الإشعار عند ...
+ The title for the "Show notification when..." group box
+
+
+ إظهار التراكب دائمًا عندما يكون نشطًا
+ The label for the check box that indicates whether overlay should only be shown when active
+
+
+ ابدأ عند تسجيل الدخول
+ The label for the check box that enables or disabled the auto start.
+
+
+ إعدادات متقدمة
+ Tab header for advanced options
+
+
+ عام
+ Tab header for general settings
+
+
+ الإشعارات
+ Tab header for advanced settings
+
+
+ هذا الإصدار من برنامج CapsLock (الإصدار {الإصدار}) غير مدعوم. يرجى التحديث إلى أحدث إصدار!
+ Banner text when CLI version is unsupported
+
+
+ أنت تستخدم {os} والذي لم يعد مدعومًا من قبل Microsoft. سوف يقوم CapsLock Indicator بإسقاط دعم نظام التشغيل هذا في المستقبل! الرجاء الترقية إلى إصدار حديث من Windows!
+ Banner text when Windows version is unsupported
+
+
+ يتوفر تحديث مؤشر CapsLock!
+ The title for the update window.
+
+
+ الإصدار{0}, تم إصدار{1}
+ Displayed in the "Update Available" dialog. {0} is the version, {1} is the release date and time.
+
+
+ التحديث الأن
+ The caption for the "Update now" button. The character after the "&" is the hotkey that is used with the ALT key.
+
+
+
\ No newline at end of file
diff --git a/CapsLockIndicatorV3/strings.it.resx b/CapsLockIndicatorV3/strings.it.resx
index 53010fd..d0d702b 100644
--- a/CapsLockIndicatorV3/strings.it.resx
+++ b/CapsLockIndicatorV3/strings.it.resx
@@ -117,13 +117,10 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
Impostazioni avanzate
Label of the hyperlink that opens the settings file
@@ -176,20 +173,14 @@
Vi&sualizza
Used in the context menu of the CLI tray icon.
-
-
-
-
A&nnulla
The caption for the "Dismiss" button. The character after the "&" is the hotkey that is used with the ALT key.
@@ -236,7 +227,7 @@ Vuoi uscire comunque?
Label for selecting color scheme
- Disponibile solo in Windows 10
+ Disponibile solo in Windows 10 o successivi
Added to dark button if not running on Windows 10
@@ -363,20 +354,16 @@ Inoltre, prenditi un momento per rivedere le impostazioni di seguito!
Blocco scorrimento
The name of the scroll lock key
-
-
-
-
Visualizza icone per...
The title for the "Show icons for..." group box
@@ -401,41 +388,29 @@ Inoltre, prenditi un momento per rivedere le impostazioni di seguito!
Esegui automaticamente all'avvio
The label for the check box that enables or disabled the auto start.
-
-
-
-
-
-
-
-
-
-
Aggiornamento disponibile per CapsLock Indicator!
The title for the update window.
diff --git a/CapsLockIndicatorV3/strings.pl.resx b/CapsLockIndicatorV3/strings.pl.resx
index bfec2d4..ba420af 100644
--- a/CapsLockIndicatorV3/strings.pl.resx
+++ b/CapsLockIndicatorV3/strings.pl.resx
@@ -214,7 +214,7 @@
Label of the checkbox that determines whether or not CLI should search for updates
- &Ciemny
+ &Ciemną
Button for selecting dark color scheme
diff --git a/CapsLockIndicatorV3/strings.tr-TR.resx b/CapsLockIndicatorV3/strings.tr-TR.resx
index 56b4df9..150d705 100644
--- a/CapsLockIndicatorV3/strings.tr-TR.resx
+++ b/CapsLockIndicatorV3/strings.tr-TR.resx
@@ -117,13 +117,10 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
Gelişmiş Seçenekler
Label of the hyperlink that opens the settings file
@@ -176,20 +173,14 @@
&Göster
Used in the context menu of the CLI tray icon.
-
-
-
-
Reddet
The caption for the "Dismiss" button. The character after the "&" is the hotkey that is used with the ALT key.
@@ -235,7 +226,7 @@
Label for selecting color scheme
- Sadece Windows 10'da
+ Sadece Windows 10 ve üstü için
Added to dark button if not running on Windows 10
@@ -358,20 +349,14 @@
Scroll lock
The name of the scroll lock key
-
-
-
-
Simgeleri şunun için göster...
The title for the "Show icons for..." group box
@@ -396,41 +381,26 @@
Oturum açılışında başlat
The label for the check box that enables or disabled the auto start.
-
-
-
-
-
-
-
-
-
-
CapsLock Indicator için güncelleme mevcut!
The title for the update window.
diff --git a/CapsLockIndicatorV3/strings.zh-CN.resx b/CapsLockIndicatorV3/strings.zh-CN.resx
index 91d552f..88719eb 100644
--- a/CapsLockIndicatorV3/strings.zh-CN.resx
+++ b/CapsLockIndicatorV3/strings.zh-CN.resx
@@ -117,24 +117,18 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
高级设置
Label of the hyperlink that opens the settings file
-
-
打开 - 背景颜色
The caption for the "Background colour activated" button.
@@ -179,20 +173,14 @@
显示主界面 (&S)
Used in the context menu of the CLI tray icon.
-
-
-
-
忽略 (&D)
The caption for the "Dismiss" button. The character after the "&" is the hotkey that is used with the ALT key.
@@ -201,13 +189,10 @@
展示时长
The title for the "Display time" group box
-
-
手动下载 (&M)
The caption for the "Download manually" button. The character after the "&" is the hotkey that is used with the ALT key.
@@ -228,34 +213,22 @@
允许 CapsLock 指示器定期联网检查更新(稍后可修改)
Label of the checkbox that determines whether or not CLI should search for updates
-
-
-
-
-
-
-
-
贡献
Label of the hyperlink that takes you to CLI's GitHub page
@@ -304,48 +277,30 @@
隐藏窗口 (&H)
The caption for the button that hides the window. The character after the "&" is the hotkey that is used with the ALT key.
-
-
-
-
-
-
-
-
-
-
-
-
切换 {0} 时
Used for the check boxes in the "Show notification when..." group box. "{0}" will be replaced with the key name
@@ -382,13 +337,10 @@
一直显示
Text to display instead of the time if indicator overlay display is set to permanently.
-
-
保存并关闭 (&S)
The caption for the "Save & Close" button. The character after the "&" is the hotkey that is used with the ALT key. Use two "&" to display a "&" character
@@ -397,20 +349,14 @@
Scroll lock
The name of the scroll lock key
-
-
-
-
显示托盘图标:
The title for the "Show icons for..." group box
@@ -427,52 +373,34 @@
显示通知:
The title for the "Show notification when..." group box
-
-
开机自启动
The label for the check box that enables or disabled the auto start.
-
-
-
-
-
-
-
-
-
-
CapsLock 指示器有可用更新了!
The title for the update window.
diff --git a/CapsLockIndicatorV3/strings.zh-Hant-TW.resx b/CapsLockIndicatorV3/strings.zh-Hant-TW.resx
index 2875b48..41dacd0 100644
--- a/CapsLockIndicatorV3/strings.zh-Hant-TW.resx
+++ b/CapsLockIndicatorV3/strings.zh-Hant-TW.resx
@@ -117,24 +117,18 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
進階設定
Label of the hyperlink that opens the settings file
-
-
開啟 - 背景顏色
The caption for the "Background colour activated" button.
@@ -179,35 +173,26 @@
顯示主畫面 (&S)
Used in the context menu of the CLI tray icon.
-
-
-
-
忽略 (&D)
The caption for the "Dismiss" button. The character after the "&" is the hotkey that is used with the ALT key.
- 顯示時間
+ 顯示時長
The title for the "Display time" group box
-
-
手動下載 (&M)
The caption for the "Download manually" button. The character after the "&" is the hotkey that is used with the ALT key.
@@ -242,7 +227,7 @@
Label for selecting color scheme
- 僅適用於 Windows 10
+ 僅適用於 Windows 10 或更新的作業系統
Added to dark button if not running on Windows 10
@@ -293,48 +278,30 @@
隱藏視窗 (&H)
The caption for the button that hides the window. The character after the "&" is the hotkey that is used with the ALT key.
-
-
-
-
-
-
-
-
-
-
-
-
切換 {0} 時
Used for the check boxes in the "Show notification when..." group box. "{0}" will be replaced with the key name
@@ -383,20 +350,14 @@
Scroll Lock
The name of the scroll lock key
-
-
-
-
通知區圖示:
The title for the "Show icons for..." group box
@@ -421,41 +382,26 @@
開機時自動啟動
The label for the check box that enables or disabled the auto start.
-
-
-
-
-
-
-
-
-
-
CapsLock Indicator 有可用的更新!
The title for the update window.
diff --git a/CapsLockIndicatorV3/strings.zh-TW.resx b/CapsLockIndicatorV3/strings.zh-TW.resx
index 5756ca5..41dacd0 100644
--- a/CapsLockIndicatorV3/strings.zh-TW.resx
+++ b/CapsLockIndicatorV3/strings.zh-TW.resx
@@ -1,345 +1,418 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
-
- 進階設定
- Label of the hyperlink that opens the settings file
-
-
- 開啟 - 背景顏色
- The caption for the "Background colour activated" button.
-
-
- 關閉 - 背景顏色
- The caption for the "Background colour deactivated" button.
-
-
- 開啟 - 邊框顏色
- The caption for the "Border colour activated" button.
-
-
- 關閉 - 邊框顏色
- The caption for the "Border colour deactivated" button.
-
-
- 邊框寬度
- Label of the border thickness groupbox
-
-
- Caps Lock
- The name of the caps lock key
-
-
- 檢查更新 (&U)
- The caption for the button that manually checks for updates. The character after the "&" is the hotkey that is used with the ALT key.
-
-
- 正在檢查更新…
- The caption for the "Check for updates" button when it's searching for updates.
-
-
- 顏色
- The title for the "Colours" group box
-
-
- 結束 (&E)
- Used in the context menu of the CLI tray icon.
-
-
- 顯示主畫面 (&S)
- Used in the context menu of the CLI tray icon.
-
-
- 忽略 (&D)
- The caption for the "Dismiss" button. The character after the "&" is the hotkey that is used with the ALT key.
-
-
- 顯示時間
- The title for the "Display time" group box
-
-
- 手動下載 (&M)
- The caption for the "Download manually" button. The character after the "&" is the hotkey that is used with the ALT key.
-
-
- 下載更多翻譯…
- The last dropdown item in the locale dropdown.
-
-
- 退出程式 (&E)
- The caption for the button that exits the application. The character after the "&" is the hotkey that is used with the ALT key.
-
-
- 退出程式後,通知區的 CapsLock Indicator 圖示
-和切換通知都將不再顯示。確定要退出嗎?
- The message to display on application exit
-
-
- 自動檢查更新 (稍後可再更改) (&A)
- Label of the checkbox that determines whether or not CLI should search for updates
-
-
- 灰暗 (&D)
- Button for selecting dark color scheme
-
-
- 明亮 (&I)
- Button for selecting light color scheme
-
-
- 你喜歡哪種配色主題?
- Label for selecting color scheme
-
-
- 僅適用於 Windows 10
- Added to dark button if not running on Windows 10
-
-
- 貢獻
- Label of the hyperlink that takes you to CLI's GitHub page
-
-
- 結束 (&E)
- Button that exists the application. The character after the "&" is the hotkey that is used with the ALT key.
-
-
- 歡迎使用 CapsLock Indicator
- The heading of the first-run dialog
-
-
- 感謝您使用 CapsLock Indicator!這個程式將會永遠維持開源和免費!您是否有興趣為 CapsLock Indicator 做出貢獻?前往左下方的 GitHub 連結了解更多資訊!另外,請花點時間查看以下設定!
- The message of the first-run dialog
-
-
- 會發送什麼資料?
- The label of the hyperlink that shows which information will be sent on each update check
-
-
- 開始! (&L)
- Button that starts the application. The character after the "&" is the hotkey that is used with the ALT key.
-
-
- 字體
- The title for the "Font" group box
-
-
- 開啟 - 文字顏色
- The caption for the "Text colour activated" button.
-
-
- 關閉 - 文字顏色
- The caption for the "Text colour deactivated" button.
-
-
- 按兩下此圖示即可顯示 CapsLock 指示器主畫面
- The text that is shown in the icon balloon tip when CLI is being hidden.
-
-
- 啟動時自動隱藏
- Used for the hide on startup checkbox
-
-
- 隱藏視窗 (&H)
- The caption for the button that hides the window. The character after the "&" is the hotkey that is used with the ALT key.
-
-
- 切換 {0} 時
- Used for the check boxes in the "Show notification when..." group box. "{0}" will be replaced with the key name
-
-
- {0} 已關閉
- The text to display in the notification when a key is off. "{0}" will be replaced with the key name
-
-
- {0} 已開啟
- The text to display in the notification when a key is on. "{0}" will be replaced with the key name
-
-
- 通知設定 (&N)
- The caption for the button that opens the notification settings. The character after the "&" is the hotkey that is used with the ALT key.
-
-
- 通知設定
- The caption of the notification settings window
-
-
- Num Lock
- The name of the num lock key
-
-
- 透明度
- The title for the "Opacity" group box
-
-
- 通知位置
- The title for the "Overlay position" group box
-
-
- 持續顯示
- Text to display instead of the time if indicator overlay display is set to permanently.
-
-
- 縮圖已重新載入
- Shown in a notification when hot-reloading icons.
-
-
- 儲存並關閉 (&S)
- The caption for the "Save & Close" button. The character after the "&" is the hotkey that is used with the ALT key. Use two "&" to display a "&" character
-
-
- Scroll Lock
- The name of the scroll lock key
-
-
- 通知區圖示:
- The title for the "Show icons for..." group box
-
-
- 關閉通知區圖示
- The label for the check box that enables or disables all icons
-
-
- 不顯示通知
- The label for the check box that enables or disables all notifications
-
-
- 顯示通知:
- The title for the "Show notification when..." group box
-
-
- 開啟時始終顯示通知提示窗
- The label for the check box that indicates whether overlay should only be shown when active
-
-
- 開機時自動啟動
- The label for the check box that enables or disabled the auto start.
-
-
- CapsLock Indicator 有可用的更新!
- The title for the update window.
-
-
- 版本 {0},發佈於 {1}
- Displayed in the "Update Available" dialog. {0} is the version, {1} is the release date and time.
-
-
- 立即更新 (&U)
- The caption for the "Update now" button. The character after the "&" is the hotkey that is used with the ALT key.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ 調整顏色主題中... 請稍候...
+ Shown in a popup when toggling dark mode
+
+
+ 進階設定
+ Label of the hyperlink that opens the settings file
+
+
+ 自動檢查更新
+ Tooltip for the checkbox next to the update button
+
+
+ 開啟 - 背景顏色
+ The caption for the "Background colour activated" button.
+
+
+ 關閉 - 背景顏色
+ The caption for the "Background colour deactivated" button.
+
+
+ 開啟 - 邊框顏色
+ The caption for the "Border colour activated" button.
+
+
+ 關閉 - 邊框顏色
+ The caption for the "Border colour deactivated" button.
+
+
+ 邊框寬度
+ Label of the border thickness groupbox
+
+
+ Caps Lock
+ The name of the caps lock key
+
+
+ 檢查更新 (&U)
+ The caption for the button that manually checks for updates. The character after the "&" is the hotkey that is used with the ALT key.
+
+
+ 正在檢查更新…
+ The caption for the "Check for updates" button when it's searching for updates.
+
+
+ 顏色
+ The title for the "Colours" group box
+
+
+ 結束 (&E)
+ Used in the context menu of the CLI tray icon.
+
+
+ 顯示主畫面 (&S)
+ Used in the context menu of the CLI tray icon.
+
+
+ 深色模式 (&D)
+ Label of options checkbox for dark mode
+
+
+ 忽略
+ Used as tooltip (but may be used in other places in the future
+
+
+ 忽略 (&D)
+ The caption for the "Dismiss" button. The character after the "&" is the hotkey that is used with the ALT key.
+
+
+ 顯示時長
+ The title for the "Display time" group box
+
+
+ 下載縮圖主題包
+ Hyperlink for accessing the icon pack browser
+
+
+ 手動下載 (&M)
+ The caption for the "Download manually" button. The character after the "&" is the hotkey that is used with the ALT key.
+
+
+ 下載更多翻譯…
+ The last dropdown item in the locale dropdown.
+
+
+ 退出程式 (&E)
+ The caption for the button that exits the application. The character after the "&" is the hotkey that is used with the ALT key.
+
+
+ 退出程式後,通知區的 CapsLock Indicator 圖示
+和切換通知都將不再顯示。確定要退出嗎?
+ The message to display on application exit
+
+
+ 自動檢查更新 (稍後可再更改) (&A)
+ Label of the checkbox that determines whether or not CLI should search for updates
+
+
+ 灰暗 (&D)
+ Button for selecting dark color scheme
+
+
+ 明亮 (&I)
+ Button for selecting light color scheme
+
+
+ 你喜歡哪種配色主題?
+ Label for selecting color scheme
+
+
+ 僅適用於 Windows 10 或更新的作業系統
+ Added to dark button if not running on Windows 10
+
+
+ 貢獻
+ Label of the hyperlink that takes you to CLI's GitHub page
+
+
+ 結束 (&E)
+ Button that exists the application. The character after the "&" is the hotkey that is used with the ALT key.
+
+
+ 歡迎使用 CapsLock Indicator
+ The heading of the first-run dialog
+
+
+ 感謝您使用 CapsLock Indicator!這個程式將會永遠維持開源和免費!您是否有興趣為 CapsLock Indicator 做出貢獻?前往左下方的 GitHub 連結了解更多資訊!另外,請花點時間查看以下設定!
+ The message of the first-run dialog
+
+
+ 會發送什麼資料?
+ The label of the hyperlink that shows which information will be sent on each update check
+
+
+ 開始! (&L)
+ Button that starts the application. The character after the "&" is the hotkey that is used with the ALT key.
+
+
+ 字體
+ The title for the "Font" group box
+
+
+ 開啟 - 文字顏色
+ The caption for the "Text colour activated" button.
+
+
+ 關閉 - 文字顏色
+ The caption for the "Text colour deactivated" button.
+
+
+ 按兩下此圖示即可顯示 CapsLock 指示器主畫面
+ The text that is shown in the icon balloon tip when CLI is being hidden.
+
+
+ 啟動時自動隱藏
+ Used for the hide on startup checkbox
+
+
+ 隱藏視窗 (&H)
+ The caption for the button that hides the window. The character after the "&" is the hotkey that is used with the ALT key.
+
+
+ 正在下載 meta 資料...
+ Shown when downloading metadata for icon pack
+
+
+ 正在下載縮圖包...
+ Shown when downloading an icon pack
+
+
+ 確認要安裝縮圖主題 “{name}” (版本 {version}) 作者: {authorName}?
+ Prompt shown when installing an icon pack
+
+
+ 是否要將縮圖主題恢復為預設主題?
+ Shown when asked to reset the icons
+
+
+ 縮圖主題已恢復為預設!
+ Shown after icons were reset
+
+
+ “{name}” (版本 {version}) 安裝成功!
+ Shown after an icon pack was installed successfully
+
+
+ 切換 {0} 時
+ Used for the check boxes in the "Show notification when..." group box. "{0}" will be replaced with the key name
+
+
+ {0} 已關閉
+ The text to display in the notification when a key is off. "{0}" will be replaced with the key name
+
+
+ {0} 已開啟
+ The text to display in the notification when a key is on. "{0}" will be replaced with the key name
+
+
+ 通知設定 (&N)
+ The caption for the button that opens the notification settings. The character after the "&" is the hotkey that is used with the ALT key.
+
+
+ 通知設定
+ The caption of the notification settings window
+
+
+ Num Lock
+ The name of the num lock key
+
+
+ 透明度
+ The title for the "Opacity" group box
+
+
+ 通知位置
+ The title for the "Overlay position" group box
+
+
+ 持續顯示
+ Text to display instead of the time if indicator overlay display is set to permanently.
+
+
+ 縮圖已重新載入
+ Shown in a notification when hot-reloading icons.
+
+
+ 儲存並關閉 (&S)
+ The caption for the "Save & Close" button. The character after the "&" is the hotkey that is used with the ALT key. Use two "&" to display a "&" character
+
+
+ Scroll Lock
+ The name of the scroll lock key
+
+
+ 再次開啟畫面時檢查更新 (&U)
+ Label of options checkbox for update search after resume
+
+
+ 設定介面已更新!現在可於頂部頁籤找到各個對應設定!
+ The tutorial tooltip shown when upgrading to 3.13.0.0
+
+
+ 通知區圖示:
+ The title for the "Show icons for..." group box
+
+
+ 關閉通知區圖示
+ The label for the check box that enables or disables all icons
+
+
+ 不顯示通知
+ The label for the check box that enables or disables all notifications
+
+
+ 顯示通知:
+ The title for the "Show notification when..." group box
+
+
+ 開啟時始終顯示通知提示窗
+ The label for the check box that indicates whether overlay should only be shown when active
+
+
+ 開機時自動啟動
+ The label for the check box that enables or disabled the auto start.
+
+
+ 進階設定
+ Tab header for advanced options
+
+
+ 一般
+ Tab header for general settings
+
+
+ 通知
+ Tab header for advanced settings
+
+
+ 不支援此版本的 CapsLock Indicator (版本 {version})。請更新為最新版本!
+ Banner text when CLI version is unsupported
+
+
+ 你正在使用已不再受 Microsoft 支援的作業系統 {os}。CapsLock Indicator 未來的版本將不會再支援此作業系統!請盡早升級為最新版本的 Windows!
+ Banner text when Windows version is unsupported
+
+
+ CapsLock Indicator 有可用的更新!
+ The title for the update window.
+
+
+ 版本 {0},發佈於 {1}
+ Displayed in the "Update Available" dialog. {0} is the version, {1} is the release date and time.
+
+
+ 立即更新 (&U)
+ The caption for the "Update now" button. The character after the "&" is the hotkey that is used with the ALT key.
+
+
\ No newline at end of file