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);