diff --git a/ShareX.HelpersLib/Forms/HashCheckForm.cs b/ShareX.HelpersLib/Forms/HashCheckForm.cs index dcdf92de9..46ff00917 100644 --- a/ShareX.HelpersLib/Forms/HashCheckForm.cs +++ b/ShareX.HelpersLib/Forms/HashCheckForm.cs @@ -80,16 +80,15 @@ private void UpdateCompareControls() { lblFilePath2.Enabled = txtFilePath2.Enabled = btnFilePathBrowse2.Enabled = CompareTwoFiles; - // TODO: Translate if (CompareTwoFiles) { - lblResult.Text = "Result of first file:"; - lblTarget.Text = "Result of second file:"; + lblResult.Text = Resources.ResultOfFirstFile; + lblTarget.Text = Resources.ResultOfSecondFile; } else { - lblResult.Text = "Result:"; - lblTarget.Text = "Target:"; + lblResult.Text = Resources.Result; + lblTarget.Text = Resources.Target; } txtTarget.ReadOnly = CompareTwoFiles; diff --git a/ShareX.HelpersLib/Properties/Resources.Designer.cs b/ShareX.HelpersLib/Properties/Resources.Designer.cs index 6eec9eb85..b1176e6a5 100644 --- a/ShareX.HelpersLib/Properties/Resources.Designer.cs +++ b/ShareX.HelpersLib/Properties/Resources.Designer.cs @@ -3013,6 +3013,33 @@ internal class Resources { } } + /// + /// Looks up a localized string similar to Result:. + /// + internal static string Result { + get { + return ResourceManager.GetString("Result", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Result of first file:. + /// + internal static string ResultOfFirstFile { + get { + return ResourceManager.GetString("ResultOfFirstFile", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Result of second file:. + /// + internal static string ResultOfSecondFile { + get { + return ResourceManager.GetString("ResultOfSecondFile", resourceCulture); + } + } + /// /// Looks up a localized string similar to FFmpeg (Good quality). /// @@ -3376,6 +3403,15 @@ internal class Resources { } } + /// + /// Looks up a localized string similar to Target:. + /// + internal static string Target { + get { + return ResourceManager.GetString("Target", resourceCulture); + } + } + /// /// Looks up a localized string similar to Custom text uploader. /// diff --git a/ShareX.HelpersLib/Properties/Resources.resx b/ShareX.HelpersLib/Properties/Resources.resx index 24258d15f..a138a985b 100644 --- a/ShareX.HelpersLib/Properties/Resources.resx +++ b/ShareX.HelpersLib/Properties/Resources.resx @@ -1250,4 +1250,16 @@ Would you like to download and install it? ..\Resources\tick.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + Result of first file: + + + Result of second file: + + + Result: + + + Target: + \ No newline at end of file diff --git a/ShareX.ScreenCaptureLib/Forms/RegionCaptureForm.cs b/ShareX.ScreenCaptureLib/Forms/RegionCaptureForm.cs index 9ce732ea8..9b223588b 100644 --- a/ShareX.ScreenCaptureLib/Forms/RegionCaptureForm.cs +++ b/ShareX.ScreenCaptureLib/Forms/RegionCaptureForm.cs @@ -1434,8 +1434,7 @@ internal void OnSaveImageRequested() { ImageFilePath = imageFilePath; UpdateTitle(); - // TODO: Translate - ShapeManager.ShowMenuTooltip("Image saved"); + ShapeManager.ShowMenuTooltip(Resources.ImageSaved); } } } @@ -1452,8 +1451,7 @@ internal void OnSaveImageAsRequested() { ImageFilePath = imageFilePath; UpdateTitle(); - // TODO: Translate - ShapeManager.ShowMenuTooltip("Image saved"); + ShapeManager.ShowMenuTooltip(Resources.ImageSavedAs); } } } @@ -1465,8 +1463,7 @@ internal void OnCopyImageRequested() Bitmap bmp = ReceiveImageForTask(); CopyImageRequested(bmp); - // TODO: Translate - ShapeManager.ShowMenuTooltip("Image copied"); + ShapeManager.ShowMenuTooltip(Resources.ImageCopied); } } @@ -1477,8 +1474,7 @@ internal void OnUploadImageRequested() Bitmap bmp = ReceiveImageForTask(); UploadImageRequested(bmp); - // TODO: Translate - ShapeManager.ShowMenuTooltip("Image uploading"); + ShapeManager.ShowMenuTooltip(Resources.ImageUploading); } } diff --git a/ShareX.ScreenCaptureLib/Forms/TextDrawingInputBox.cs b/ShareX.ScreenCaptureLib/Forms/TextDrawingInputBox.cs index b8758375c..1815b7dad 100644 --- a/ShareX.ScreenCaptureLib/Forms/TextDrawingInputBox.cs +++ b/ShareX.ScreenCaptureLib/Forms/TextDrawingInputBox.cs @@ -118,14 +118,13 @@ private void Close(DialogResult result) private void UpdateEnterTip() { - // TODO: Translate if (Options.EnterKeyNewLine) { - lblTip.Text = "New line: Enter, OK: Ctrl + Enter"; + lblTip.Text = Resources.NewLineEnterOKCtrlEnter; } else { - lblTip.Text = "New line: Ctrl + Enter, OK: Enter"; + lblTip.Text = Resources.NewLineCtrlEnterOKEnter; } } diff --git a/ShareX.ScreenCaptureLib/Properties/Resources.Designer.cs b/ShareX.ScreenCaptureLib/Properties/Resources.Designer.cs index 02dacbff7..4aca969e7 100644 --- a/ShareX.ScreenCaptureLib/Properties/Resources.Designer.cs +++ b/ShareX.ScreenCaptureLib/Properties/Resources.Designer.cs @@ -267,6 +267,15 @@ internal class Resources { } } + /// + /// Looks up a localized string similar to Duplicate. + /// + internal static string Duplicate { + get { + return ResourceManager.GetString("Duplicate", resourceCulture); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -702,6 +711,15 @@ internal class Resources { } } + /// + /// Looks up a localized string similar to Image copied. + /// + internal static string ImageCopied { + get { + return ResourceManager.GetString("ImageCopied", resourceCulture); + } + } + /// /// Looks up a localized string similar to Add image effects.... /// @@ -711,6 +729,33 @@ internal class Resources { } } + /// + /// Looks up a localized string similar to Image saved. + /// + internal static string ImageSaved { + get { + return ResourceManager.GetString("ImageSaved", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Image saved. + /// + internal static string ImageSavedAs { + get { + return ResourceManager.GetString("ImageSavedAs", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Image uploading. + /// + internal static string ImageUploading { + get { + return ResourceManager.GetString("ImageUploading", resourceCulture); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -1010,6 +1055,15 @@ internal class Resources { } } + /// + /// Looks up a localized string similar to Lock menu. + /// + internal static string LockMenu { + get { + return ResourceManager.GetString("LockMenu", resourceCulture); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -1029,6 +1083,15 @@ internal class Resources { } } + /// + /// Looks up a localized string similar to Menu icon size:. + /// + internal static string MenuIconSize { + get { + return ResourceManager.GetString("MenuIconSize", resourceCulture); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -1059,6 +1122,24 @@ internal class Resources { } } + /// + /// Looks up a localized string similar to New line: Ctrl + Enter, OK: Enter. + /// + internal static string NewLineCtrlEnterOKEnter { + get { + return ResourceManager.GetString("NewLineCtrlEnterOKEnter", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to New line: Enter, OK: Ctrl + Enter. + /// + internal static string NewLineEnterOKCtrlEnter { + get { + return ResourceManager.GetString("NewLineEnterOKCtrlEnter", resourceCulture); + } + } + /// /// Looks up a localized resource of type System.Byte[]. /// diff --git a/ShareX.ScreenCaptureLib/Properties/Resources.resx b/ShareX.ScreenCaptureLib/Properties/Resources.resx index 9b92862f8..6c091510e 100644 --- a/ShareX.ScreenCaptureLib/Properties/Resources.resx +++ b/ShareX.ScreenCaptureLib/Properties/Resources.resx @@ -713,4 +713,31 @@ X: {4} Y: {5} Arrow head direction: + + New line: Enter, OK: Ctrl + Enter + + + New line: Ctrl + Enter, OK: Enter + + + Lock menu + + + Image uploading + + + Image copied + + + Image saved + + + Image saved + + + Duplicate + + + Menu icon size: + \ No newline at end of file diff --git a/ShareX.ScreenCaptureLib/Shapes/ShapeManagerMenu.cs b/ShareX.ScreenCaptureLib/Shapes/ShapeManagerMenu.cs index 6fe5791b4..3866d7b34 100644 --- a/ShareX.ScreenCaptureLib/Shapes/ShapeManagerMenu.cs +++ b/ShareX.ScreenCaptureLib/Shapes/ShapeManagerMenu.cs @@ -656,8 +656,7 @@ internal void CreateToolbar() tsmiPaste.Click += (sender, e) => PasteFromClipboard(false); tsddbEdit.DropDownItems.Add(tsmiPaste); - // TODO: Translate - tsmiDuplicate = new ToolStripMenuItem("Duplicate"); + tsmiDuplicate = new ToolStripMenuItem(Resources.Duplicate); tsmiDuplicate.Image = Resources.document_copy; tsmiDuplicate.ShortcutKeyDisplayString = "Ctrl+D"; tsmiDuplicate.Click += (sender, e) => DuplicateCurrrentShape(false); @@ -992,8 +991,7 @@ internal void CreateToolbar() }; tsddbOptions.DropDownItems.Add(tsmiSwitchToSelectionToolAfterDrawing); - // TODO: Translate - ToolStripLabeledNumericUpDown tslnudMenuIconSize = new ToolStripLabeledNumericUpDown("Menu icon size:"); + ToolStripLabeledNumericUpDown tslnudMenuIconSize = new ToolStripLabeledNumericUpDown(Resources.MenuIconSize); tslnudMenuIconSize.Content.Minimum = 16; tslnudMenuIconSize.Content.Maximum = 64; tslnudMenuIconSize.Content.Increment = 16; @@ -1012,7 +1010,7 @@ internal void CreateToolbar() if (!Form.IsEditorMode) { - ToolStripMenuItem tsmiLockMenu = new ToolStripMenuItem("Lock menu"); + ToolStripMenuItem tsmiLockMenu = new ToolStripMenuItem(Resources.LockMenu); tsmiLockMenu.Checked = Options.MenuLocked; tsmiLockMenu.CheckOnClick = true; tsmiLockMenu.Click += (sender, e) => diff --git a/ShareX.UploadersLib/Controls/OAuthControl.cs b/ShareX.UploadersLib/Controls/OAuthControl.cs index b89f4c114..13c07b3cf 100644 --- a/ShareX.UploadersLib/Controls/OAuthControl.cs +++ b/ShareX.UploadersLib/Controls/OAuthControl.cs @@ -168,8 +168,7 @@ private void UpdateStatusLabel() case OAuthLoginStatus.LoginSuccessful: if (UserInfo != null && !string.IsNullOrEmpty(UserInfo.name)) { - // TODO: Translate - lblStatusValue.Text = string.Format("Logged in as {0}.", UserInfo.name); + lblStatusValue.Text = string.Format(Resources.LoggedInAs0, UserInfo.name); } else { diff --git a/ShareX.UploadersLib/Forms/CustomUploaderSettingsForm.cs b/ShareX.UploadersLib/Forms/CustomUploaderSettingsForm.cs index fad6dd3ed..40fe07d3e 100644 --- a/ShareX.UploadersLib/Forms/CustomUploaderSettingsForm.cs +++ b/ShareX.UploadersLib/Forms/CustomUploaderSettingsForm.cs @@ -304,8 +304,7 @@ private void CustomUploaderSerialize(CustomUploaderItem cui, string folderPath) catch (Exception e) { DebugHelper.WriteException(e); - // TODO: Translate - MessageBox.Show("Export failed." + "\n\n" + e, "ShareX - " + "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show(Resources.ExportFailed + "\n\n" + e, "ShareX - " + "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } diff --git a/ShareX.UploadersLib/Properties/Resources.Designer.cs b/ShareX.UploadersLib/Properties/Resources.Designer.cs index f64bcb7ae..5fcb1cb0d 100644 --- a/ShareX.UploadersLib/Properties/Resources.Designer.cs +++ b/ShareX.UploadersLib/Properties/Resources.Designer.cs @@ -195,6 +195,15 @@ internal class Resources { } } + /// + /// Looks up a localized string similar to Export failed.. + /// + internal static string ExportFailed { + get { + return ResourceManager.GetString("ExportFailed", resourceCulture); + } + } + /// /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). /// @@ -402,6 +411,15 @@ internal class Resources { } } + /// + /// Looks up a localized string similar to Logged in as {0}.. + /// + internal static string LoggedInAs0 { + get { + return ResourceManager.GetString("LoggedInAs0", resourceCulture); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// diff --git a/ShareX.UploadersLib/Properties/Resources.resx b/ShareX.UploadersLib/Properties/Resources.resx index 64c1b5482..b8061d06d 100644 --- a/ShareX.UploadersLib/Properties/Resources.resx +++ b/ShareX.UploadersLib/Properties/Resources.resx @@ -407,4 +407,10 @@ Created folders: My drive + + Export failed. + + + Logged in as {0}. + \ No newline at end of file diff --git a/ShareX/Forms/MainForm.cs b/ShareX/Forms/MainForm.cs index 8d42e0729..12cfd14b5 100644 --- a/ShareX/Forms/MainForm.cs +++ b/ShareX/Forms/MainForm.cs @@ -455,8 +455,7 @@ private void UpdateMainFormTip() int maxHotkeyLength = hotkeys.Max(x => x.HotkeyInfo.ToString().Length); int maxDescriptionLength = hotkeys.Max(x => x.TaskSettings.ToString().Length); - // TODO: Translate - sb.AppendFormat("┌{0}┬{1}┐\r\n", "Hotkey".PadCenter(maxHotkeyLength + 2, '─'), "Description".PadCenter(maxDescriptionLength + 2, '─')); + sb.AppendFormat("┌{0}┬{1}┐\r\n", Resources.Hotkey.PadCenter(maxHotkeyLength + 2, '─'), Resources.Description.PadCenter(maxDescriptionLength + 2, '─')); for (int i = 0; i < hotkeys.Count; i++) { @@ -1392,8 +1391,7 @@ private void MainForm_FormClosing(object sender, FormClosingEventArgs e) if (Program.Settings.FirstTimeMinimizeToTray) { - // TODO: Translate - TaskHelpers.ShowNotificationTip("ShareX is minimized to the system tray.", "ShareX", 8000); + TaskHelpers.ShowNotificationTip(Resources.ShareXIsMinimizedToTheSystemTray, "ShareX", 8000); Program.Settings.FirstTimeMinimizeToTray = false; } } diff --git a/ShareX/Properties/Resources.Designer.cs b/ShareX/Properties/Resources.Designer.cs index ba2fce349..39ce34284 100644 --- a/ShareX/Properties/Resources.Designer.cs +++ b/ShareX/Properties/Resources.Designer.cs @@ -1093,6 +1093,15 @@ public class Resources { } } + /// + /// Looks up a localized string similar to Description. + /// + public static string Description { + get { + return ResourceManager.GetString("Description", resourceCulture); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -1312,6 +1321,15 @@ public class Resources { } } + /// + /// Looks up a localized string similar to Failed to save settings. + /// + public static string FailedToSaveSettings { + get { + return ResourceManager.GetString("FailedToSaveSettings", resourceCulture); + } + } + /// /// Looks up a localized string similar to Use new name: . /// @@ -1501,6 +1519,15 @@ public class Resources { } } + /// + /// Looks up a localized string similar to Hotkey. + /// + public static string Hotkey { + get { + return ResourceManager.GetString("Hotkey", resourceCulture); + } + } + /// /// Looks up a localized string similar to hotkey. /// @@ -2253,6 +2280,15 @@ public class Resources { } } + /// + /// Looks up a localized string similar to Screen color picker. + /// + public static string ScreenColorPicker { + get { + return ResourceManager.GetString("ScreenColorPicker", resourceCulture); + } + } + /// /// Looks up a localized string similar to Are you sure you want to abort this recording?. /// @@ -2383,6 +2419,15 @@ public class Resources { } } + /// + /// Looks up a localized string similar to ShareX is minimized to the system tray.. + /// + public static string ShareXIsMinimizedToTheSystemTray { + get { + return ResourceManager.GetString("ShareXIsMinimizedToTheSystemTray", resourceCulture); + } + } + /// /// Looks up a localized string similar to ShareX needs to be restarted for the personal folder changes to apply. /// @@ -3018,6 +3063,17 @@ public class Resources { } } + /// + /// Looks up a localized string similar to Would you like to enable image effects? + /// + ///You can later disable it from "After capture tasks" menu.. + /// + public static string WouldYouLikeToEnableImageEffects { + get { + return ResourceManager.GetString("WouldYouLikeToEnableImageEffects", resourceCulture); + } + } + /// /// Looks up a localized string similar to Would you like to reset themes?. /// @@ -3036,5 +3092,15 @@ public class Resources { return ((System.Drawing.Bitmap)(obj)); } } + + /// + /// Looks up a localized string similar to Your anti-virus software or the controlled folder access feature in Windows 10 could be blocking ShareX.. + /// + public static string YourAntiVirusSoftwareOrTheControlledFolderAccessFeatureInWindows10CouldBeBlockingShareX { + get { + return ResourceManager.GetString("YourAntiVirusSoftwareOrTheControlledFolderAccessFeatureInWindows10CouldBeBlocking" + + "ShareX", resourceCulture); + } + } } } diff --git a/ShareX/Properties/Resources.resx b/ShareX/Properties/Resources.resx index ad9f79e38..d54328b36 100644 --- a/ShareX/Properties/Resources.resx +++ b/ShareX/Properties/Resources.resx @@ -1072,4 +1072,27 @@ Middle click to close ..\Resources\uac.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ShareX is minimized to the system tray. + + + Your anti-virus software or the controlled folder access feature in Windows 10 could be blocking ShareX. + + + Failed to save settings + + + Screen color picker + + + Would you like to enable image effects? + +You can later disable it from "After capture tasks" menu. + + + Hotkey + + + Description + \ No newline at end of file diff --git a/ShareX/SettingManager.cs b/ShareX/SettingManager.cs index 28ad29920..090bb0922 100644 --- a/ShareX/SettingManager.cs +++ b/ShareX/SettingManager.cs @@ -25,6 +25,7 @@ using ShareX.HelpersLib; using ShareX.HistoryLib; +using ShareX.Properties; using ShareX.ScreenCaptureLib; using ShareX.UploadersLib; using ShareX.UploadersLib.FileUploaders; @@ -160,16 +161,14 @@ private static void Settings_SettingsSaveFailed(Exception e) if (e is UnauthorizedAccessException || e is FileNotFoundException) { - // TODO: Translate - message = "Your anti-virus software or the controlled folder access feature in Windows 10 could be blocking ShareX."; + message = Resources.YourAntiVirusSoftwareOrTheControlledFolderAccessFeatureInWindows10CouldBeBlockingShareX; } else { message = e.Message; } - // TODO: Translate - TaskHelpers.ShowNotificationTip(message, "ShareX - " + "Failed to save settings", 5000); + TaskHelpers.ShowNotificationTip(message, "ShareX - " + Resources.FailedToSaveSettings, 5000); settingsSaveFailWarningCount++; } diff --git a/ShareX/TaskHelpers.cs b/ShareX/TaskHelpers.cs index 362b384c4..ffbfe3abf 100644 --- a/ShareX/TaskHelpers.cs +++ b/ShareX/TaskHelpers.cs @@ -835,9 +835,8 @@ public static void OpenScreenColorPicker(TaskSettings taskSettings = null) string text = CodeMenuEntryPixelInfo.Parse(input, pointInfo.Color, pointInfo.Position); ClipboardHelpers.CopyText(text); - // TODO: Translate ShowNotificationTip(string.Format(Resources.TaskHelpers_OpenQuickScreenColorPicker_Copied_to_clipboard___0_, text), - "ShareX - " + "Screen color picker"); + "ShareX - " + Resources.ScreenColorPicker); } } } @@ -1754,9 +1753,8 @@ public static void ImportImageEffect(string filePath) imageEffectsForm.ImportImageEffect(configJson); } - // TODO: Translate if (!Program.DefaultTaskSettings.AfterCaptureJob.HasFlag(AfterCaptureTasks.AddImageEffects) && - MessageBox.Show("Would you like to enable image effects?\r\n\r\nYou can later disable it from \"After capture tasks\" menu.", + MessageBox.Show(Resources.WouldYouLikeToEnableImageEffects, "ShareX", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { Program.DefaultTaskSettings.AfterCaptureJob = Program.DefaultTaskSettings.AfterCaptureJob.Add(AfterCaptureTasks.AddImageEffects);