diff --git a/Changelog.txt b/Changelog.txt index f0ed9571e..2d6dba973 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -21,6 +21,7 @@ * Update Russian translation - thx elfriob * Update Korean translation - thx domddol * Update Portuguese translation - thx hugok79 + * Update Greek translation - thx PMitsakis * Improve "Karaoke effect" + new option - thx ivandrofly * Make "Timed Text IMSC 1.1" more compatible * Improve EBU STL preview regarding box - thx BlueMeow7 diff --git a/LanguageBaseEnglish.xml b/LanguageBaseEnglish.xml index cdef35f86..87ba2def0 100644 --- a/LanguageBaseEnglish.xml +++ b/LanguageBaseEnglish.xml @@ -197,9 +197,6 @@ Note: Do check free disk space. Engine Vosk website Whisper website - Whisper not found. - -Read more info (web)? Model Models Languages and models @@ -216,12 +213,14 @@ Read more info (web)? Batch mode Keep partial transcription Translate to English - Max. chars per subtitle line Remove temporary files Set CPP/Const-me models folder... Run only post-processing/adjust timings Download cuBLAS and cuDNN libs for Faster-Whisper No text found! + Fix casing + Add periods + Fix short duration Advanced Sub Station Alpha attachments @@ -733,6 +732,8 @@ We leverage the intrinsic rhythm of the image. Choose color: Total seconds: End delay in seconds: + Word effect + Character effect Typewriter effect @@ -3422,5 +3423,10 @@ Keep changes? Whisper Advanced - extra command line arguments Extra parameters for Whisper command line: Note: Different Whisper implementations have different command line parameters! + Standard + Standard Asia + Highlight current word + Single words + Sentence \ No newline at end of file diff --git a/src/ui/Forms/AudioToText/PostProcessingSettings.Designer.cs b/src/ui/Forms/AudioToText/PostProcessingSettings.Designer.cs index 1f6e7823e..458e64bf5 100644 --- a/src/ui/Forms/AudioToText/PostProcessingSettings.Designer.cs +++ b/src/ui/Forms/AudioToText/PostProcessingSettings.Designer.cs @@ -1,6 +1,6 @@ namespace Nikse.SubtitleEdit.Forms.AudioToText { - partial class PostProcessingSettings + sealed partial class PostProcessingSettings { /// /// Required designer variable. diff --git a/src/ui/Forms/AudioToText/PostProcessingSettings.cs b/src/ui/Forms/AudioToText/PostProcessingSettings.cs index 262e5c158..d734c6a9c 100644 --- a/src/ui/Forms/AudioToText/PostProcessingSettings.cs +++ b/src/ui/Forms/AudioToText/PostProcessingSettings.cs @@ -3,7 +3,7 @@ using System.Windows.Forms; namespace Nikse.SubtitleEdit.Forms.AudioToText { - public partial class PostProcessingSettings : Form + public sealed partial class PostProcessingSettings : Form { public bool AddPeriods { get; set; } public bool MergeLines { get; set; } @@ -19,6 +19,11 @@ namespace Nikse.SubtitleEdit.Forms.AudioToText Text = LanguageSettings.Current.Settings.Title; + checkBoxMergeShortLines.Text = LanguageSettings.Current.MergedShortLines.Title; + checkBoxFixCasing.Text = LanguageSettings.Current.AudioToText.FixCasing; + checkBoxAddPeriods.Text = LanguageSettings.Current.AudioToText.AddPeriods; + checkBoxFixShortDuration.Text = LanguageSettings.Current.AudioToText.FixShortDuration; + checkBoxSplitLongLines.Text = LanguageSettings.Current.SplitLongLines.Title; buttonOK.Text = LanguageSettings.Current.General.Ok; buttonCancel.Text = LanguageSettings.Current.General.Cancel; } diff --git a/src/ui/Forms/AudioToText/WhisperAdvanced.Designer.cs b/src/ui/Forms/AudioToText/WhisperAdvanced.Designer.cs index ecf07fb5f..d409adf08 100644 --- a/src/ui/Forms/AudioToText/WhisperAdvanced.Designer.cs +++ b/src/ui/Forms/AudioToText/WhisperAdvanced.Designer.cs @@ -44,7 +44,7 @@ namespace Nikse.SubtitleEdit.Forms.AudioToText this.textBoxOpenAI = new Nikse.SubtitleEdit.Controls.NikseTextBox(); this.tabPageFasterWhisper = new System.Windows.Forms.TabPage(); this.buttonStandardAsia = new System.Windows.Forms.Button(); - this.button1 = new System.Windows.Forms.Button(); + this.buttonHighlightCurrentWord = new System.Windows.Forms.Button(); this.buttonStandard = new System.Windows.Forms.Button(); this.buttonSentence = new System.Windows.Forms.Button(); this.buttonSingleWords = new System.Windows.Forms.Button(); @@ -197,7 +197,7 @@ namespace Nikse.SubtitleEdit.Forms.AudioToText // tabPageFasterWhisper // this.tabPageFasterWhisper.Controls.Add(this.buttonStandardAsia); - this.tabPageFasterWhisper.Controls.Add(this.button1); + this.tabPageFasterWhisper.Controls.Add(this.buttonHighlightCurrentWord); this.tabPageFasterWhisper.Controls.Add(this.buttonStandard); this.tabPageFasterWhisper.Controls.Add(this.buttonSentence); this.tabPageFasterWhisper.Controls.Add(this.buttonSingleWords); @@ -221,16 +221,16 @@ namespace Nikse.SubtitleEdit.Forms.AudioToText this.buttonStandardAsia.UseVisualStyleBackColor = true; this.buttonStandardAsia.Click += new System.EventHandler(this.buttonStandardAsia_Click); // - // button1 + // buttonHighlightCurrentWord // - this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.button1.Location = new System.Drawing.Point(622, 390); - this.button1.Name = "button1"; - this.button1.Size = new System.Drawing.Size(180, 23); - this.button1.TabIndex = 18; - this.button1.Text = "Highlight current word"; - this.button1.UseVisualStyleBackColor = true; - this.button1.Click += new System.EventHandler(this.button1_Click); + this.buttonHighlightCurrentWord.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.buttonHighlightCurrentWord.Location = new System.Drawing.Point(622, 390); + this.buttonHighlightCurrentWord.Name = "buttonHighlightCurrentWord"; + this.buttonHighlightCurrentWord.Size = new System.Drawing.Size(180, 23); + this.buttonHighlightCurrentWord.TabIndex = 18; + this.buttonHighlightCurrentWord.Text = "Highlight current word"; + this.buttonHighlightCurrentWord.UseVisualStyleBackColor = true; + this.buttonHighlightCurrentWord.Click += new System.EventHandler(this.button1_Click); // // buttonStandard // @@ -360,7 +360,7 @@ namespace Nikse.SubtitleEdit.Forms.AudioToText private Button buttonSingleWords; private Button buttonStandard; private Button buttonSentence; - private Button button1; + private Button buttonHighlightCurrentWord; private Button buttonStandardAsia; } } \ No newline at end of file diff --git a/src/ui/Forms/AudioToText/WhisperAdvanced.cs b/src/ui/Forms/AudioToText/WhisperAdvanced.cs index 9cf38fb90..c871da86c 100644 --- a/src/ui/Forms/AudioToText/WhisperAdvanced.cs +++ b/src/ui/Forms/AudioToText/WhisperAdvanced.cs @@ -32,6 +32,11 @@ namespace Nikse.SubtitleEdit.Forms.AudioToText labelNote.Text = LanguageSettings.Current.WhisperAdvanced.Info; buttonOK.Text = LanguageSettings.Current.General.Ok; buttonCancel.Text = LanguageSettings.Current.General.Cancel; + buttonStandard.Text = LanguageSettings.Current.WhisperAdvanced.Standard; + buttonStandardAsia.Text = LanguageSettings.Current.WhisperAdvanced.StandardAsia; + buttonHighlightCurrentWord.Text = LanguageSettings.Current.WhisperAdvanced.HighlightCurrentWord; + buttonSingleWords.Text = LanguageSettings.Current.WhisperAdvanced.SingleWords; + buttonSentence.Text = LanguageSettings.Current.WhisperAdvanced.Sentence; comboBoxWhisperExtra.Text = Configuration.Settings.Tools.WhisperExtraSettings; if (whisperEngine == WhisperChoice.Cpp || whisperEngine == WhisperChoice.CppCuBlas) diff --git a/src/ui/Forms/EffectKaraoke.cs b/src/ui/Forms/EffectKaraoke.cs index c53373ad8..9873efdfd 100644 --- a/src/ui/Forms/EffectKaraoke.cs +++ b/src/ui/Forms/EffectKaraoke.cs @@ -27,6 +27,8 @@ namespace Nikse.SubtitleEdit.Forms buttonPreview.Text = LanguageSettings.Current.General.Preview; buttonOK.Text = LanguageSettings.Current.General.Ok; buttonCancel.Text = LanguageSettings.Current.General.Cancel; + radioButtonByWordEffect.Text = LanguageSettings.Current.EffectKaraoke.WordEffect; + radioButtonByCharEffect.Text = LanguageSettings.Current.EffectKaraoke.CharacterEffect; UiUtil.FixLargeFonts(this, buttonOK); } diff --git a/src/ui/Logic/Language.cs b/src/ui/Logic/Language.cs index 0efaaa18b..b6929f292 100644 --- a/src/ui/Logic/Language.cs +++ b/src/ui/Logic/Language.cs @@ -352,7 +352,6 @@ namespace Nikse.SubtitleEdit.Logic Engine = "Engine", VoskWebsite = "Vosk website", WhisperWebsite = "Whisper website", - WhisperNotFound = "Whisper not found.\r\n\r\nRead more info (web)?", Model = "Model", Models = "Models", LanguagesAndModels = "Languages and models", @@ -369,12 +368,14 @@ namespace Nikse.SubtitleEdit.Logic XFilesSavedToVideoSourceFolder = "{0} files saved to video source folder", KeepPartialTranscription = "Keep partial transcription", TranslateToEnglish = "Translate to English", - MaxCharsPerSubtitle = "Max. chars per subtitle line", RemoveTemporaryFiles = "Remove temporary files", SetCppConstMeFolder = "Set CPP/Const-me models folder...", OnlyRunPostProcessing = "Run only post-processing/adjust timings", DownloadFasterWhisperCuda = "Download cuBLAS and cuDNN libs for Faster-Whisper", NoTextFound = "No text found!", + FixCasing = "Fix casing", + AddPeriods = "Add periods", + FixShortDuration = "Fix short duration", }; AssaAttachments = new LanguageStructure.AssaAttachments @@ -962,6 +963,8 @@ namespace Nikse.SubtitleEdit.Logic ChooseColor = "Choose color:", TotalSeconds = "Total seconds:", EndDelayInSeconds = "End delay in seconds:", + WordEffect = "Word effect", + CharacterEffect = "Character effect", }; EffectTypewriter = new LanguageStructure.EffectTypewriter @@ -3852,6 +3855,11 @@ Keep changes?", Title = "Whisper Advanced - extra command line arguments", CommandLineArguments = "Extra parameters for Whisper command line:", Info = "Note: Different Whisper implementations have different command line parameters!", + Standard = "Standard", + StandardAsia = "Standard Asia", + HighlightCurrentWord = "Highlight current word", + Sentence = "Sentence", + SingleWords = "Single words", }; } diff --git a/src/ui/Logic/LanguageDeserializer.cs b/src/ui/Logic/LanguageDeserializer.cs index e0460c95e..b0b11ec55 100644 --- a/src/ui/Logic/LanguageDeserializer.cs +++ b/src/ui/Logic/LanguageDeserializer.cs @@ -538,9 +538,6 @@ namespace Nikse.SubtitleEdit.Logic case "AudioToText/WhisperWebsite": language.AudioToText.WhisperWebsite = reader.Value; break; - case "AudioToText/WhisperNotFound": - language.AudioToText.WhisperNotFound = reader.Value; - break; case "AudioToText/Model": language.AudioToText.Model = reader.Value; break; @@ -589,9 +586,6 @@ namespace Nikse.SubtitleEdit.Logic case "AudioToText/TranslateToEnglish": language.AudioToText.TranslateToEnglish = reader.Value; break; - case "AudioToText/MaxCharsPerSubtitle": - language.AudioToText.MaxCharsPerSubtitle = reader.Value; - break; case "AudioToText/RemoveTemporaryFiles": language.AudioToText.RemoveTemporaryFiles = reader.Value; break; @@ -607,6 +601,15 @@ namespace Nikse.SubtitleEdit.Logic case "AudioToText/NoTextFound": language.AudioToText.NoTextFound = reader.Value; break; + case "AudioToText/FixCasing": + language.AudioToText.FixCasing = reader.Value; + break; + case "AudioToText/AddPeriods": + language.AudioToText.AddPeriods = reader.Value; + break; + case "AudioToText/FixShortDuration": + language.AudioToText.FixShortDuration = reader.Value; + break; case "AssaAttachments/Title": language.AssaAttachments.Title = reader.Value; break; @@ -1909,6 +1912,12 @@ namespace Nikse.SubtitleEdit.Logic case "EffectKaraoke/EndDelayInSeconds": language.EffectKaraoke.EndDelayInSeconds = reader.Value; break; + case "EffectKaraoke/WordEffect": + language.EffectKaraoke.WordEffect = reader.Value; + break; + case "EffectKaraoke/CharacterEffect": + language.EffectKaraoke.CharacterEffect = reader.Value; + break; case "EffectTypewriter/Title": language.EffectTypewriter.Title = reader.Value; break; @@ -9319,6 +9328,21 @@ namespace Nikse.SubtitleEdit.Logic case "WhisperAdvanced/Info": language.WhisperAdvanced.Info = reader.Value; break; + case "WhisperAdvanced/Standard": + language.WhisperAdvanced.Standard = reader.Value; + break; + case "WhisperAdvanced/StandardAsia": + language.WhisperAdvanced.StandardAsia = reader.Value; + break; + case "WhisperAdvanced/HighlightCurrentWord": + language.WhisperAdvanced.HighlightCurrentWord = reader.Value; + break; + case "WhisperAdvanced/SingleWords": + language.WhisperAdvanced.SingleWords = reader.Value; + break; + case "WhisperAdvanced/Sentence": + language.WhisperAdvanced.Sentence = reader.Value; + break; } } diff --git a/src/ui/Logic/LanguageStructure.cs b/src/ui/Logic/LanguageStructure.cs index 7e3d1c3cc..966a65639 100644 --- a/src/ui/Logic/LanguageStructure.cs +++ b/src/ui/Logic/LanguageStructure.cs @@ -201,7 +201,6 @@ public string Engine { get; set; } public string VoskWebsite { get; set; } public string WhisperWebsite { get; set; } - public string WhisperNotFound { get; set; } public string Model { get; set; } public string Models { get; set; } public string LanguagesAndModels { get; set; } @@ -218,12 +217,14 @@ public string BatchMode { get; set; } public string KeepPartialTranscription { get; set; } public string TranslateToEnglish { get; set; } - public string MaxCharsPerSubtitle { get; set; } public string RemoveTemporaryFiles { get; set; } public string SetCppConstMeFolder { get; set; } public string OnlyRunPostProcessing { get; set; } public string DownloadFasterWhisperCuda { get; set; } public string NoTextFound { get; set; } + public string FixCasing { get; set; } + public string AddPeriods { get; set; } + public string FixShortDuration { get; set; } } public class AssaAttachments @@ -783,6 +784,8 @@ public string ChooseColor { get; set; } public string TotalSeconds { get; set; } public string EndDelayInSeconds { get; set; } + public string WordEffect { get; set; } + public string CharacterEffect { get; set; } } public class EffectTypewriter @@ -3660,6 +3663,11 @@ public string Title { get; set; } public string CommandLineArguments { get; set; } public string Info { get; set; } + public string Standard { get; set; } + public string StandardAsia { get; set; } + public string HighlightCurrentWord { get; set; } + public string SingleWords { get; set; } + public string Sentence { get; set; } } } }