mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-10-28 06:52:35 +01:00
faef2af0cf
Fix #4118
37 lines
1.4 KiB
C#
37 lines
1.4 KiB
C#
using Nikse.SubtitleEdit.Core.Interfaces;
|
|
|
|
namespace Nikse.SubtitleEdit.Core.Forms.FixCommonErrors
|
|
{
|
|
public class FixHyphensInDialog : IFixCommonError
|
|
{
|
|
public void Fix(Subtitle subtitle, IFixCallbacks callbacks)
|
|
{
|
|
var language = Configuration.Settings.Language.FixCommonErrors;
|
|
string fixAction = string.Format(language.FixHyphensInDialogs, Configuration.Settings.General.DialogStyle);
|
|
int iFixes = 0;
|
|
var dialogHelper = new DialogSplitMerge
|
|
{
|
|
DialogStyle = Configuration.Settings.General.DialogStyle,
|
|
TwoLetterLanguageCode = callbacks.Language,
|
|
ContinuationStyle = Configuration.Settings.General.ContinuationStyle
|
|
};
|
|
for (int i = 0; i < subtitle.Paragraphs.Count; i++)
|
|
{
|
|
var p = subtitle.Paragraphs[i];
|
|
if (callbacks.AllowFix(p, fixAction))
|
|
{
|
|
string oldText = p.Text;
|
|
string text = dialogHelper.FixDashesAndSpaces(p.Text);
|
|
if (text != oldText)
|
|
{
|
|
p.Text = text;
|
|
iFixes++;
|
|
callbacks.AddFixToListView(p, fixAction, oldText, p.Text);
|
|
}
|
|
}
|
|
}
|
|
callbacks.UpdateFixStatus(iFixes, fixAction, language.XHyphensInDialogsFixed);
|
|
}
|
|
}
|
|
}
|