diff --git a/ShareX.HelpersLib/Controls/MenuButton.cs b/ShareX.HelpersLib/Controls/MenuButton.cs
index 52f74b714..47440b3e6 100644
--- a/ShareX.HelpersLib/Controls/MenuButton.cs
+++ b/ShareX.HelpersLib/Controls/MenuButton.cs
@@ -43,7 +43,7 @@ protected override void OnMouseDown(MouseEventArgs mevent)
if (Menu != null && mevent.Button == MouseButtons.Left)
{
- Menu.Show(this, MenuX0 ? 0 : mevent.X, this.Height);
+ Menu.Show(this, MenuX0 ? 0 : mevent.X, Height);
}
}
diff --git a/ShareX.Setup/Program.cs b/ShareX.Setup/Program.cs
index b744d0c00..c9990b3d3 100644
--- a/ShareX.Setup/Program.cs
+++ b/ShareX.Setup/Program.cs
@@ -122,7 +122,7 @@ private static void CreatePortable()
CopyFiles(files, portableDir);
- string[] languages = new string[] { "tr", "de", "fr", "zh-CN" };
+ string[] languages = new string[] { "tr", "de", "fr", "zh-CN", "hu" };
foreach (string language in languages)
{
diff --git a/ShareX/Enums.cs b/ShareX/Enums.cs
index 3e088476b..24d3cda13 100644
--- a/ShareX/Enums.cs
+++ b/ShareX/Enums.cs
@@ -33,16 +33,16 @@ public enum SupportedLanguage
Automatic, // Localized
[Description("English")]
English,
- [Description("Türkçe (Turkish)")]
- Turkish,
[Description("Deutsch (German)")]
German,
[Description("Français (French)")]
French,
+ [Description("Magyar (Hungarian)")]
+ Hungarian,
[Description("简体中文 (Simplified Chinese)")]
SimplifiedChinese,
- [Description("Magyar (Hungarian)")]
- Hungarian
+ [Description("Türkçe (Turkish)")]
+ Turkish
}
public enum EImageFormat
diff --git a/ShareX/Forms/AboutForm.cs b/ShareX/Forms/AboutForm.cs
index 40294ccda..319db8d83 100644
--- a/ShareX/Forms/AboutForm.cs
+++ b/ShareX/Forms/AboutForm.cs
@@ -86,6 +86,7 @@ public AboutForm()
DirectShow video and audio device: https://github.com/rdp/screen-capture-recorder-to-video-windows-free
QrCode.Net: https://qrcodenet.codeplex.com
System.Net.FtpClient: https://netftp.codeplex.com
+ResX Resource Manager: https://resxresourcemanager.codeplex.com
Copyright © 2007-2015 ShareX Developers", Resources.AboutForm_AboutForm_Contributors, Resources.AboutForm_AboutForm_Translators, Resources.AboutForm_AboutForm_External_libraries);
}
diff --git a/ShareX/Forms/AboutForm.hu.resx b/ShareX/Forms/AboutForm.hu.resx
index 1f14a2fab..1b1154b6e 100644
--- a/ShareX/Forms/AboutForm.hu.resx
+++ b/ShareX/Forms/AboutForm.hu.resx
@@ -120,44 +120,4 @@
Fejlesztők:
-
- Támogatók:
-
-Mega, Gist and Jira támogatás: https://github.com/gpailler
-Weboldal: https://github.com/dmxt
-MediaCrush támogatás: https://github.com/SirCmpwn
-Amazon S3 és DreamObjects támogatás: https://github.com/alanedwardes
-Gfycat támogatás: https://github.com/Dinnerbone
-Copy támogatás: https://github.com/KamilKZ
-AdFly támogatás: https://github.com/LRNAB
-MediaFire támogatás: https://github.com/michalx2
-Pushbullet támogatás: https://github.com/BallisticLingonberries
-
-Fordítók:
-
-Török: https://github.com/muratmoon
-
-Külső függvénykönyvtárak:
-
-Greenshot Image Editor: https://bitbucket.org/greenshot/greenshot
-Json.NET: https://json.codeplex.com
-SSH.NET: https://sshnet.codeplex.com
-Icons: http://p.yusukekamiyamane.com
-ImageListView: https://code.google.com/p/imagelistview
-AviWriter: https://code.google.com/p/aforge
-FFmpeg: http://www.ffmpeg.org
-FFmpeg Windows builds: http://ffmpeg.zeranoe.com/builds
-7-Zip: http://www.7-zip.org
-SevenZipSharp: https://sevenzipsharp.codeplex.com
-DirectShow video and audio device: https://github.com/rdp/screen-capture-recorder-to-video-windows-free
-QrCode.Net: https://qrcodenet.codeplex.com
-System.Net.FtpClient: https://netftp.codeplex.com
-
-Copyright © 2007 - 2014 ShareX Developers
-
-
- Weboldal: http://getsharex.com
-Projekt oldala: https://github.com/ShareX/ShareX
-Hibajelentések: https://github.com/ShareX/ShareX/issues
-
\ No newline at end of file
diff --git a/ShareX/Forms/ApplicationSettingsForm.Designer.cs b/ShareX/Forms/ApplicationSettingsForm.Designer.cs
index 526084258..3b4186656 100644
--- a/ShareX/Forms/ApplicationSettingsForm.Designer.cs
+++ b/ShareX/Forms/ApplicationSettingsForm.Designer.cs
@@ -29,11 +29,11 @@ protected override void Dispose(bool disposing)
///
private void InitializeComponent()
{
+ this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ApplicationSettingsForm));
this.tcSettings = new System.Windows.Forms.TabControl();
this.tpGeneral = new System.Windows.Forms.TabPage();
this.llTranslators = new System.Windows.Forms.LinkLabel();
- this.cbLanguage = new System.Windows.Forms.ComboBox();
this.lblLanguage = new System.Windows.Forms.Label();
this.cbRememberMainFormPosition = new System.Windows.Forms.CheckBox();
this.cbSilentRun = new System.Windows.Forms.CheckBox();
@@ -82,21 +82,12 @@ private void InitializeComponent()
this.btnClipboardFormatEdit = new System.Windows.Forms.Button();
this.btnClipboardFormatRemove = new System.Windows.Forms.Button();
this.btnClipboardFormatAdd = new System.Windows.Forms.Button();
- this.lvClipboardFormats = new ShareX.HelpersLib.MyListView();
- this.chDescription = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
- this.chFormat = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.tpUploadRetry = new System.Windows.Forms.TabPage();
this.chkUseSecondaryUploaders = new System.Windows.Forms.CheckBox();
this.tlpBackupDestinations = new System.Windows.Forms.TableLayoutPanel();
this.gbSecondaryImageUploaders = new System.Windows.Forms.GroupBox();
- this.lvSecondaryImageUploaders = new ShareX.HelpersLib.MyListView();
- this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.gbSecondaryFileUploaders = new System.Windows.Forms.GroupBox();
- this.lvSecondaryFileUploaders = new ShareX.HelpersLib.MyListView();
- this.columnHeader3 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.gbSecondaryTextUploaders = new System.Windows.Forms.GroupBox();
- this.lvSecondaryTextUploaders = new ShareX.HelpersLib.MyListView();
- this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.cbIfUploadFailRetryOnce = new System.Windows.Forms.Label();
this.nudRetryUpload = new System.Windows.Forms.NumericUpDown();
this.tpPrint = new System.Windows.Forms.TabPage();
@@ -105,6 +96,17 @@ private void InitializeComponent()
this.btnShowImagePrintSettings = new System.Windows.Forms.Button();
this.tpAdvanced = new System.Windows.Forms.TabPage();
this.pgSettings = new System.Windows.Forms.PropertyGrid();
+ this.cmsLanguages = new System.Windows.Forms.ContextMenuStrip(this.components);
+ this.btnLanguages = new ShareX.HelpersLib.MenuButton();
+ this.lvClipboardFormats = new ShareX.HelpersLib.MyListView();
+ this.chDescription = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
+ this.chFormat = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
+ this.lvSecondaryImageUploaders = new ShareX.HelpersLib.MyListView();
+ this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
+ this.lvSecondaryFileUploaders = new ShareX.HelpersLib.MyListView();
+ this.columnHeader3 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
+ this.lvSecondaryTextUploaders = new ShareX.HelpersLib.MyListView();
+ this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.tttvMain = new ShareX.HelpersLib.TabToTreeView();
this.tcSettings.SuspendLayout();
this.tpGeneral.SuspendLayout();
@@ -141,8 +143,8 @@ private void InitializeComponent()
//
// tpGeneral
//
+ this.tpGeneral.Controls.Add(this.btnLanguages);
this.tpGeneral.Controls.Add(this.llTranslators);
- this.tpGeneral.Controls.Add(this.cbLanguage);
this.tpGeneral.Controls.Add(this.lblLanguage);
this.tpGeneral.Controls.Add(this.cbRememberMainFormPosition);
this.tpGeneral.Controls.Add(this.cbSilentRun);
@@ -164,14 +166,6 @@ private void InitializeComponent()
this.llTranslators.TabStop = true;
this.llTranslators.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.llTranslators_LinkClicked);
//
- // cbLanguage
- //
- this.cbLanguage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cbLanguage.FormattingEnabled = true;
- resources.ApplyResources(this.cbLanguage, "cbLanguage");
- this.cbLanguage.Name = "cbLanguage";
- this.cbLanguage.SelectedIndexChanged += new System.EventHandler(this.cbLanguage_SelectedIndexChanged);
- //
// lblLanguage
//
resources.ApplyResources(this.lblLanguage, "lblLanguage");
@@ -520,27 +514,6 @@ private void InitializeComponent()
this.btnClipboardFormatAdd.UseVisualStyleBackColor = true;
this.btnClipboardFormatAdd.Click += new System.EventHandler(this.btnAddClipboardFormat_Click);
//
- // lvClipboardFormats
- //
- resources.ApplyResources(this.lvClipboardFormats, "lvClipboardFormats");
- this.lvClipboardFormats.AutoFillColumn = true;
- this.lvClipboardFormats.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
- this.chDescription,
- this.chFormat});
- this.lvClipboardFormats.FullRowSelect = true;
- this.lvClipboardFormats.Name = "lvClipboardFormats";
- this.lvClipboardFormats.UseCompatibleStateImageBehavior = false;
- this.lvClipboardFormats.View = System.Windows.Forms.View.Details;
- this.lvClipboardFormats.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.lvClipboardFormats_MouseDoubleClick);
- //
- // chDescription
- //
- resources.ApplyResources(this.chDescription, "chDescription");
- //
- // chFormat
- //
- resources.ApplyResources(this.chFormat, "chFormat");
- //
// tpUploadRetry
//
this.tpUploadRetry.Controls.Add(this.chkUseSecondaryUploaders);
@@ -573,24 +546,6 @@ private void InitializeComponent()
this.gbSecondaryImageUploaders.Name = "gbSecondaryImageUploaders";
this.gbSecondaryImageUploaders.TabStop = false;
//
- // lvSecondaryImageUploaders
- //
- this.lvSecondaryImageUploaders.AllowDrop = true;
- this.lvSecondaryImageUploaders.AllowItemDrag = true;
- this.lvSecondaryImageUploaders.AutoFillColumn = true;
- this.lvSecondaryImageUploaders.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.lvSecondaryImageUploaders.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
- this.columnHeader1});
- resources.ApplyResources(this.lvSecondaryImageUploaders, "lvSecondaryImageUploaders");
- this.lvSecondaryImageUploaders.FullRowSelect = true;
- this.lvSecondaryImageUploaders.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
- this.lvSecondaryImageUploaders.HideSelection = false;
- this.lvSecondaryImageUploaders.MultiSelect = false;
- this.lvSecondaryImageUploaders.Name = "lvSecondaryImageUploaders";
- this.lvSecondaryImageUploaders.UseCompatibleStateImageBehavior = false;
- this.lvSecondaryImageUploaders.View = System.Windows.Forms.View.Details;
- this.lvSecondaryImageUploaders.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lvSecondaryUploaders_MouseUp);
- //
// gbSecondaryFileUploaders
//
this.gbSecondaryFileUploaders.Controls.Add(this.lvSecondaryFileUploaders);
@@ -598,23 +553,6 @@ private void InitializeComponent()
this.gbSecondaryFileUploaders.Name = "gbSecondaryFileUploaders";
this.gbSecondaryFileUploaders.TabStop = false;
//
- // lvSecondaryFileUploaders
- //
- this.lvSecondaryFileUploaders.AllowDrop = true;
- this.lvSecondaryFileUploaders.AllowItemDrag = true;
- this.lvSecondaryFileUploaders.AutoFillColumn = true;
- this.lvSecondaryFileUploaders.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.lvSecondaryFileUploaders.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
- this.columnHeader3});
- resources.ApplyResources(this.lvSecondaryFileUploaders, "lvSecondaryFileUploaders");
- this.lvSecondaryFileUploaders.FullRowSelect = true;
- this.lvSecondaryFileUploaders.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
- this.lvSecondaryFileUploaders.MultiSelect = false;
- this.lvSecondaryFileUploaders.Name = "lvSecondaryFileUploaders";
- this.lvSecondaryFileUploaders.UseCompatibleStateImageBehavior = false;
- this.lvSecondaryFileUploaders.View = System.Windows.Forms.View.Details;
- this.lvSecondaryFileUploaders.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lvSecondaryUploaders_MouseUp);
- //
// gbSecondaryTextUploaders
//
this.gbSecondaryTextUploaders.Controls.Add(this.lvSecondaryTextUploaders);
@@ -622,23 +560,6 @@ private void InitializeComponent()
this.gbSecondaryTextUploaders.Name = "gbSecondaryTextUploaders";
this.gbSecondaryTextUploaders.TabStop = false;
//
- // lvSecondaryTextUploaders
- //
- this.lvSecondaryTextUploaders.AllowDrop = true;
- this.lvSecondaryTextUploaders.AllowItemDrag = true;
- this.lvSecondaryTextUploaders.AutoFillColumn = true;
- this.lvSecondaryTextUploaders.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.lvSecondaryTextUploaders.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
- this.columnHeader2});
- resources.ApplyResources(this.lvSecondaryTextUploaders, "lvSecondaryTextUploaders");
- this.lvSecondaryTextUploaders.FullRowSelect = true;
- this.lvSecondaryTextUploaders.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
- this.lvSecondaryTextUploaders.MultiSelect = false;
- this.lvSecondaryTextUploaders.Name = "lvSecondaryTextUploaders";
- this.lvSecondaryTextUploaders.UseCompatibleStateImageBehavior = false;
- this.lvSecondaryTextUploaders.View = System.Windows.Forms.View.Details;
- this.lvSecondaryTextUploaders.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lvSecondaryUploaders_MouseUp);
- //
// cbIfUploadFailRetryOnce
//
resources.ApplyResources(this.cbIfUploadFailRetryOnce, "cbIfUploadFailRetryOnce");
@@ -699,6 +620,92 @@ private void InitializeComponent()
this.pgSettings.PropertySort = System.Windows.Forms.PropertySort.Categorized;
this.pgSettings.ToolbarVisible = false;
//
+ // cmsLanguages
+ //
+ this.cmsLanguages.Name = "cmsLanguages";
+ resources.ApplyResources(this.cmsLanguages, "cmsLanguages");
+ //
+ // btnLanguages
+ //
+ resources.ApplyResources(this.btnLanguages, "btnLanguages");
+ this.btnLanguages.Menu = this.cmsLanguages;
+ this.btnLanguages.MenuX0 = true;
+ this.btnLanguages.Name = "btnLanguages";
+ this.btnLanguages.UseVisualStyleBackColor = true;
+ //
+ // lvClipboardFormats
+ //
+ resources.ApplyResources(this.lvClipboardFormats, "lvClipboardFormats");
+ this.lvClipboardFormats.AutoFillColumn = true;
+ this.lvClipboardFormats.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
+ this.chDescription,
+ this.chFormat});
+ this.lvClipboardFormats.FullRowSelect = true;
+ this.lvClipboardFormats.Name = "lvClipboardFormats";
+ this.lvClipboardFormats.UseCompatibleStateImageBehavior = false;
+ this.lvClipboardFormats.View = System.Windows.Forms.View.Details;
+ this.lvClipboardFormats.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.lvClipboardFormats_MouseDoubleClick);
+ //
+ // chDescription
+ //
+ resources.ApplyResources(this.chDescription, "chDescription");
+ //
+ // chFormat
+ //
+ resources.ApplyResources(this.chFormat, "chFormat");
+ //
+ // lvSecondaryImageUploaders
+ //
+ this.lvSecondaryImageUploaders.AllowDrop = true;
+ this.lvSecondaryImageUploaders.AllowItemDrag = true;
+ this.lvSecondaryImageUploaders.AutoFillColumn = true;
+ this.lvSecondaryImageUploaders.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.lvSecondaryImageUploaders.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
+ this.columnHeader1});
+ resources.ApplyResources(this.lvSecondaryImageUploaders, "lvSecondaryImageUploaders");
+ this.lvSecondaryImageUploaders.FullRowSelect = true;
+ this.lvSecondaryImageUploaders.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
+ this.lvSecondaryImageUploaders.HideSelection = false;
+ this.lvSecondaryImageUploaders.MultiSelect = false;
+ this.lvSecondaryImageUploaders.Name = "lvSecondaryImageUploaders";
+ this.lvSecondaryImageUploaders.UseCompatibleStateImageBehavior = false;
+ this.lvSecondaryImageUploaders.View = System.Windows.Forms.View.Details;
+ this.lvSecondaryImageUploaders.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lvSecondaryUploaders_MouseUp);
+ //
+ // lvSecondaryFileUploaders
+ //
+ this.lvSecondaryFileUploaders.AllowDrop = true;
+ this.lvSecondaryFileUploaders.AllowItemDrag = true;
+ this.lvSecondaryFileUploaders.AutoFillColumn = true;
+ this.lvSecondaryFileUploaders.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.lvSecondaryFileUploaders.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
+ this.columnHeader3});
+ resources.ApplyResources(this.lvSecondaryFileUploaders, "lvSecondaryFileUploaders");
+ this.lvSecondaryFileUploaders.FullRowSelect = true;
+ this.lvSecondaryFileUploaders.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
+ this.lvSecondaryFileUploaders.MultiSelect = false;
+ this.lvSecondaryFileUploaders.Name = "lvSecondaryFileUploaders";
+ this.lvSecondaryFileUploaders.UseCompatibleStateImageBehavior = false;
+ this.lvSecondaryFileUploaders.View = System.Windows.Forms.View.Details;
+ this.lvSecondaryFileUploaders.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lvSecondaryUploaders_MouseUp);
+ //
+ // lvSecondaryTextUploaders
+ //
+ this.lvSecondaryTextUploaders.AllowDrop = true;
+ this.lvSecondaryTextUploaders.AllowItemDrag = true;
+ this.lvSecondaryTextUploaders.AutoFillColumn = true;
+ this.lvSecondaryTextUploaders.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.lvSecondaryTextUploaders.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
+ this.columnHeader2});
+ resources.ApplyResources(this.lvSecondaryTextUploaders, "lvSecondaryTextUploaders");
+ this.lvSecondaryTextUploaders.FullRowSelect = true;
+ this.lvSecondaryTextUploaders.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
+ this.lvSecondaryTextUploaders.MultiSelect = false;
+ this.lvSecondaryTextUploaders.Name = "lvSecondaryTextUploaders";
+ this.lvSecondaryTextUploaders.UseCompatibleStateImageBehavior = false;
+ this.lvSecondaryTextUploaders.View = System.Windows.Forms.View.Details;
+ this.lvSecondaryTextUploaders.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lvSecondaryUploaders_MouseUp);
+ //
// tttvMain
//
resources.ApplyResources(this.tttvMain, "tttvMain");
@@ -825,9 +832,10 @@ private void InitializeComponent()
private System.Windows.Forms.ColumnHeader columnHeader2;
private System.Windows.Forms.CheckBox cbPrintDontShowWindowsDialog;
private System.Windows.Forms.CheckBox cbRememberMainFormPosition;
- private System.Windows.Forms.ComboBox cbLanguage;
private System.Windows.Forms.Label lblLanguage;
private System.Windows.Forms.LinkLabel llTranslators;
private TabToTreeView tttvMain;
+ private MenuButton btnLanguages;
+ private System.Windows.Forms.ContextMenuStrip cmsLanguages;
}
}
\ No newline at end of file
diff --git a/ShareX/Forms/ApplicationSettingsForm.cs b/ShareX/Forms/ApplicationSettingsForm.cs
index fe1e6de69..b18454368 100644
--- a/ShareX/Forms/ApplicationSettingsForm.cs
+++ b/ShareX/Forms/ApplicationSettingsForm.cs
@@ -52,8 +52,19 @@ private void LoadSettings()
Icon = ShareXResources.Icon;
// General
- cbLanguage.Items.AddRange(Helpers.GetLocalizedEnumDescriptions());
- cbLanguage.SelectedIndex = (int)Program.Settings.Language;
+
+ foreach (SupportedLanguage language in Helpers.GetEnums())
+ {
+ ToolStripMenuItem tsmi = new ToolStripMenuItem(language.GetLocalizedDescription());
+ tsmi.Image = GetLanguageIcon(language);
+ tsmi.ImageScaling = ToolStripItemImageScaling.None;
+ SupportedLanguage lang = language;
+ tsmi.Click += (sender, e) => ChangeLanguage(lang);
+ cmsLanguages.Items.Add(tsmi);
+ }
+
+ ChangeLanguage(Program.Settings.Language);
+
cbShowTray.Checked = Program.Settings.ShowTray;
cbSilentRun.Enabled = Program.Settings.ShowTray;
cbSilentRun.Checked = Program.Settings.SilentRun;
@@ -126,6 +137,57 @@ private void LoadSettings()
tttvMain.MainTabControl = tcSettings;
}
+ private Image GetLanguageIcon(SupportedLanguage language)
+ {
+ Image icon;
+
+ switch (language)
+ {
+ default:
+ case SupportedLanguage.Automatic:
+ icon = Resources.globe;
+ break;
+ case SupportedLanguage.English:
+ icon = Resources.us;
+ break;
+ case SupportedLanguage.Turkish:
+ icon = Resources.tr;
+ break;
+ case SupportedLanguage.German:
+ icon = Resources.de;
+ break;
+ case SupportedLanguage.French:
+ icon = Resources.fr;
+ break;
+ case SupportedLanguage.SimplifiedChinese:
+ icon = Resources.cn;
+ break;
+ case SupportedLanguage.Hungarian:
+ icon = Resources.hu;
+ break;
+ }
+
+ return icon;
+ }
+
+ private void ChangeLanguage(SupportedLanguage language)
+ {
+ btnLanguages.Text = language.GetLocalizedDescription();
+ btnLanguages.Image = GetLanguageIcon(language);
+
+ if (loaded)
+ {
+ Program.Settings.Language = language;
+
+ if (LanguageHelper.ChangeLanguage(Program.Settings.Language) &&
+ MessageBox.Show(Resources.ApplicationSettingsForm_cbLanguage_SelectedIndexChanged_Language_Restart,
+ "ShareX", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
+ {
+ Program.Restart();
+ }
+ }
+ }
+
private void SettingsForm_Shown(object sender, EventArgs e)
{
this.ShowActivate();
@@ -176,21 +238,6 @@ private void UpdatePersonalFolderPathPreview()
#region General
- private void cbLanguage_SelectedIndexChanged(object sender, EventArgs e)
- {
- if (loaded)
- {
- Program.Settings.Language = (SupportedLanguage)cbLanguage.SelectedIndex;
-
- if (LanguageHelper.ChangeLanguage(Program.Settings.Language) &&
- MessageBox.Show(Resources.ApplicationSettingsForm_cbLanguage_SelectedIndexChanged_Language_Restart,
- "ShareX", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
- {
- Program.Restart();
- }
- }
- }
-
private void llTranslators_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
URLHelpers.OpenURL("https://github.com/ShareX/ShareX/wiki/Translation");
diff --git a/ShareX/Forms/ApplicationSettingsForm.de.resx b/ShareX/Forms/ApplicationSettingsForm.de.resx
index 7d8a4b9f2..4c0276ce8 100644
--- a/ShareX/Forms/ApplicationSettingsForm.de.resx
+++ b/ShareX/Forms/ApplicationSettingsForm.de.resx
@@ -1,3 +1,4 @@
+