diff --git a/LanguageBaseEnglish.xml b/LanguageBaseEnglish.xml index 3b758ecca..9c6db6ed6 100644 --- a/LanguageBaseEnglish.xml +++ b/LanguageBaseEnglish.xml @@ -10,6 +10,7 @@ C&ancel Yes No + Close Apply Apply to None @@ -404,6 +405,13 @@ Please click "{0}" to generate or import shot changes first, or disable this opt Align time codes to frame time codes Use exact time codes (if available) Snap cues to shot changes (if available) + Review not fully chained subtitles + Some subtitles were not fully chained in accordance with your profile, most likely due to too tightly clustered shot changes (possibly false positives). + +You might want to review these cases manually to ensure your cues are snapped to the correct (real) shot changes. + Lines + #{0} – #{1} + Gap (frames) Edit profile @@ -427,6 +435,7 @@ Please click "{0}" to generate or import shot changes first, or disable this opt Chaining In cue on shot change Out cue on shot change + Still enforce General rules when unaffected Max. gap: If there is a shot change in between: Don't chain @@ -1051,9 +1060,9 @@ We leverage the intrinsic rhythm of the image. Powered by {0} Sorry, you need a Cognitive Services 'Translator Text' key from Microsoft to use the latest Microsoft Translator. -Go to "Options -> Settings -> Tools" to enter your key. +Go to "Options -> Settings -> Auto-translate" to enter your key. Trying to translate without API key... (slow and limited data). -To use an API key, go to "Options -> Settings -> Tools" to enter your Google translate API key. +To use an API key, go to "Options -> Settings -> Auto-translate" to enter your Google translate API key. Service: Line merge: Merge max two lines @@ -1319,6 +1328,7 @@ To use an API key, go to "Options -> Settings -> Tools" to enter your Goog Close translated subtitle Open containing folder &Compare... + Verify completeness... S&tatistics... &Plugins... Subtitle from video file... @@ -1565,6 +1575,7 @@ To use an API key, go to "Options -> Settings -> Tools" to enter your Goog Subscript Alignment... Auto balance selected lines... + Evenly distribute selected lines (CPS) Remove line-breaks from selected lines... Typewriter effect... Karaoke effect... @@ -1836,6 +1847,8 @@ Continue? Sorted by: {0} Before auto balance selected lines Number of auto balanced lines: {0} + Before evenly distribute selected lines + Number of evenly distributed lines: {0} Before remove line-breaks from selected lines Number of lines with removed line-break: {0} Before multiple replace @@ -2609,6 +2622,7 @@ can edit in same subtitle file (collaboration) Merge dialog with next (insert dashes) Merge dialog with previous (insert dashes) Auto balance selected lines + Evenly distribute selected lines (CPS) Go to next line Go to next line (and play in 'Translate mode') Go to next line and set cursor at end @@ -3151,6 +3165,21 @@ Continue? If you want this fixed, please send an email to mailto:niksedk@gmail.com and include a copy of the subtitle. Import as plain text... + + Verify completeness against other subtitle + Open control subtitle + Control subtitle is empty or could not be loaded. + Control subtitle: {0} + Coverage + {0:0.##}% + Sort by coverage + Sort by time + Re-verify + Insert + Insert and go to next + Dismiss + Dismiss and go to next + Visual sync Start scene diff --git a/src/ui/Logic/Language.cs b/src/ui/Logic/Language.cs index 1f2837b20..8a9b0fa01 100644 --- a/src/ui/Logic/Language.cs +++ b/src/ui/Logic/Language.cs @@ -1320,8 +1320,8 @@ namespace Nikse.SubtitleEdit.Logic PoweredByX = "Powered by {0}", MsClientSecretNeeded = "Sorry, you need a Cognitive Services 'Translator Text' key from Microsoft to use the latest Microsoft Translator." + Environment.NewLine + Environment.NewLine + - "Go to \"Options -> Settings -> Tools\" to enter your key.", - GoogleNoApiKeyWarning = "Trying to translate without API key... (slow and limited data). " + Environment.NewLine + "To use an API key, go to \"Options -> Settings -> Tools\" to enter your Google translate API key.", + "Go to \"Options -> Settings -> Auto-translate\" to enter your key.", + GoogleNoApiKeyWarning = "Trying to translate without API key... (slow and limited data). " + Environment.NewLine + "To use an API key, go to \"Options -> Settings -> Auto-translate\" to enter your Google translate API key.", Service = "Service:", LineMergeHandling = "Line merge:", ProcessorMergeNext = "Merge max two lines", diff --git a/src/ui/Logic/LanguageDeserializer.cs b/src/ui/Logic/LanguageDeserializer.cs index ef47c4255..e94b8a4df 100644 --- a/src/ui/Logic/LanguageDeserializer.cs +++ b/src/ui/Logic/LanguageDeserializer.cs @@ -85,6 +85,9 @@ namespace Nikse.SubtitleEdit.Logic case "General/No": language.General.No = reader.Value; break; + case "General/Close": + language.General.Close = reader.Value; + break; case "General/Apply": language.General.Apply = reader.Value; break; @@ -1081,6 +1084,21 @@ namespace Nikse.SubtitleEdit.Logic case "BeautifyTimeCodes/BatchSnapToShotChanges": language.BeautifyTimeCodes.BatchSnapToShotChanges = reader.Value; break; + case "BeautifyTimeCodes/UnfixableParagraphsTitle": + language.BeautifyTimeCodes.UnfixableParagraphsTitle = reader.Value; + break; + case "BeautifyTimeCodes/UnfixableParagraphsInstructions": + language.BeautifyTimeCodes.UnfixableParagraphsInstructions = reader.Value; + break; + case "BeautifyTimeCodes/UnfixableParagraphsColumnParagraphs": + language.BeautifyTimeCodes.UnfixableParagraphsColumnParagraphs = reader.Value; + break; + case "BeautifyTimeCodes/UnfixableParagraphsColumnParagraphsFormat": + language.BeautifyTimeCodes.UnfixableParagraphsColumnParagraphsFormat = reader.Value; + break; + case "BeautifyTimeCodes/UnfixableParagraphsColumnGap": + language.BeautifyTimeCodes.UnfixableParagraphsColumnGap = reader.Value; + break; case "BeautifyTimeCodesProfile/Title": language.BeautifyTimeCodesProfile.Title = reader.Value; break; @@ -1144,6 +1162,9 @@ namespace Nikse.SubtitleEdit.Logic case "BeautifyTimeCodesProfile/OutCueOnShot": language.BeautifyTimeCodesProfile.OutCueOnShot = reader.Value; break; + case "BeautifyTimeCodesProfile/CheckGeneral": + language.BeautifyTimeCodesProfile.CheckGeneral = reader.Value; + break; case "BeautifyTimeCodesProfile/MaxGap": language.BeautifyTimeCodesProfile.MaxGap = reader.Value; break; @@ -3982,6 +4003,12 @@ namespace Nikse.SubtitleEdit.Logic case "Main/NumberOfLinesAutoBalancedX": language.Main.NumberOfLinesAutoBalancedX = reader.Value; break; + case "Main/BeforeEvenlyDistributeSelectedLines": + language.Main.BeforeEvenlyDistributeSelectedLines = reader.Value; + break; + case "Main/NumberOfLinesEvenlyDistributedX": + language.Main.NumberOfLinesEvenlyDistributedX = reader.Value; + break; case "Main/BeforeRemoveLineBreaksInSelectedLines": language.Main.BeforeRemoveLineBreaksInSelectedLines = reader.Value; break; @@ -4357,6 +4384,9 @@ namespace Nikse.SubtitleEdit.Logic case "Main/Menu/File/Compare": language.Main.Menu.File.Compare = reader.Value; break; + case "Main/Menu/File/VerifyCompleteness": + language.Main.Menu.File.VerifyCompleteness = reader.Value; + break; case "Main/Menu/File/Statistics": language.Main.Menu.File.Statistics = reader.Value; break; @@ -5029,6 +5059,9 @@ namespace Nikse.SubtitleEdit.Logic case "Main/Menu/ContextMenu/AutoBalanceSelectedLines": language.Main.Menu.ContextMenu.AutoBalanceSelectedLines = reader.Value; break; + case "Main/Menu/ContextMenu/EvenlyDistributeSelectedLines": + language.Main.Menu.ContextMenu.EvenlyDistributeSelectedLines = reader.Value; + break; case "Main/Menu/ContextMenu/RemoveLineBreaksFromSelectedLines": language.Main.Menu.ContextMenu.RemoveLineBreaksFromSelectedLines = reader.Value; break; @@ -7114,6 +7147,9 @@ namespace Nikse.SubtitleEdit.Logic case "Settings/AutoBalanceSelectedLines": language.Settings.AutoBalanceSelectedLines = reader.Value; break; + case "Settings/EvenlyDistributeSelectedLines": + language.Settings.EvenlyDistributeSelectedLines = reader.Value; + break; case "Settings/GoToNext": language.Settings.GoToNext = reader.Value; break; @@ -8611,6 +8647,45 @@ namespace Nikse.SubtitleEdit.Logic case "UnknownSubtitle/ImportAsPlainText": language.UnknownSubtitle.ImportAsPlainText = reader.Value; break; + case "VerifyCompleteness/Title": + language.VerifyCompleteness.Title = reader.Value; + break; + case "VerifyCompleteness/OpenControlSubtitle": + language.VerifyCompleteness.OpenControlSubtitle = reader.Value; + break; + case "VerifyCompleteness/ControlSubtitleError": + language.VerifyCompleteness.ControlSubtitleError = reader.Value; + break; + case "VerifyCompleteness/ControlSubtitleX": + language.VerifyCompleteness.ControlSubtitleX = reader.Value; + break; + case "VerifyCompleteness/Coverage": + language.VerifyCompleteness.Coverage = reader.Value; + break; + case "VerifyCompleteness/CoveragePercentageX": + language.VerifyCompleteness.CoveragePercentageX = reader.Value; + break; + case "VerifyCompleteness/SortByCoverage": + language.VerifyCompleteness.SortByCoverage = reader.Value; + break; + case "VerifyCompleteness/SortByTime": + language.VerifyCompleteness.SortByTime = reader.Value; + break; + case "VerifyCompleteness/Reload": + language.VerifyCompleteness.Reload = reader.Value; + break; + case "VerifyCompleteness/Insert": + language.VerifyCompleteness.Insert = reader.Value; + break; + case "VerifyCompleteness/InsertAndNext": + language.VerifyCompleteness.InsertAndNext = reader.Value; + break; + case "VerifyCompleteness/Dismiss": + language.VerifyCompleteness.Dismiss = reader.Value; + break; + case "VerifyCompleteness/DismissAndNext": + language.VerifyCompleteness.DismissAndNext = reader.Value; + break; case "VisualSync/Title": language.VisualSync.Title = reader.Value; break;