diff --git a/LanguageBaseEnglish.xml b/LanguageBaseEnglish.xml
index cd9b66f98..f47d2cb64 100644
--- a/LanguageBaseEnglish.xml
+++ b/LanguageBaseEnglish.xml
@@ -3408,7 +3408,7 @@ Keep changes?
Remove shot changes from selection
Guess time codes...
Seek silence...
- Insert subtitle here...
+ Insert subtitle here
CPS: {0:0.00}
WPM: {0:0.00}
diff --git a/src/ui/Forms/Main.Designer.cs b/src/ui/Forms/Main.Designer.cs
index 02660f86c..3f3f07806 100644
--- a/src/ui/Forms/Main.Designer.cs
+++ b/src/ui/Forms/Main.Designer.cs
@@ -41,9 +41,9 @@ namespace Nikse.SubtitleEdit.Forms
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Main));
- Nikse.SubtitleEdit.Core.Common.TimeCode timeCode13 = new Nikse.SubtitleEdit.Core.Common.TimeCode();
- Nikse.SubtitleEdit.Core.Common.TimeCode timeCode14 = new Nikse.SubtitleEdit.Core.Common.TimeCode();
- Nikse.SubtitleEdit.Core.Common.TimeCode timeCode15 = new Nikse.SubtitleEdit.Core.Common.TimeCode();
+ Nikse.SubtitleEdit.Core.Common.TimeCode timeCode1 = new Nikse.SubtitleEdit.Core.Common.TimeCode();
+ Nikse.SubtitleEdit.Core.Common.TimeCode timeCode2 = new Nikse.SubtitleEdit.Core.Common.TimeCode();
+ Nikse.SubtitleEdit.Core.Common.TimeCode timeCode3 = new Nikse.SubtitleEdit.Core.Common.TimeCode();
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.labelStatus = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripSelected = new System.Windows.Forms.ToolStripStatusLabel();
@@ -366,6 +366,9 @@ namespace Nikse.SubtitleEdit.Forms
this.audioVisualizer = new Nikse.SubtitleEdit.Controls.AudioVisualizer();
this.checkBoxSyncListViewWithVideoWhilePlaying = new System.Windows.Forms.CheckBox();
this.labelVideoInfo = new System.Windows.Forms.Label();
+ this.contextMenuStripVideoFileName = new System.Windows.Forms.ContextMenuStrip(this.components);
+ this.videoInfoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.openContainingFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.trackBarWaveformPosition = new System.Windows.Forms.TrackBar();
this.panelWaveformControls = new System.Windows.Forms.Panel();
this.toolStripWaveControls = new System.Windows.Forms.ToolStrip();
@@ -442,6 +445,7 @@ namespace Nikse.SubtitleEdit.Forms
this.timerAutoContinue = new System.Windows.Forms.Timer(this.components);
this.timerWaveform = new System.Windows.Forms.Timer(this.components);
this.contextMenuStripWaveform = new System.Windows.Forms.ContextMenuStrip(this.components);
+ this.insertNewSubtitleHereToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.addParagraphHereToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.addParagraphAndPasteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItemSetParagraphAsSelection = new System.Windows.Forms.ToolStripMenuItem();
@@ -582,14 +586,12 @@ namespace Nikse.SubtitleEdit.Forms
this.timerOriginalTextUndo = new System.Windows.Forms.Timer(this.components);
this.contextMenuStripShowVideoControls = new System.Windows.Forms.ContextMenuStrip(this.components);
this.toolStripMenuItemShowVideoControls = new System.Windows.Forms.ToolStripMenuItem();
- this.contextMenuStripVideoFileName = new System.Windows.Forms.ContextMenuStrip(this.components);
- this.videoInfoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.openContainingFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.statusStrip1.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.menuStrip1.SuspendLayout();
this.contextMenuStripListView.SuspendLayout();
this.groupBoxVideo.SuspendLayout();
+ this.contextMenuStripVideoFileName.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.trackBarWaveformPosition)).BeginInit();
this.panelWaveformControls.SuspendLayout();
this.toolStripWaveControls.SuspendLayout();
@@ -623,7 +625,6 @@ namespace Nikse.SubtitleEdit.Forms
this.panelVideoPlayer.SuspendLayout();
this.contextMenuStripEmpty.SuspendLayout();
this.contextMenuStripShowVideoControls.SuspendLayout();
- this.contextMenuStripVideoFileName.SuspendLayout();
this.SuspendLayout();
//
// statusStrip1
@@ -3413,6 +3414,29 @@ namespace Nikse.SubtitleEdit.Forms
this.labelVideoInfo.Text = "No video file loaded";
this.labelVideoInfo.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
+ // contextMenuStripVideoFileName
+ //
+ this.contextMenuStripVideoFileName.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.videoInfoToolStripMenuItem,
+ this.openContainingFolderToolStripMenuItem});
+ this.contextMenuStripVideoFileName.Name = "contextMenuStripVideoFileName";
+ this.contextMenuStripVideoFileName.Size = new System.Drawing.Size(198, 48);
+ this.contextMenuStripVideoFileName.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStripVideoFileName_Opening);
+ //
+ // videoInfoToolStripMenuItem
+ //
+ this.videoInfoToolStripMenuItem.Name = "videoInfoToolStripMenuItem";
+ this.videoInfoToolStripMenuItem.Size = new System.Drawing.Size(197, 22);
+ this.videoInfoToolStripMenuItem.Text = "Video info";
+ this.videoInfoToolStripMenuItem.Click += new System.EventHandler(this.videoInfoToolStripMenuItem_Click);
+ //
+ // openContainingFolderToolStripMenuItem
+ //
+ this.openContainingFolderToolStripMenuItem.Name = "openContainingFolderToolStripMenuItem";
+ this.openContainingFolderToolStripMenuItem.Size = new System.Drawing.Size(197, 22);
+ this.openContainingFolderToolStripMenuItem.Text = "Open containing folder";
+ this.openContainingFolderToolStripMenuItem.Click += new System.EventHandler(this.openContainingFolderToolStripMenuItem_Click);
+ //
// trackBarWaveformPosition
//
this.trackBarWaveformPosition.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
@@ -3890,14 +3914,14 @@ namespace Nikse.SubtitleEdit.Forms
this.timeUpDownVideoPosition.Size = new System.Drawing.Size(113, 23);
this.timeUpDownVideoPosition.TabIndex = 12;
this.timeUpDownVideoPosition.TabStop = false;
- timeCode13.Hours = 0;
- timeCode13.Milliseconds = 0;
- timeCode13.Minutes = 0;
- timeCode13.Seconds = 0;
- timeCode13.TimeSpan = System.TimeSpan.Parse("00:00:00");
- timeCode13.TotalMilliseconds = 0D;
- timeCode13.TotalSeconds = 0D;
- this.timeUpDownVideoPosition.TimeCode = timeCode13;
+ timeCode1.Hours = 0;
+ timeCode1.Milliseconds = 0;
+ timeCode1.Minutes = 0;
+ timeCode1.Seconds = 0;
+ timeCode1.TimeSpan = System.TimeSpan.Parse("00:00:00");
+ timeCode1.TotalMilliseconds = 0D;
+ timeCode1.TotalSeconds = 0D;
+ this.timeUpDownVideoPosition.TimeCode = timeCode1;
this.timeUpDownVideoPosition.UseVideoOffset = false;
//
// buttonGotoSub
@@ -4170,14 +4194,14 @@ namespace Nikse.SubtitleEdit.Forms
this.timeUpDownVideoPositionAdjust.Size = new System.Drawing.Size(113, 23);
this.timeUpDownVideoPositionAdjust.TabIndex = 13;
this.timeUpDownVideoPositionAdjust.TabStop = false;
- timeCode14.Hours = 0;
- timeCode14.Milliseconds = 0;
- timeCode14.Minutes = 0;
- timeCode14.Seconds = 0;
- timeCode14.TimeSpan = System.TimeSpan.Parse("00:00:00");
- timeCode14.TotalMilliseconds = 0D;
- timeCode14.TotalSeconds = 0D;
- this.timeUpDownVideoPositionAdjust.TimeCode = timeCode14;
+ timeCode2.Hours = 0;
+ timeCode2.Milliseconds = 0;
+ timeCode2.Minutes = 0;
+ timeCode2.Seconds = 0;
+ timeCode2.TimeSpan = System.TimeSpan.Parse("00:00:00");
+ timeCode2.TotalMilliseconds = 0D;
+ timeCode2.TotalSeconds = 0D;
+ this.timeUpDownVideoPositionAdjust.TimeCode = timeCode2;
this.timeUpDownVideoPositionAdjust.UseVideoOffset = false;
//
// buttonAdjustSetEndTime
@@ -4449,6 +4473,7 @@ namespace Nikse.SubtitleEdit.Forms
// contextMenuStripWaveform
//
this.contextMenuStripWaveform.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.insertNewSubtitleHereToolStripMenuItem,
this.addParagraphHereToolStripMenuItem,
this.addParagraphAndPasteToolStripMenuItem,
this.toolStripMenuItemSetParagraphAsSelection,
@@ -4476,10 +4501,17 @@ namespace Nikse.SubtitleEdit.Forms
this.seekSilenceToolStripMenuItem,
this.insertSubtitleHereToolStripMenuItem});
this.contextMenuStripWaveform.Name = "contextMenuStripWaveform";
- this.contextMenuStripWaveform.Size = new System.Drawing.Size(275, 512);
+ this.contextMenuStripWaveform.Size = new System.Drawing.Size(275, 534);
this.contextMenuStripWaveform.Closing += new System.Windows.Forms.ToolStripDropDownClosingEventHandler(this.ContextMenuStripWaveformClosing);
this.contextMenuStripWaveform.Opening += new System.ComponentModel.CancelEventHandler(this.ContextMenuStripWaveformOpening);
//
+ // insertNewSubtitleHereToolStripMenuItem
+ //
+ this.insertNewSubtitleHereToolStripMenuItem.Name = "insertNewSubtitleHereToolStripMenuItem";
+ this.insertNewSubtitleHereToolStripMenuItem.Size = new System.Drawing.Size(274, 22);
+ this.insertNewSubtitleHereToolStripMenuItem.Text = "Insert subtitle here";
+ this.insertNewSubtitleHereToolStripMenuItem.Click += new System.EventHandler(this.insertNewSubtitleHereToolStripMenuItem_Click);
+ //
// addParagraphHereToolStripMenuItem
//
this.addParagraphHereToolStripMenuItem.Name = "addParagraphHereToolStripMenuItem";
@@ -5526,14 +5558,14 @@ namespace Nikse.SubtitleEdit.Forms
this.timeUpDownStartTime.Size = new System.Drawing.Size(113, 23);
this.timeUpDownStartTime.TabIndex = 0;
this.timeUpDownStartTime.TabStop = false;
- timeCode15.Hours = 0;
- timeCode15.Milliseconds = 0;
- timeCode15.Minutes = 0;
- timeCode15.Seconds = 0;
- timeCode15.TimeSpan = System.TimeSpan.Parse("00:00:00");
- timeCode15.TotalMilliseconds = 0D;
- timeCode15.TotalSeconds = 0D;
- this.timeUpDownStartTime.TimeCode = timeCode15;
+ timeCode3.Hours = 0;
+ timeCode3.Milliseconds = 0;
+ timeCode3.Minutes = 0;
+ timeCode3.Seconds = 0;
+ timeCode3.TimeSpan = System.TimeSpan.Parse("00:00:00");
+ timeCode3.TotalMilliseconds = 0D;
+ timeCode3.TotalSeconds = 0D;
+ this.timeUpDownStartTime.TimeCode = timeCode3;
this.timeUpDownStartTime.UseVideoOffset = false;
//
// numericUpDownDuration
@@ -5887,29 +5919,6 @@ namespace Nikse.SubtitleEdit.Forms
this.toolStripMenuItemShowVideoControls.Text = "Show video controls";
this.toolStripMenuItemShowVideoControls.Click += new System.EventHandler(this.ToolStripMenuItemShowVideoControlsClick);
//
- // contextMenuStripVideoFileName
- //
- this.contextMenuStripVideoFileName.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.videoInfoToolStripMenuItem,
- this.openContainingFolderToolStripMenuItem});
- this.contextMenuStripVideoFileName.Name = "contextMenuStripVideoFileName";
- this.contextMenuStripVideoFileName.Size = new System.Drawing.Size(198, 48);
- this.contextMenuStripVideoFileName.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStripVideoFileName_Opening);
- //
- // videoInfoToolStripMenuItem
- //
- this.videoInfoToolStripMenuItem.Name = "videoInfoToolStripMenuItem";
- this.videoInfoToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
- this.videoInfoToolStripMenuItem.Text = "Video info";
- this.videoInfoToolStripMenuItem.Click += new System.EventHandler(this.videoInfoToolStripMenuItem_Click);
- //
- // openContainingFolderToolStripMenuItem
- //
- this.openContainingFolderToolStripMenuItem.Name = "openContainingFolderToolStripMenuItem";
- this.openContainingFolderToolStripMenuItem.Size = new System.Drawing.Size(197, 22);
- this.openContainingFolderToolStripMenuItem.Text = "Open containing folder";
- this.openContainingFolderToolStripMenuItem.Click += new System.EventHandler(this.openContainingFolderToolStripMenuItem_Click);
- //
// Main
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@@ -5942,6 +5951,7 @@ namespace Nikse.SubtitleEdit.Forms
this.contextMenuStripListView.ResumeLayout(false);
this.groupBoxVideo.ResumeLayout(false);
this.groupBoxVideo.PerformLayout();
+ this.contextMenuStripVideoFileName.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.trackBarWaveformPosition)).EndInit();
this.panelWaveformControls.ResumeLayout(false);
this.panelWaveformControls.PerformLayout();
@@ -5986,7 +5996,6 @@ namespace Nikse.SubtitleEdit.Forms
this.panelVideoPlayer.ResumeLayout(false);
this.contextMenuStripEmpty.ResumeLayout(false);
this.contextMenuStripShowVideoControls.ResumeLayout(false);
- this.contextMenuStripVideoFileName.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
@@ -6535,5 +6544,6 @@ namespace Nikse.SubtitleEdit.Forms
private ContextMenuStrip contextMenuStripVideoFileName;
private ToolStripMenuItem videoInfoToolStripMenuItem;
private ToolStripMenuItem openContainingFolderToolStripMenuItem;
+ private ToolStripMenuItem insertNewSubtitleHereToolStripMenuItem;
}
}
\ No newline at end of file
diff --git a/src/ui/Forms/Main.cs b/src/ui/Forms/Main.cs
index 3aea5bc00..12b278153 100644
--- a/src/ui/Forms/Main.cs
+++ b/src/ui/Forms/Main.cs
@@ -807,7 +807,7 @@ namespace Nikse.SubtitleEdit.Forms
private void AudioVisualizerInsertAtVideoPosition(object sender, EventArgs e)
{
- InsertNewTextAtVideoPosition(false);
+ InsertNewTextAtVideoPosition(false, mediaPlayer.CurrentPosition * TimeCode.BaseUnit);
}
private void AudioVisualizerPasteAtVideoPosition(object sender, EventArgs e)
@@ -975,6 +975,11 @@ namespace Nikse.SubtitleEdit.Forms
addShotChangeToolStripMenuItem.Visible = true;
}
+ var ms = e.Seconds * 1000.0;
+ var paragraphsHere = _subtitle.Paragraphs
+ .Count(p => ms > p.StartTime.TotalMilliseconds - 250 && p.EndTime.TotalMilliseconds > ms);
+ insertNewSubtitleHereToolStripMenuItem.Visible = paragraphsHere == 0 && mediaPlayer.IsPaused;
+
_audioWaveformRightClickSeconds = e.Seconds;
contextMenuStripWaveform.Show(MousePosition.X, MousePosition.Y);
}
@@ -1144,6 +1149,7 @@ namespace Nikse.SubtitleEdit.Forms
SelectListViewIndexAndEnsureVisible(_subtitle.GetIndex(e.Paragraph));
+ insertNewSubtitleHereToolStripMenuItem.Visible = false;
addParagraphHereToolStripMenuItem.Visible = false;
addParagraphAndPasteToolStripMenuItem.Visible = false;
toolStripMenuItemSetParagraphAsSelection.Visible = false;
@@ -2121,7 +2127,8 @@ namespace Nikse.SubtitleEdit.Forms
showOnlyWaveformToolStripMenuItem.Text = languageWaveform.ShowWaveformOnly;
showOnlySpectrogramToolStripMenuItem.Text = languageWaveform.ShowSpectrogramOnly;
seekSilenceToolStripMenuItem.Text = languageWaveform.SeekSilence;
- insertSubtitleHereToolStripMenuItem.Text = languageWaveform.InsertSubtitleHere;
+ insertSubtitleHereToolStripMenuItem.Text = languageWaveform.InsertSubtitleFileHere;
+ insertNewSubtitleHereToolStripMenuItem.Text = languageWaveform.InsertSubtitleHere;
guessTimeCodesToolStripMenuItem.Text = languageWaveform.GuessTimeCodes;
removeShotChangeToolStripMenuItem.Text = languageWaveform.RemoveShotChange;
addShotChangeToolStripMenuItem.Text = languageWaveform.AddShotChange;
@@ -18785,7 +18792,7 @@ namespace Nikse.SubtitleEdit.Forms
}
else if (_shortcuts.MainCreateInsertSubAtVideoPosNoTextBoxFocus == e.KeyData)
{
- var p = InsertNewTextAtVideoPosition(false);
+ var p = InsertNewTextAtVideoPosition(false, mediaPlayer.CurrentPosition * TimeCode.BaseUnit);
p.Text = string.Empty;
SubtitleListview1.SetText(_subtitle.GetIndex(p), p.Text);
textBoxListViewText.Text = p.Text;
@@ -18793,7 +18800,7 @@ namespace Nikse.SubtitleEdit.Forms
}
else if (_shortcuts.MainCreateInsertSubAtVideoPosMax == e.KeyData)
{
- var p = InsertNewTextAtVideoPosition(true);
+ var p = InsertNewTextAtVideoPosition(true, mediaPlayer.CurrentPosition * TimeCode.BaseUnit);
p.Text = string.Empty;
SubtitleListview1.SetText(_subtitle.GetIndex(p), p.Text);
textBoxListViewText.Text = p.Text;
@@ -18876,7 +18883,7 @@ namespace Nikse.SubtitleEdit.Forms
{
if (_mainCreateStartDownEndUpParagraph == null)
{
- _mainCreateStartDownEndUpParagraph = InsertNewTextAtVideoPosition(false);
+ _mainCreateStartDownEndUpParagraph = InsertNewTextAtVideoPosition(false, mediaPlayer.CurrentPosition * TimeCode.BaseUnit);
}
e.SuppressKeyPress = true;
@@ -24894,7 +24901,7 @@ namespace Nikse.SubtitleEdit.Forms
{
mediaPlayer.Pause();
- var newParagraph = InsertNewTextAtVideoPosition(false);
+ var newParagraph = InsertNewTextAtVideoPosition(false, mediaPlayer.CurrentPosition * TimeCode.BaseUnit);
if (!InSourceView)
{
@@ -24908,10 +24915,8 @@ namespace Nikse.SubtitleEdit.Forms
ShowStatus(string.Format(_language.VideoControls.NewTextInsertAtX, newParagraph.StartTime.ToShortString()));
}
- private Paragraph InsertNewTextAtVideoPosition(bool maxDuration)
+ private Paragraph InsertNewTextAtVideoPosition(bool maxDuration, double videoPositionInMilliseconds)
{
- // current movie Position
- double videoPositionInMilliseconds = mediaPlayer.CurrentPosition * TimeCode.BaseUnit;
if (!mediaPlayer.IsPaused && videoPositionInMilliseconds > Configuration.Settings.General.SetStartEndHumanDelay)
{
videoPositionInMilliseconds -= Configuration.Settings.General.SetStartEndHumanDelay;
@@ -36850,5 +36855,22 @@ namespace Nikse.SubtitleEdit.Forms
UiUtil.OpenFolderFromFileName(_videoFileName);
}
}
+
+ private void insertNewSubtitleHereToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (_audioWaveformRightClickSeconds == null)
+ {
+ return;
+ }
+
+ var newParagraph = InsertNewTextAtVideoPosition(false, _audioWaveformRightClickSeconds.Value * 1000.0);
+
+ if (!InSourceView)
+ {
+ textBoxListViewText.Focus();
+ }
+
+ ShowStatus(string.Format(_language.VideoControls.NewTextInsertAtX, newParagraph.StartTime.ToShortString()));
+ }
}
}
\ No newline at end of file
diff --git a/src/ui/Forms/Main.resx b/src/ui/Forms/Main.resx
index c577e339f..34a87c2c9 100644
--- a/src/ui/Forms/Main.resx
+++ b/src/ui/Forms/Main.resx
@@ -690,9 +690,6 @@
652, 56
-
- 652, 56
-
iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
@@ -775,12 +772,12 @@
981, 56
-
- 193, 17
-
668, 17
+
+ 193, 17
+
17, 95
diff --git a/src/ui/Languages/ar-EG.xml b/src/ui/Languages/ar-EG.xml
index ea1323481..6ec90a5f6 100644
--- a/src/ui/Languages/ar-EG.xml
+++ b/src/ui/Languages/ar-EG.xml
@@ -3355,7 +3355,7 @@ ames.xml)
قم بإزالة تغييرات اللقطة من التحديد
تخمين رموز الوقت...
ابحث عن الصمت...
- أدخل العنوان الفرعي هنا...
+ أدخل العنوان الفرعي هنا
CPS: {0:0.00}
WPM: {0:0.00}
diff --git a/src/ui/Languages/bg-BG.xml b/src/ui/Languages/bg-BG.xml
index 00302df02..65f363196 100644
--- a/src/ui/Languages/bg-BG.xml
+++ b/src/ui/Languages/bg-BG.xml
@@ -3409,7 +3409,7 @@ https://github.com/SubtitleEdit/subtitleedit
Премахване променена сцена от избраното
Разпознаване на времеви кодове...
Търсене на тишина (пауза)...
- Поставете субтитри от тук...
+ Поставете субтитри от тук
Симв./сек.: {0:0.00}
Думи/мин.: {0:0.00}
diff --git a/src/ui/Languages/ca-ES.xml b/src/ui/Languages/ca-ES.xml
index bf910202d..3c4ce3808 100644
--- a/src/ui/Languages/ca-ES.xml
+++ b/src/ui/Languages/ca-ES.xml
@@ -2715,7 +2715,7 @@ Email: mailto:nikse.dk@gmail.com
Suprimeix canvi d'escena
Endevina codis de temps
Cerca silenci...
- Insereix subtítol ací...
+ Insereix subtítol ací
CPS: {0:0.00}
WPM: {0:0.00}
diff --git a/src/ui/Languages/cs-CZ.xml b/src/ui/Languages/cs-CZ.xml
index 853d22cbc..2739dff41 100644
--- a/src/ui/Languages/cs-CZ.xml
+++ b/src/ui/Languages/cs-CZ.xml
@@ -2933,7 +2933,7 @@ Zachovat změny?
Odebrat změnu scén z výběru
Odhadnout časové kódy...
Hledat ticho...
- Vložit titulek sem...
+ Vložit titulek sem
ZZS: {0:0.00}
SZM: {0:0.00}
diff --git a/src/ui/Languages/da-DK.xml b/src/ui/Languages/da-DK.xml
index 7f0086787..044c43c90 100644
--- a/src/ui/Languages/da-DK.xml
+++ b/src/ui/Languages/da-DK.xml
@@ -3397,7 +3397,7 @@ Fortsæt?
Fjern sceneskift fra markering
Gæt tidskoder...
Søg tavshed...
- Indsæt undertekst her...
+ Indsæt undertekst her
Tegn/sec: {0:0.00}
Ord/min: {0:0.00}
diff --git a/src/ui/Languages/de-DE.xml b/src/ui/Languages/de-DE.xml
index df6acb6b8..79d0804f1 100644
--- a/src/ui/Languages/de-DE.xml
+++ b/src/ui/Languages/de-DE.xml
@@ -3424,7 +3424,7 @@ Wir nutzen den dem Bild innewohnenden Rhythmus.
Einstellungsänderungen aus der Auswahl entfernen
Zeitstempel ermitteln...
Stille suchen...
- Untertitel hier einfügen...
+ Untertitel hier einfügen
CPS: {0:0.00}
WPM: {0:0.00}
diff --git a/src/ui/Languages/es-AR.xml b/src/ui/Languages/es-AR.xml
index 506df7171..737c522ef 100644
--- a/src/ui/Languages/es-AR.xml
+++ b/src/ui/Languages/es-AR.xml
@@ -3385,7 +3385,7 @@ La configuración de una fuente para un subtítulo se realiza normalmente en el
Eliminar cambios de escena de la selección
Obtener códigos de tiempo...
Busque silencio...
- Insertar subtítulo aquí...
+ Insertar subtítulo aquí
CPS: {0:0.00}
PPM: {0:0.00}
diff --git a/src/ui/Languages/es-ES.xml b/src/ui/Languages/es-ES.xml
index 6e706c648..f4f4f1fde 100644
--- a/src/ui/Languages/es-ES.xml
+++ b/src/ui/Languages/es-ES.xml
@@ -3141,7 +3141,7 @@ La configuración de una fuente para un subtítulo se realiza normalmente en el
Eliminar cambios de escena de la selección
Adivinar códigos de tiempo...
Buscar silencio...
- Insertar subtítulo aquí...
+ Insertar subtítulo aquí
CPS: {0:0.00}
PPM: {0:0.00}
diff --git a/src/ui/Languages/es-MX.xml b/src/ui/Languages/es-MX.xml
index 3b9364681..aa296f712 100644
--- a/src/ui/Languages/es-MX.xml
+++ b/src/ui/Languages/es-MX.xml
@@ -3385,7 +3385,7 @@ de subtítulo con información de fuente incorporada como "Advanced Sub Station
Eliminar cambios de escena de la selección
Adivinar códigos de tiempo...
Buscar silencio...
- Insertar subtítulo aquí...
+ Insertar subtítulo aquí
CPS: {0:0.00}
PPM: {0:0.00}
diff --git a/src/ui/Languages/eu-ES.xml b/src/ui/Languages/eu-ES.xml
index 4264d0e52..02a0db355 100644
--- a/src/ui/Languages/eu-ES.xml
+++ b/src/ui/Languages/eu-ES.xml
@@ -2827,7 +2827,7 @@ Gorde aldaketak?
Kendu agerraldi aldaketa
Ustezko denbora kodeak...
Bilatu isiltasuna
- Txertatu azpidatzia hemen...
+ Txertatu azpidatzia hemen
HKSG-ko: {0:0.00}
HZMN-ko: {0:0.00}
diff --git a/src/ui/Languages/fa-IR.xml b/src/ui/Languages/fa-IR.xml
index 499d8c697..7c7c60d74 100644
--- a/src/ui/Languages/fa-IR.xml
+++ b/src/ui/Languages/fa-IR.xml
@@ -3017,7 +3017,7 @@
حذف تغییرات صحنه از انتخاب
حدس بزنید کدهای زمان...
جستجو برای سکوت...
- قرار دادن زیرنویس در اینجا...
+ قرار دادن زیرنویس در اینجا
CPS: {0:0.00}
WPM: {0:0.00}
diff --git a/src/ui/Languages/fr-BE.xml b/src/ui/Languages/fr-BE.xml
index 9127fb731..e79321d62 100644
--- a/src/ui/Languages/fr-BE.xml
+++ b/src/ui/Languages/fr-BE.xml
@@ -2902,7 +2902,7 @@ visuelle'. Les garder ?
Supprimer un changement de scène
Supposer l'horodatage ...
Recherche de silence ...
- Insérer le sous-titre ici ...
+ Insérer le sous-titre ici
CPS : {0:0.00}
MPM : {0:0.00}
diff --git a/src/ui/Languages/he-IL.xml b/src/ui/Languages/he-IL.xml
index 9ca5bc40c..2fe69e746 100644
--- a/src/ui/Languages/he-IL.xml
+++ b/src/ui/Languages/he-IL.xml
@@ -3154,7 +3154,7 @@ Keep changes?
הסר שינויי צילום מהבחירה
נחשו קודי זמן...
חפש שקט...
- הוסף כתובית כאן...
+ הוסף כתובית כאן
CPS: {0:0.00}
WPM: {0:0.00}
diff --git a/src/ui/Languages/hr-HR.xml b/src/ui/Languages/hr-HR.xml
index e60700d72..5f547307a 100644
--- a/src/ui/Languages/hr-HR.xml
+++ b/src/ui/Languages/hr-HR.xml
@@ -2324,7 +2324,7 @@ određeni podnaslov s drugim ljudima.
Pokaži samo spektrogram
Pogodi vremenske kodove...
Traži tišinu...
- Umetni titl ovdje...
+ Umetni titl ovdje
diff --git a/src/ui/Languages/hu-HU.xml b/src/ui/Languages/hu-HU.xml
index e26f25606..2f655b979 100644
--- a/src/ui/Languages/hu-HU.xml
+++ b/src/ui/Languages/hu-HU.xml
@@ -3147,7 +3147,7 @@ Megtartja a módosításokat?
Felvételváltozás eltávolítása a kiválasztásból
Időkódok becslése...
Csend keresése...
- Szúrja be a feliratot ide...
+ Szúrja be a feliratot ide
CPS: {0:0.00}
WPM: {0:0.00}
diff --git a/src/ui/Languages/id-ID.xml b/src/ui/Languages/id-ID.xml
index 505dd696b..770e8cadc 100644
--- a/src/ui/Languages/id-ID.xml
+++ b/src/ui/Languages/id-ID.xml
@@ -2378,7 +2378,7 @@ Jaga perubahan?
Buang perubahan adegan
Tebak kode waktu...
Cari (durasi) hening...
- Sisipkan subjudul di sini...
+ Sisipkan subjudul di sini
CPS: {0:0.00}
WPM: {0:0.00}
diff --git a/src/ui/Languages/it-IT.xml b/src/ui/Languages/it-IT.xml
index 061f7507d..2d952f3c3 100644
--- a/src/ui/Languages/it-IT.xml
+++ b/src/ui/Languages/it-IT.xml
@@ -3408,7 +3408,7 @@ Vuoi mantenere le modifiche?
Rimuovi le modifiche alla scena dalla selezione
Riconosci codici temporali...
Cerca il silenzio...
- Inserisci qui i sottotitoli...
+ Inserisci qui i sottotitoli
CPS: {0:0.00}
WPM: {0:0.00}
diff --git a/src/ui/Languages/ja-JP.xml b/src/ui/Languages/ja-JP.xml
index 86de52b3d..ad63b3d5c 100644
--- a/src/ui/Languages/ja-JP.xml
+++ b/src/ui/Languages/ja-JP.xml
@@ -2123,7 +2123,7 @@ If you have edited this file with Subtitle Edit you might be able to find a back
シーンの変更を削除
タイム コードの推測...
無音の検索...
- ここに字幕を挿入...
+ ここに字幕を挿入
タイム コードの推測
diff --git a/src/ui/Languages/ko-KR.xml b/src/ui/Languages/ko-KR.xml
index 80eb3f409..f3ac219d8 100644
--- a/src/ui/Languages/ko-KR.xml
+++ b/src/ui/Languages/ko-KR.xml
@@ -3385,7 +3385,7 @@ FFmpeg를 다운로드하고 사용하시겠습니까?
선택에서 장면전환 제거
타임코드 알아내기
무음 탐색...
- 여기에 자막 삽입...
+ 여기에 자막 삽입
문자/초: {0:0.00}
단어/분: {0:0.00}
diff --git a/src/ui/Languages/mk-MK.xml b/src/ui/Languages/mk-MK.xml
index 0070f9a7c..24377b27b 100644
--- a/src/ui/Languages/mk-MK.xml
+++ b/src/ui/Languages/mk-MK.xml
@@ -2611,7 +2611,7 @@ Email: mailto:nikse.dk@gmail.com
Отстрани промена на сцена
Претпостави временски кодови...
Откриј тишина...
- Тука внеси титл...
+ Тука внеси титл
ЗВС: {0:0.00}
ЗПМ: {0:0.00}
diff --git a/src/ui/Languages/nl-NL.xml b/src/ui/Languages/nl-NL.xml
index d596bb4e5..a5805e6aa 100644
--- a/src/ui/Languages/nl-NL.xml
+++ b/src/ui/Languages/nl-NL.xml
@@ -3382,7 +3382,7 @@ Wilt u deze wijzigingen behouden?
Geselecteerde beeldwissels verwijderen
Tijdcodes schatten...
Stilte zoeken...
- Ondertitel hier invoegen...
+ Ondertitel hier invoegen
CPS: {0:0.00}
WPM: {0:0.00}
diff --git a/src/ui/Languages/pl-PL.xml b/src/ui/Languages/pl-PL.xml
index 64dba7491..c07621a92 100644
--- a/src/ui/Languages/pl-PL.xml
+++ b/src/ui/Languages/pl-PL.xml
@@ -3385,7 +3385,7 @@ Zachować te zmiany?
Usuń zmianę ujęcia z zaznaczenia
Odgadnij kody czasowe...
Szukaj ciszy...
- Wstaw napisy tutaj...
+ Wstaw napisy tutaj
ZNS: {0:0.00}
SNM: {0:0.00}
diff --git a/src/ui/Languages/pt-BR.xml b/src/ui/Languages/pt-BR.xml
index 1fa910f97..4bb6a15aa 100644
--- a/src/ui/Languages/pt-BR.xml
+++ b/src/ui/Languages/pt-BR.xml
@@ -3379,7 +3379,7 @@ Manter as alterações?
Remover mudanças de cena da seleção
Identificar códigos de tempo...
Procurar silêncio...
- Insira a legenda aqui...
+ Insira a legenda aqui
CPS: {0:0.00}
WPM: {0:0.00}
diff --git a/src/ui/Languages/pt-PT.xml b/src/ui/Languages/pt-PT.xml
index 17d5960c2..d48b73652 100644
--- a/src/ui/Languages/pt-PT.xml
+++ b/src/ui/Languages/pt-PT.xml
@@ -3401,7 +3401,7 @@ Manter as alterações?
Remover mudanças de cena da selecção
Adivinhar os tempos...
Localizar silêncio no áudio...
- Inserir legenda aqui...
+ Inserir legenda aqui
CPS: {0:0.00}
PPM: {0:0.00}
diff --git a/src/ui/Languages/ro-RO.xml b/src/ui/Languages/ro-RO.xml
index 080345146..a1ea6687b 100644
--- a/src/ui/Languages/ro-RO.xml
+++ b/src/ui/Languages/ro-RO.xml
@@ -2867,7 +2867,7 @@ Reții schimbările?
Elimină schimbarea de scenă
Estimează coduri de timp...
Căutare tacită...
- Inserare subtitrare aici...
+ Inserare subtitrare aici
CPS: {0:0.00}
WPM: {0:0.00}
diff --git a/src/ui/Languages/sl-SI.xml b/src/ui/Languages/sl-SI.xml
index 5248d21ba..5e176e097 100644
--- a/src/ui/Languages/sl-SI.xml
+++ b/src/ui/Languages/sl-SI.xml
@@ -3171,7 +3171,7 @@ Nastavitev pisave za podnapise se običajno izvaja v predvajalniku videoposnetko
Odstrani spremembo posnetka iz izbora
Ugani časovne kode...
Išči tišino...
- Tukaj vstavi podnapis...
+ Tukaj vstavi podnapis
CPS: {0:0.00}
WPM: {0:0.00}
diff --git a/src/ui/Languages/sr-Latn-RS.xml b/src/ui/Languages/sr-Latn-RS.xml
index 8234b20f3..be6a20f3b 100644
--- a/src/ui/Languages/sr-Latn-RS.xml
+++ b/src/ui/Languages/sr-Latn-RS.xml
@@ -2459,7 +2459,7 @@ sa ugrađenim informacijama o fontu kao u "Advanced Sub Station Alpha" ili preko
Ukloni promenu scene
Pogodi vremenske kodove...
Pronađi tišinu...
- Uvezi prevod ovde...
+ Uvezi prevod ovde
Karak/sek: {0:0.00}
Reči/min: {0:0.00}
diff --git a/src/ui/Languages/sv-SE.xml b/src/ui/Languages/sv-SE.xml
index 1eb18102c..b531a8bc9 100644
--- a/src/ui/Languages/sv-SE.xml
+++ b/src/ui/Languages/sv-SE.xml
@@ -3409,7 +3409,7 @@ Behålla ändringarna?
Ta bort skottändringar från markeringen
Gissa tidskoder...
Sök efter tystnad...
- Infoga undertexter här...
+ Infoga undertexter här
CPS: {0:0.00}
WPM: {0:0.00}
diff --git a/src/ui/Languages/tr-TR.xml b/src/ui/Languages/tr-TR.xml
index 481b8c9bc..8569fe57d 100644
--- a/src/ui/Languages/tr-TR.xml
+++ b/src/ui/Languages/tr-TR.xml
@@ -2854,7 +2854,7 @@ Değişiklikler saklansın mı?
Bölüm değişikliğini kaldır...
Zaman kodlarını tahmin et...
Sessizlik arama...
- Altyazıyı buraya ekleyin...
+ Altyazıyı buraya ekleyin
CPS: {0:0.00}
WPM: {0:0.00}
diff --git a/src/ui/Languages/vi-VN.xml b/src/ui/Languages/vi-VN.xml
index b9ed035a0..3820528c5 100644
--- a/src/ui/Languages/vi-VN.xml
+++ b/src/ui/Languages/vi-VN.xml
@@ -3013,7 +3013,7 @@ Cài đặt font cho phụ đề thường được dùng cho trình phát video
Xóa các scene change khỏi lựa chọn
Tự tạo time...
Tìm vùng im lặng...
- Chèn phụ đề ở đây...
+ Chèn phụ đề ở đây
CPS: {0:0.00}
WPM: {0:0.00}
diff --git a/src/ui/Languages/zh-Hans.xml b/src/ui/Languages/zh-Hans.xml
index f34ea786d..755401a01 100644
--- a/src/ui/Languages/zh-Hans.xml
+++ b/src/ui/Languages/zh-Hans.xml
@@ -3385,7 +3385,7 @@ Command line: {1} {2}
从所选中移除场景切换
猜测时间码...
搜索静音...
- 在这里插入字幕...
+ 在这里插入字幕
CPS: {0:0.00}
WPM: {0:0.00}
diff --git a/src/ui/Languages/zh-TW.xml b/src/ui/Languages/zh-TW.xml
index 9a02800b7..23504db3a 100644
--- a/src/ui/Languages/zh-TW.xml
+++ b/src/ui/Languages/zh-TW.xml
@@ -2964,7 +2964,7 @@ Continue?
Remove scene changes from selection
猜測時間碼...
搜尋靜音...
- 在這裡插入字幕...
+ 在這裡插入字幕
CPS: {0:0.00}
WPM: {0:0.00}
diff --git a/src/ui/Logic/Language.cs b/src/ui/Logic/Language.cs
index c551a1b43..b5ce05348 100644
--- a/src/ui/Logic/Language.cs
+++ b/src/ui/Logic/Language.cs
@@ -3832,7 +3832,8 @@ Keep changes?",
RemoveShotChange = "Remove shot change",
RemoveShotChangesFromSelection = "Remove shot changes from selection",
SeekSilence = "Seek silence...",
- InsertSubtitleHere = "Insert subtitle here...",
+ InsertSubtitleHere = "Insert subtitle here",
+ InsertSubtitleFileHere = "Insert subtitle file here...",
GuessTimeCodes = "Guess time codes...",
CharsSecX = "CPS: {0:0.00}",
WordsMinX = "WPM: {0:0.00}",
diff --git a/src/ui/Logic/LanguageStructure.cs b/src/ui/Logic/LanguageStructure.cs
index a336bac1b..35c4cdb2d 100644
--- a/src/ui/Logic/LanguageStructure.cs
+++ b/src/ui/Logic/LanguageStructure.cs
@@ -3641,6 +3641,7 @@
public string GuessTimeCodes { get; set; }
public string SeekSilence { get; set; }
public string InsertSubtitleHere { get; set; }
+ public string InsertSubtitleFileHere { get; set; }
public string CharsSecX { get; set; }
public string WordsMinX { get; set; }
}