This commit is contained in:
niksedk 2014-06-23 17:42:41 +02:00
commit 1cb4ffddbd
6 changed files with 94 additions and 8 deletions

View File

@ -273,7 +273,6 @@
<name>Corban</name>
<name>Corbin</name>
<name>Coverdale</name>
<name>Crew</name>
<name>Cristiano</name>
<name>Dacca</name>
<name>Dahlia</name>

View File

@ -52,7 +52,6 @@
<name>Asbjørn</name>
<name>Asclepio</name>
<name>Assim</name>
<name>Audi</name>
<name>Aurelio</name>
<name>Avner</name>
<name>Avraham</name>
@ -428,7 +427,6 @@
<name>Janaína</name>
<name>Jannik</name>
<name>Jardim</name>
<name>Jeep</name>
<name>Jens</name>
<name>Jinora</name>
<name>Johan</name>
@ -754,7 +752,6 @@
<name>Rohypnol</name>
<name>Romalis</name>
<name>Romford</name>
<name>Ronaldo</name>
<name>Rosetta</name>
<name>Roshan</name>
<name>Rotenone</name>

View File

@ -367,7 +367,6 @@
<name>Budweiserin</name>
<name>Buffalon</name>
<name>Buffalosta</name>
<name>Bugatti</name>
<name>Bugsy</name>
<name>Building</name>
<name>Buist</name>
@ -1603,7 +1602,6 @@
<name>Lew</name>
<name>Lewisille</name>
<name>Lewisin</name>
<name>Lexus</name>
<name>Liang</name>
<name>Liangin</name>
<name>Libertyn</name>
@ -1800,7 +1798,6 @@
<name>May</name>
<name>Mayn</name>
<name>Maynard</name>
<name>Mazda</name>
<name>McArdle's</name>
<name>McClafferty</name>
<name>McClain</name>

View File

@ -58,6 +58,7 @@ This file is generated/updated by Multi Translator
<name>Adelle</name>
<name>Adelles</name>
<name>Aden</name>
<name>Adidas</name>
<name>Adipex</name>
<name>Aditya</name>
<name>Adolf</name>
@ -3867,6 +3868,7 @@ This file is generated/updated by Multi Translator
<name>Nigeriens</name>
<name>Nik</name>
<name>Nikahd</name>
<name>Nike</name>
<name>Niki</name>
<name>Nikki</name>
<name>Niklas</name>
@ -4319,6 +4321,7 @@ This file is generated/updated by Multi Translator
<name>Rebecca</name>
<name>Red Sox</name>
<name>Redding</name>
<name>Reebok</name>
<name>Reed</name>
<name>Reese</name>
<name>Reeves</name>
@ -4436,6 +4439,7 @@ This file is generated/updated by Multi Translator
<name>Romilda</name>
<name>Ron</name>
<name>Ronald</name>
<name>Ronaldo</name>
<name>Ronins</name>
<name>Ronnie</name>
<name>Ronny</name>

View File

@ -3761,7 +3761,6 @@
<name>Romário</name>
<name>Romã</name>
<name>Romão</name>
<name>Ronaldo</name>
<name>Ronance</name>
<name>Ronanse</name>
<name>Rondina</name>

View File

@ -2615,8 +2615,49 @@ namespace Nikse.SubtitleEdit.Logic
}
if (italicBeginTagCount == 0 && italicEndTagCount == 1)
{
string cleanText = RemoveHtmlTags(text);
bool isFixed= false;
// Foo.</i>
if (text.EndsWith(endTag) && !cleanText.StartsWith("-") && !cleanText.Contains(Environment.NewLine + "-"))
{
text = beginTag + text;
isFixed = true;
}
// - Foo</i> | - Foo.
// - Bar. | - Foo.</i>
if (!isFixed && CountTagInText(cleanText, Environment.NewLine) == 1)
{
int newLineIndex = text.IndexOf(Environment.NewLine);
if (newLineIndex > 0)
{
var firstLine = text.Substring(0, newLineIndex).Trim();
var secondLine = text.Substring(newLineIndex + 2).Trim();
if (firstLine.EndsWith(endTag))
{
firstLine = beginTag + firstLine;
isFixed = true;
}
if (secondLine.EndsWith(endTag))
{
secondLine = beginTag + secondLine;
isFixed = true;
}
text = firstLine + Environment.NewLine + secondLine;
}
}
if (!isFixed)
text = text.Replace(endTag, string.Empty);
}
// - foo.</i>
// - bar.</i>
if (italicBeginTagCount == 0 && italicEndTagCount == 2 && text.Contains(endTag + Environment.NewLine) && text.EndsWith(endTag))
{
text = text.Replace(endTag, string.Empty);
text = beginTag + text + endTag;
}
if (italicBeginTagCount == 0 && italicEndTagCount == 2 && text.StartsWith("</i>") && text.EndsWith("</i>"))
@ -2625,6 +2666,23 @@ namespace Nikse.SubtitleEdit.Logic
text = text.Remove(firstIndex, endTag.Length).Insert(firstIndex, "<i>");
}
// <i>Foo</i>
// <i>Bar</i>
if(italicBeginTagCount == 2 && italicEndTagCount == 2 && CountTagInText(text, Environment.NewLine) == 1)
{
int index = text.IndexOf(Environment.NewLine);
if (index > 0 && text.Length > index + (beginTag.Length + endTag.Length))
{
var firstLine = text.Substring(0, index).Trim();
var secondLine = text.Substring(index + 2).Trim();
if (StartsAndEndsWithTag(firstLine, beginTag, endTag) && StartsAndEndsWithTag(secondLine, beginTag, endTag))
{
text = text.Replace(beginTag, String.Empty).Replace(endTag, String.Empty);
text = beginTag + text + endTag;
}
}
}
text = text.Replace("<i></i>", string.Empty);
text = text.Replace("<i> </i>", string.Empty);
text = text.Replace("<i> </i>", string.Empty);
@ -2632,6 +2690,38 @@ namespace Nikse.SubtitleEdit.Logic
return text;
}
public static bool StartsAndEndsWithTag(string text, string startTag, string endTag)
{
if (text == null)
return false;
if (text.Trim().Length == 0)
return false;
if (!text.Contains(startTag) || !text.Contains(endTag))
return false;
while (text.Contains(" "))
text = text.Replace(" ", " ");
var s1 = "- " + startTag;
var s2 = "-" + startTag;
var s3 = "- ..." + startTag;
var s4 = "- " + startTag + "..."; // - <i>...
var e1 = endTag + ".";
var e2 = endTag + "!";
var e3 = endTag + "?";
var e4 = endTag + "...";
var e5 = endTag + "-";
bool isStart = false;
bool isEnd = false;
if(text.StartsWith(startTag) || text.StartsWith(s1) || text.StartsWith(s2) || text.StartsWith(s3) || text.StartsWith(s4))
isStart = true;
if (text.EndsWith(endTag) || text.EndsWith(e1) || text.EndsWith(e2) || text.EndsWith(e3) || text.EndsWith(e4) || text.EndsWith(e5))
isEnd = true;
return isStart == isEnd;
}
public static Paragraph GetOriginalParagraph(int index, Paragraph paragraph, List<Paragraph> originalParagraphs)
{
if (index < 0)