diff --git a/LanguageBaseEnglish.xml b/LanguageBaseEnglish.xml index a38e3ed70..9eb913136 100644 --- a/LanguageBaseEnglish.xml +++ b/LanguageBaseEnglish.xml @@ -1069,6 +1069,8 @@ To use an API key, go to "Options -> Settings -> Tools" to enter your Goog Clipboard contains source text! Go to translator and translate, then copy the results to the clipboard and click this button again. Start "{0}" web server + "{0}" requires a web server running locally! + Read more? Google vs Microsoft translate diff --git a/src/ui/Forms/Main.cs b/src/ui/Forms/Main.cs index fc269914c..8ee574ed7 100644 --- a/src/ui/Forms/Main.cs +++ b/src/ui/Forms/Main.cs @@ -1926,10 +1926,11 @@ namespace Nikse.SubtitleEdit.Forms toolStripMenuItemSelectedLines.Text = _language.Menu.ContextMenu.SelectedLines; toolStripMenuItemAutoTranslate.Text = _language.Menu.AutoTranslate.Title; - genericTranslateToolStripMenuItem.Text = _language.Menu.AutoTranslate.AutoTranslate + " (OLD)"; + genericTranslateToolStripMenuItem.Text = _language.Menu.AutoTranslate.AutoTranslate; autotranslateNLLBToolStripMenuItem.Text = _language.Menu.AutoTranslate.AutoTranslate; autotranslateViaCopypasteToolStripMenuItem.Text = _language.Menu.AutoTranslate.AutoTranslateViaCopyPaste; translateToolStripMenuItem.Text = _language.Menu.AutoTranslate.AutoTranslate; + translateToolStripMenuItem.Visible = false; //TODO: remove old generic tranlsate in SE 4.0.3 or newer toolStripMenuItemTranslateSelected.Text = _language.Menu.ContextMenu.TranslateSelectedLines; adjustDisplayTimeForSelectedLinesToolStripMenuItem.Text = _language.Menu.ContextMenu.AdjustDisplayDurationForSelectedLines; fixCommonErrorsInSelectedLinesToolStripMenuItem.Text = _language.Menu.ContextMenu.FixCommonErrorsInSelectedLines; @@ -24510,8 +24511,17 @@ namespace Nikse.SubtitleEdit.Forms } } + private Panel _videoControlsHorizontal; + private NikseComboBox _videoControlsHorizontalMode; + private void SetLayout(int layout) { + if (_videoControlsHorizontal == null && (layout == 7 || layout == 8)) + { + _videoControlsHorizontal = new Panel(); + _videoControlsHorizontalMode = new NikseComboBox(); + } + var isLarge = _subtitle.Paragraphs.Count > 1000; if (isLarge) { diff --git a/src/ui/Forms/Translate/AutoTranslate.cs b/src/ui/Forms/Translate/AutoTranslate.cs index ba55fd1cd..eb9d00ed7 100644 --- a/src/ui/Forms/Translate/AutoTranslate.cs +++ b/src/ui/Forms/Translate/AutoTranslate.cs @@ -558,21 +558,14 @@ namespace Nikse.SubtitleEdit.Forms.Translate SeLogger.Error(exception); if (linesTranslate == 0) { - if (engineType == typeof(NoLanguageLeftBehindApi) || engineType == typeof(NoLanguageLeftBehindServe)) + if (engineType == typeof(NoLanguageLeftBehindApi) || engineType == typeof(NoLanguageLeftBehindServe) || engineType == typeof(LibreTranslate)) { - var dr = MessageBox.Show($"Facebook NLLB via {_autoTranslator.Name} requires an API running locally!" + Environment.NewLine - + Environment.NewLine - + "Read more?", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); - if (dr == DialogResult.Yes) - { - UiUtil.ShowHelp("#translation"); - } - } - else if (engineType == typeof(LibreTranslate)) - { - var dr = MessageBox.Show($"{_autoTranslator.Name} requires an API running locally!" + Environment.NewLine - + Environment.NewLine - + "Read more?", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); + var dr = MessageBox.Show( + string.Format(LanguageSettings.Current.GoogleTranslate.XRequiresALocalWebServer, _autoTranslator.Name) + + Environment.NewLine + + Environment.NewLine + LanguageSettings.Current.GoogleTranslate.ReadMore, + MessageBoxButtons.YesNoCancel, MessageBoxIcon.Error); + if (dr == DialogResult.Yes) { UiUtil.ShowHelp("#translation"); diff --git a/src/ui/Logic/Language.cs b/src/ui/Logic/Language.cs index 645c7d1ca..e4d67f67a 100644 --- a/src/ui/Logic/Language.cs +++ b/src/ui/Logic/Language.cs @@ -1326,6 +1326,8 @@ namespace Nikse.SubtitleEdit.Logic TranslateBlockClipboardError1 = "Clipboard contains source text!", TranslateBlockClipboardError2 = "Go to translator and translate, then copy the results to the clipboard and click this button again.", StartWebServerX = "Start \"{0}\" web server", + XRequiresALocalWebServer = "\"{0}\" requires a web server running locally!", + ReadMore = "Read more?", }; GoogleOrMicrosoftTranslate = new LanguageStructure.GoogleOrMicrosoftTranslate diff --git a/src/ui/Logic/LanguageDeserializer.cs b/src/ui/Logic/LanguageDeserializer.cs index ab3f047be..f5a30529b 100644 --- a/src/ui/Logic/LanguageDeserializer.cs +++ b/src/ui/Logic/LanguageDeserializer.cs @@ -2812,6 +2812,12 @@ namespace Nikse.SubtitleEdit.Logic case "GoogleTranslate/StartWebServerX": language.GoogleTranslate.StartWebServerX = reader.Value; break; + case "GoogleTranslate/XRequiresALocalWebServer": + language.GoogleTranslate.XRequiresALocalWebServer = reader.Value; + break; + case "GoogleTranslate/ReadMore": + language.GoogleTranslate.ReadMore = reader.Value; + break; case "GoogleOrMicrosoftTranslate/Title": language.GoogleOrMicrosoftTranslate.Title = reader.Value; break; diff --git a/src/ui/Logic/LanguageStructure.cs b/src/ui/Logic/LanguageStructure.cs index ca4229675..1364020b2 100644 --- a/src/ui/Logic/LanguageStructure.cs +++ b/src/ui/Logic/LanguageStructure.cs @@ -1148,6 +1148,8 @@ public string TranslateBlockClipboardError1 { get; set; } public string TranslateBlockClipboardError2 { get; set; } public string StartWebServerX { get; set; } + public string XRequiresALocalWebServer { get; set; } + public string ReadMore { get; set; } } public class GoogleOrMicrosoftTranslate