mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-10-28 06:52:35 +01:00
commit
d331c4c2eb
@ -1,4 +1,4 @@
|
||||
<words>
|
||||
<words>
|
||||
<word>50s</word>
|
||||
<word>9/11</word>
|
||||
<word>a.m.</word>
|
||||
|
@ -246,7 +246,6 @@
|
||||
<Word from="Cho/r" to="Choir" />
|
||||
<Word from="cHucKl_Es" to="CHUCKLES" />
|
||||
<Word from="CIark" to="Clark" />
|
||||
<Word from="CIass" to="Class" />
|
||||
<Word from="CIear" to="Clear" />
|
||||
<Word from="circumcised_" to="circumcised." />
|
||||
<Word from="ckay" to="okay" />
|
||||
@ -1113,7 +1112,6 @@
|
||||
<Word from="Persona/4/" to="Personally" />
|
||||
<Word from="Persona/y" to="Personally" />
|
||||
<Word from="persors" to="person's" />
|
||||
<Word from="PIace" to="Place" />
|
||||
<Word from="PIain" to="Plain" />
|
||||
<Word from="PIease" to="Please" />
|
||||
<Word from="PIeasure" to="Pleasure" />
|
||||
@ -1818,11 +1816,6 @@
|
||||
<Word from="lron" to="Iron" />
|
||||
<Word from="It'syour" to="It's your" />
|
||||
<Word from="lfstill" to="if still" />
|
||||
<Word from="internationaljudges" to="international judges" />
|
||||
<Word from="YQu" to="You" />
|
||||
<Word from="onJanuaw" to="on January" />
|
||||
<Word from="Shdsjust" to="She's just" />
|
||||
<Word from="HeyJennifer" to="Hey Jennifer" />
|
||||
</WholeWords>
|
||||
<PartialWordsAlways>
|
||||
<!-- Will be replaced always -->
|
||||
|
@ -730,7 +730,7 @@
|
||||
<RegEx find="interesantn" replaceWith="zanimljiv" />
|
||||
<RegEx find="Interesantn" replaceWith="Zanimljiv" />
|
||||
<RegEx find="([iI])nteresova" replaceWith="$1nteresira" />
|
||||
<RegEx find="([iI])ntervjuis" replaceWith="$1ntervjuir" />
|
||||
<RegEx find="([iI])ntervjuis" replaceWith="$1ntervjuir" />
|
||||
<RegEx find="([iI])ntezivn" replaceWith="$1ntenzivn" />
|
||||
<RegEx find="([iI])seče" replaceWith="$1zreže" />
|
||||
<RegEx find="([iI])spoljava" replaceWith="$1zražava" />
|
||||
@ -807,8 +807,8 @@
|
||||
<RegEx find="([kK])oristić" replaceWith="$1oristit ć" />
|
||||
<RegEx find="([kK])oriš[ćč]en" replaceWith="$1orišten" />
|
||||
<RegEx find="([kK])orj?en" replaceWith="$1orijen" />
|
||||
<RegEx find="([kK])ritikuje" replaceWith="$1ritizira" />
|
||||
<RegEx find="([kK])rofn" replaceWith="$1rafn" />
|
||||
<RegEx find="([kK])ritikuje" replaceWith="$1ritizira" />
|
||||
<RegEx find="([kK])rofn" replaceWith="$1rafn" />
|
||||
<RegEx find="([kK])rompir" replaceWith="$1rumpir" />
|
||||
<RegEx find="\b([kK])rst([au]|ića?)?\b" replaceWith="$1riž$2" />
|
||||
<RegEx find="\b([kK])rstov(e|ima)\b" replaceWith="$1rižev$2" />
|
||||
@ -1476,7 +1476,7 @@
|
||||
<RegEx find="Džulij" replaceWith="Juli" />
|
||||
<RegEx find="Ejmi" replaceWith="Amy" />
|
||||
<RegEx find="Ejpril" replaceWith="April" />
|
||||
<RegEx find="([EA])jnštajn" replaceWith="Einstein" />
|
||||
<RegEx find="[EA]jnštajn" replaceWith="Einstein" />
|
||||
<RegEx find="Endi" replaceWith="Andy" />
|
||||
<RegEx find="Ešli" replaceWith="Ashley" />
|
||||
<RegEx find="Filadelfij" replaceWith="Philadelphi" />
|
||||
@ -1627,4 +1627,4 @@
|
||||
<!-- Skraćenice bez razmaka -->
|
||||
<RegEx find="d\. o\.o\." replaceWith="d.o.o." />
|
||||
</RegularExpressions>
|
||||
</OCRFixReplaceList>
|
||||
</OCRFixReplaceList>
|
@ -340,7 +340,7 @@ namespace Nikse.SubtitleEdit.Core.SubtitleFormats
|
||||
if (regions.Contains("top"))
|
||||
region = "top";
|
||||
else if (regions.Contains("topCenter"))
|
||||
region = "topCenter";
|
||||
region = "topCenter";
|
||||
}
|
||||
text = Utilities.RemoveSsaTags(text);
|
||||
|
||||
@ -452,7 +452,7 @@ namespace Nikse.SubtitleEdit.Core.SubtitleFormats
|
||||
string xmlSpace = GetEffect(p, "xml:space");
|
||||
if (!string.IsNullOrEmpty(xmlSpace))
|
||||
{
|
||||
XmlAttribute xmlSpaceAttribute = xml.CreateAttribute("xml:space");
|
||||
XmlAttribute xmlSpaceAttribute = xml.CreateAttribute("xml:space");
|
||||
xmlSpaceAttribute.InnerText = xmlSpace;
|
||||
paragraph.Attributes.Append(xmlSpaceAttribute);
|
||||
}
|
||||
@ -496,7 +496,7 @@ namespace Nikse.SubtitleEdit.Core.SubtitleFormats
|
||||
ttsExtentAttribute.InnerText = ttsExtent;
|
||||
paragraph.Attributes.Append(ttsExtentAttribute);
|
||||
}
|
||||
|
||||
|
||||
string ttsTextAlign = GetEffect(p, "tts:textAlign");
|
||||
if (!string.IsNullOrEmpty(ttsTextAlign))
|
||||
{
|
||||
@ -691,7 +691,7 @@ namespace Nikse.SubtitleEdit.Core.SubtitleFormats
|
||||
if (node.Attributes["tts:textAlign"] != null)
|
||||
{
|
||||
SetEffect(p, "tts:textAlign", node.Attributes["tts:textAlign"].Value);
|
||||
}
|
||||
}
|
||||
|
||||
if (node.ParentNode.Name == "div")
|
||||
{
|
||||
|
@ -7,7 +7,7 @@ using System.Text.RegularExpressions;
|
||||
namespace Nikse.SubtitleEdit.Core.SubtitleFormats
|
||||
{
|
||||
/// <summary>
|
||||
/// Timeline Ascii export - THE MOVIE TITRE EDITOR - http://www.pld.ttu.ee/~priidu/timeline/ by priidu@pld.ttu.ee
|
||||
/// Timeline Ascii export - THE MOVIE TITRE EDITOR - http://www.pld.ttu.ee/~priidu/timeline/ by priidu@pld.ttu.ee
|
||||
///
|
||||
/// Sample:
|
||||
/// 1.
|
||||
|
@ -15,6 +15,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
private readonly LanguageStructure.RemoveTextFromHearImpaired _language;
|
||||
private readonly RemoveTextForHI _removeTextForHiLib;
|
||||
private Dictionary<Paragraph, string> _fixes;
|
||||
|
||||
public FormRemoveTextForHearImpaired()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
@ -13,7 +13,7 @@ using Nikse.SubtitleEdit.Core.SpellCheck;
|
||||
namespace Nikse.SubtitleEdit.Forms
|
||||
{
|
||||
public sealed partial class SpellCheck : Form, IDoSpell
|
||||
{
|
||||
{
|
||||
private List<UndoObject> _undoList = new List<UndoObject>();
|
||||
private SpellCheckAction _action = SpellCheckAction.Skip;
|
||||
private List<string> _suggestions;
|
||||
@ -21,7 +21,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
public SpellCheckAction Action { get { return _action; } set { _action = value; } }
|
||||
public string ChangeWord { get { return textBoxWord.Text; } set { textBoxWord.Text = value; } }
|
||||
public string ChangeWholeText { get { return textBoxWholeText.Text; } }
|
||||
public bool AutoFixNames { get { return checkBoxAutoChangeNames.Checked; } }
|
||||
public bool AutoFixNames { get { return checkBoxAutoChangeNames.Checked; } }
|
||||
|
||||
private SpellCheckWordLists _spellCheckWordLists;
|
||||
private List<string> _skipAllList = new List<string>();
|
||||
@ -690,7 +690,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void SetWords(string s)
|
||||
{
|
||||
s = _spellCheckWordLists.ReplaceHtmlTagsWithBlanks(s);
|
||||
|
@ -1249,4 +1249,4 @@ Keep changes?</KeepChangesMessage>
|
||||
<ShowWaveformOnly>عرض شكل الموجة فقط</ShowWaveformOnly>
|
||||
<ShowSpectrogramOnly>عرض الفيديو فقط</ShowSpectrogramOnly>
|
||||
</Waveform>
|
||||
</Language>
|
||||
</Language>
|
@ -616,9 +616,6 @@ Email: mailto:nikse.dk@gmail.com</AboutText1>
|
||||
<FixMusicNotationExample>'âTª sweet dreams are' -> '♫ sweet dreams are'</FixMusicNotationExample>
|
||||
<NumberOfImportantLogMessages>{0} важни съобщения с отчети!</NumberOfImportantLogMessages>
|
||||
<FixedOkXY>Поправено и OK - '{0}': {1}</FixedOkXY>
|
||||
<FixOcrErrorExample></FixOcrErrorExample>
|
||||
<FixSpaceBetweenNumbersExample></FixSpaceBetweenNumbersExample>
|
||||
<FixDialogsOneLineExample></FixDialogsOneLineExample>
|
||||
</FixCommonErrors>
|
||||
<GetDictionaries>
|
||||
<Title>Кой речник желаете?</Title>
|
||||
@ -1152,7 +1149,7 @@ Email: mailto:nikse.dk@gmail.com</AboutText1>
|
||||
<MatroskaFiles>Matroska файлове</MatroskaFiles>
|
||||
<NoSubtitlesFound>Няма намерени субтитри</NoSubtitlesFound>
|
||||
<NotAValidMatroskaFileX>Това е невалиден Matroska файл: {0}</NotAValidMatroskaFileX>
|
||||
<BlurayNotSubtitlesFound>Blu-ray sup файла не съдържа никакви субтитри или е повреден - опитайте да го демуксните отново </BlurayNotSubtitlesFound>
|
||||
<BlurayNotSubtitlesFound>Blu-ray sup файла не съдържа никакви субтитри или е повреден - опитайте да го демуксните отново</BlurayNotSubtitlesFound>
|
||||
<ParsingMatroskaFile>Обработка на файла Matroska. Моля, изчакайте...</ParsingMatroskaFile>
|
||||
<ParsingTransportStreamFile>Анализ на Transport Stream файл. Изчакайте, моля...</ParsingTransportStreamFile>
|
||||
<BeforeImportFromMatroskaFile>Преди внасянето на субтитри от файла Matroska</BeforeImportFromMatroskaFile>
|
||||
@ -2105,4 +2102,4 @@ Email: mailto:nikse.dk@gmail.com</AboutText1>
|
||||
<Title>WebVTT - задаване на нов глас</Title>
|
||||
<VoiceName>Име на гласа</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -618,7 +618,7 @@ Email: mailto:nikse.dk@gmail.com</AboutText1>
|
||||
<FixedOkXY>Fixats i OK - '{0}': {1}</FixedOkXY>
|
||||
<FixOcrErrorExample>D0n't -> Don't</FixOcrErrorExample>
|
||||
<FixSpaceBetweenNumbersExample>1 100 -> 1100</FixSpaceBetweenNumbersExample>
|
||||
<FixDialogsOneLineExample>Hi John! - Hi Ida! -> Hi John!<br />- Hi Ida! </FixDialogsOneLineExample>
|
||||
<FixDialogsOneLineExample>Hi John! - Hi Ida! -> Hi John!<br />- Hi Ida!</FixDialogsOneLineExample>
|
||||
</FixCommonErrors>
|
||||
<GetDictionaries>
|
||||
<Title>Us calen diccionaris?</Title>
|
||||
@ -2099,4 +2099,4 @@ Email: mailto:nikse.dk@gmail.com</AboutText1>
|
||||
<Title>WebVTT - estableix veu nova</Title>
|
||||
<VoiceName>Nom de veu</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -2116,4 +2116,4 @@ Zachovat změny?</KeepChangesMessage>
|
||||
<Title>WebVTT - nastavit nový hlas</Title>
|
||||
<VoiceName>Název hlasu</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -2116,4 +2116,4 @@ kan redigere i samme undertekst fil (fælles online projekt)</Information>
|
||||
<Title>WebVTT - angiv ny stemme</Title>
|
||||
<VoiceName>Stemme-navn</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -2121,4 +2121,4 @@ gleiche Untertiteldatei bearbeiten können (Zusammenarbeit)</Information>
|
||||
<Title>WebVTT - Neue Sprache</Title>
|
||||
<VoiceName>Sprachname</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -1998,4 +1998,4 @@ Email: mailto:nikse.dk@gmail.com</AboutText1>
|
||||
<Title>WebVTT - καθορισμός νέας φωνής</Title>
|
||||
<VoiceName>Όνομα φωνής</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -1931,4 +1931,4 @@ puede editar el mismo archivo de subtítulo (colaboración)</Information>
|
||||
<Title>WebVTT - establecer nueva voz</Title>
|
||||
<VoiceName>Nombre de la voz</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -1257,4 +1257,4 @@ puede editar el mismo archivo de subtítulo (colaboración)</Information>
|
||||
<ShowWaveformOnly>Mostrar solo forma de onda</ShowWaveformOnly>
|
||||
<ShowSpectrogramOnly>Mostrar solo espectrograma</ShowSpectrogramOnly>
|
||||
</Waveform>
|
||||
</Language>
|
||||
</Language>
|
@ -2023,4 +2023,4 @@ puedan editar el mismo archivo de subtítulo (colaboración)</Information>
|
||||
<Title>WebVTT - fijar nueva voz</Title>
|
||||
<VoiceName>Nombre de la voz</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -109,12 +109,12 @@ Post@: mailto:nikse.dk@gmail.com</AboutText1>
|
||||
<GeneratingSpectrogram>Argilitza sortzen...</GeneratingSpectrogram>
|
||||
<ExtractingSeconds>Audioa ateratzen: {0:0.0} segundu</ExtractingSeconds>
|
||||
<ExtractingMinutes>Audioa ateratzen: {0}.{1:00} minutu</ExtractingMinutes>
|
||||
<WaveFileNotFound>Ezin da ateratako uhin agiria aurkitu! Ezaugarri honek VLC multimedia irakurgailua 1.1.x edo berriagoa behar du ({0}-bit).
|
||||
|
||||
<WaveFileNotFound>Ezin da ateratako uhin agiria aurkitu! Ezaugarri honek VLC multimedia irakurgailua 1.1.x edo berriagoa behar du ({0}-bit).
|
||||
|
||||
Agindu lerroa: {1} {2}</WaveFileNotFound>
|
||||
<WaveFileMalformed>{0}-k ezin ditu audio datuak atera uhin agirira!
|
||||
Agindu lerroa: {1} {2}
|
||||
|
||||
<WaveFileMalformed>{0}-k ezin ditu audio datuak atera uhin agirira!
|
||||
Agindu lerroa: {1} {2}
|
||||
|
||||
Oharra: Egiaztatu diskako toki askea.</WaveFileMalformed>
|
||||
<LowDiskSpace>TOKI GUTXI DISKAN</LowDiskSpace>
|
||||
<FreeDiskSpace>{0} aske</FreeDiskSpace>
|
||||
@ -2108,4 +2108,4 @@ Gorde aldaketak?</KeepChangesMessage>
|
||||
<Title>WebVTT - ezarri ahots berria</Title>
|
||||
<VoiceName>Ahotsaren izena</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -1279,4 +1279,4 @@ http://soft98.ir
|
||||
<ShowWaveformOnly>فقط نمایش شکل موج</ShowWaveformOnly>
|
||||
<ShowSpectrogramOnly>فقط نمایش طیف نگار</ShowSpectrogramOnly>
|
||||
</Waveform>
|
||||
</Language>
|
||||
</Language>
|
@ -2060,4 +2060,4 @@ Haluatko aloittaa asiakirjan alusta ja hakea kerran vielä?</FindContinue>
|
||||
<Title>NettiVTT - aseta uusi ääni</Title>
|
||||
<VoiceName>Äänen nimi</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -2126,4 +2126,4 @@ peuvent modifier le même fichier de sous-titres (collaboration)</Information>
|
||||
<Title>Web VTT – Définir l’interprète</Title>
|
||||
<VoiceName>Interprète du dialogue</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -2094,4 +2094,4 @@ određeni podnaslov s drugim ljudima.</Information>
|
||||
<Title>WebVTT - postavi novi glas</Title>
|
||||
<VoiceName>Naziv glasa</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -2106,4 +2106,4 @@ Megtartja a változásokat?</KeepChangesMessage>
|
||||
<Title>WebVTT - új hang beállítása</Title>
|
||||
<VoiceName>Hang neve</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -2088,4 +2088,4 @@ Mantenere le modifiche?</KeepChangesMessage>
|
||||
<Title>WebVTT - imposta nuova voce</Title>
|
||||
<VoiceName>Nome per la voce</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -1683,4 +1683,4 @@ C# ソース コードは https://github.com/SubtitleEdit/subtitleedit にあり
|
||||
<SplitLongLinesAt2>ミリ秒</SplitLongLinesAt2>
|
||||
<Other>その他</Other>
|
||||
</WaveformGenerateTimeCodes>
|
||||
</Language>
|
||||
</Language>
|
@ -2118,4 +2118,4 @@ C# 코드는 https://github.com/SubtitleEdit/subtitleedit 에 있습니다.
|
||||
<Title>WebVTT - 새로운 음성 설정</Title>
|
||||
<VoiceName>음성 이름</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -2120,4 +2120,4 @@ Wijzigingen behouden?</KeepChangesMessage>
|
||||
<Title>WebVTT - installeer nieuwe stem</Title>
|
||||
<VoiceName>Naam van de stem</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -2121,4 +2121,4 @@ Utrzymać te zmiany?</KeepChangesMessage>
|
||||
<Title>Ustaw nowy głos - WebVTT</Title>
|
||||
<VoiceName>Nazwa głosu</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -2099,4 +2099,4 @@ Manter as alterações?</KeepChangesMessage>
|
||||
<Title>WebVTT - definir nova voz</Title>
|
||||
<VoiceName>Nome da voz</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -2123,4 +2123,4 @@ Manter as alterações?</KeepChangesMessage>
|
||||
<Title>WebVTT - definir nova voz</Title>
|
||||
<VoiceName>Nome da voz</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -2108,4 +2108,4 @@ Păstrezi schimbările?</KeepChangesMessage>
|
||||
<Title>WebVTT - setare voce nouă</Title>
|
||||
<VoiceName>Denumirea vocii</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -2136,4 +2136,4 @@ https://github.com/SubtitleEdit/subtitleedit
|
||||
<Title>WebVTT - установить новый голос</Title>
|
||||
<VoiceName>Имя голоса</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -1961,4 +1961,4 @@ Ohranim spremembe?</KeepChangesMessage>
|
||||
<Title>WebVTT - nastavi nov glagolski način</Title>
|
||||
<VoiceName>Ime glagolskega načina</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -1239,4 +1239,4 @@
|
||||
<ShowWaveformOnly>Прикажи само таласни облик</ShowWaveformOnly>
|
||||
<ShowSpectrogramOnly>Прикажи само спектрограм</ShowSpectrogramOnly>
|
||||
</Waveform>
|
||||
</Language>
|
||||
</Language>
|
@ -1684,4 +1684,4 @@ određeni prevod s drugim ljudima.</Information>
|
||||
<SplitLongLinesAt2>Milisekundi</SplitLongLinesAt2>
|
||||
<Other>Ostalo</Other>
|
||||
</WaveformGenerateTimeCodes>
|
||||
</Language>
|
||||
</Language>
|
@ -1992,4 +1992,4 @@ kan redigera i samma textningsfil (samarbete)</Information>
|
||||
<Title>WebVTT - set ny röst</Title>
|
||||
<VoiceName>Namn av röst</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -2006,4 +2006,4 @@
|
||||
<Title>WebVTT - กำหนดเสียงใหม่</Title>
|
||||
<VoiceName>ตั้งชื่อของเสียง</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -2020,4 +2020,4 @@ Değişiklikler saklansın mı?</KeepChangesMessage>
|
||||
<Title>WebVTT - yeni ses ayarla</Title>
|
||||
<VoiceName>Yeni sesin adı</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -2108,4 +2108,4 @@ Email: mailto:nikse.dk@gmail.com</AboutText1>
|
||||
<Title>WebVTT - встановити новий голос</Title>
|
||||
<VoiceName>Назва голосу</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -1696,4 +1696,4 @@ có thể chỉnh sửa trong cùng một tập tin phụ đề (hợp tác vớ
|
||||
<SplitLongLinesAt2>ms</SplitLongLinesAt2>
|
||||
<Other>Khác</Other>
|
||||
</WaveformGenerateTimeCodes>
|
||||
</Language>
|
||||
</Language>
|
@ -2082,4 +2082,4 @@ Command line: {1} {2}
|
||||
<Title>WebVTT - 设定新人声</Title>
|
||||
<VoiceName>人声名称</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -1997,4 +1997,4 @@ C# 原始碼可從 https://github.com/SubtitleEdit/subtitleedit 取得。
|
||||
<Title>WebVTT - 設定新的語音</Title>
|
||||
<VoiceName>語音名稱</VoiceName>
|
||||
</WebVttNewVoice>
|
||||
</Language>
|
||||
</Language>
|
@ -87,7 +87,7 @@ Let us have some! Let us have some!";
|
||||
Assert.AreEqual(expected, actual);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[TestMethod]
|
||||
public void SrtNoLineNumbers()
|
||||
{
|
||||
var target = new SubRip();
|
||||
|
@ -1,459 +1,459 @@
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using Nikse.SubtitleEdit.Core;
|
||||
using Nikse.SubtitleEdit.Core.Forms.FixCommonErrors;
|
||||
using System;
|
||||
|
||||
namespace Test.Logic
|
||||
{
|
||||
[TestClass]
|
||||
public class UtilitiesTest
|
||||
{
|
||||
[TestMethod]
|
||||
public void AutoBreakLine1()
|
||||
{
|
||||
const int maxLength = 43;
|
||||
var s = Utilities.AutoBreakLine("You have a private health insurance and life insurance." + Environment.NewLine + "A digital clone included.", 5, 33, string.Empty);
|
||||
var arr = s.Replace(Environment.NewLine, "\n").Split('\n');
|
||||
Assert.AreEqual(2, arr.Length);
|
||||
Assert.IsFalse(arr[0].Length > maxLength);
|
||||
Assert.IsFalse(arr[1].Length > maxLength);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void AutoBreakLine2()
|
||||
{
|
||||
var s = Utilities.AutoBreakLine("We're gonna lose him." + Environment.NewLine + "He's left him four signals in the last week.", 5, 33, string.Empty);
|
||||
Assert.IsFalse(s == "We're gonna lose him." + Environment.NewLine + "He's left him four signals in the last week.");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void AutoBreakLine3()
|
||||
{
|
||||
string s1 = "- We're gonna lose him." + Environment.NewLine + "- He's left him four signals in the last week.";
|
||||
string s2 = Utilities.AutoBreakLine(s1);
|
||||
Assert.AreEqual(s1, s2);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void AutoBreakLine4()
|
||||
{
|
||||
Configuration.Settings.General.SubtitleLineMaximumLength = 43;
|
||||
const string s1 = "- Seriously, though. Are you being bullied? - Nope.";
|
||||
string s2 = Utilities.AutoBreakLine(s1);
|
||||
string target = "- Seriously, though. Are you being bullied?" + Environment.NewLine + "- Nope.";
|
||||
Assert.AreEqual(target, s2);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void AutoBreakLine5()
|
||||
{
|
||||
Configuration.Settings.General.SubtitleLineMaximumLength = 43;
|
||||
const string s1 = "<i>30 years ago I'd found</i> The Book of the Dead.";
|
||||
var s2 = Utilities.AutoBreakLine(s1);
|
||||
var Expected = "<i>30 years ago I'd found</i>" + Environment.NewLine + "The Book of the Dead.";
|
||||
Assert.AreEqual(Expected, s2);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void AutoBreakLine5DoNoBreakAtPeriod()
|
||||
{
|
||||
Configuration.Settings.General.SubtitleLineMaximumLength = 43;
|
||||
const string s1 = "Oh, snap, we're still saying the same thing. This is amazing!";
|
||||
string s2 = Utilities.AutoBreakLine(s1);
|
||||
string target = "Oh, snap, we're still saying the" + Environment.NewLine + "same thing. This is amazing!";
|
||||
Assert.AreEqual(target, s2);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void AutoBreakLineDoNotBreakAfterDashDash()
|
||||
{
|
||||
Configuration.Settings.General.SubtitleLineMaximumLength = 43;
|
||||
string s1 = "- That's hilarious, I don't--" + Environment.NewLine + "- Are the cheeks turning nice and pink?";
|
||||
string s2 = Utilities.AutoBreakLine(s1);
|
||||
Assert.AreEqual(s1, s2);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void AutoBreakLineDialog1()
|
||||
{
|
||||
const string s1 = "- Qu'est ce qui se passe ? - Je veux voir ce qu'ils veulent être.";
|
||||
string s2 = Utilities.AutoBreakLine(s1);
|
||||
Assert.AreEqual("- Qu'est ce qui se passe ?" + Environment.NewLine + "- Je veux voir ce qu'ils veulent être.", s2);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void AutoBreakLineDialog2()
|
||||
{
|
||||
const string s1 = "- Je veux voir ce qu'ils veulent être. - Qu'est ce qui se passe ?";
|
||||
string s2 = Utilities.AutoBreakLine(s1);
|
||||
Assert.AreEqual("- Je veux voir ce qu'ils veulent être." + Environment.NewLine + "- Qu'est ce qui se passe ?", s2);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixInvalidItalicTags2()
|
||||
{
|
||||
const string s1 = "Gledaj prema kameri i rici <i>zdravo!";
|
||||
string s2 = HtmlUtil.FixInvalidItalicTags(s1);
|
||||
Assert.AreEqual(s2, "Gledaj prema kameri i rici zdravo!");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixInvalidItalicTags3()
|
||||
{
|
||||
string s1 = "<i>Line 1.</i>" + Environment.NewLine + "<i>Line 2.";
|
||||
string s2 = HtmlUtil.FixInvalidItalicTags(s1);
|
||||
Assert.AreEqual(s2, "<i>Line 1." + Environment.NewLine + "Line 2.</i>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixInvalidItalicTags4()
|
||||
{
|
||||
string s1 = "It <i>is</i> a telegram," + Environment.NewLine + "it <i>is</i> ordering an advance,";
|
||||
string s2 = HtmlUtil.FixInvalidItalicTags(s1);
|
||||
Assert.AreEqual(s2, s1);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixInvalidItalicTags5()
|
||||
{
|
||||
string s1 = "- <i>It is a telegram?</i>" + Environment.NewLine + "<i>- It is.</i>";
|
||||
string s2 = HtmlUtil.FixInvalidItalicTags(s1);
|
||||
Assert.AreEqual(s2, "<i>- It is a telegram?" + Environment.NewLine + "- It is.</i>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixInvalidItalicTags6()
|
||||
{
|
||||
string s1 = "- <i>Text1!</i>" + Environment.NewLine + "- <i>Text2.</i>";
|
||||
string s2 = HtmlUtil.FixInvalidItalicTags(s1);
|
||||
Assert.AreEqual(s2, "<i>- Text1!" + Environment.NewLine + "- Text2.</i>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixInvalidItalicTags7()
|
||||
{
|
||||
string s1 = "<i>- You think they're they gone?<i>" + Environment.NewLine + "<i>- That can't be.</i>";
|
||||
string s2 = HtmlUtil.FixInvalidItalicTags(s1);
|
||||
Assert.AreEqual(s2, "<i>- You think they're they gone?" + Environment.NewLine + "- That can't be.</i>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixInvalidItalicTags8()
|
||||
{
|
||||
string s1 = "<i>- You think they're they gone?</i>" + Environment.NewLine + "<i>- That can't be.<i>";
|
||||
string s2 = HtmlUtil.FixInvalidItalicTags(s1);
|
||||
Assert.AreEqual(s2, "<i>- You think they're they gone?" + Environment.NewLine + "- That can't be.</i>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixInvalidItalicTags9()
|
||||
{
|
||||
const string s1 = "FALCONE:<i> I didn't think</i>\r\n<i>it was going to be you,</i>";
|
||||
string s2 = HtmlUtil.FixInvalidItalicTags(s1);
|
||||
Assert.AreEqual(s2, "FALCONE: <i>I didn't think\r\nit was going to be you,</i>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixInvalidItalicTags10()
|
||||
{
|
||||
const string s1 = "< I>Hallo!</I>";
|
||||
string s2 = HtmlUtil.FixInvalidItalicTags(s1);
|
||||
Assert.AreEqual(s2, "<i>Hallo!</i>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixInvalidItalicTags11()
|
||||
{
|
||||
const string s1 = "< I >Hallo!< /I>";
|
||||
string s2 = HtmlUtil.FixInvalidItalicTags(s1);
|
||||
Assert.AreEqual(s2, "<i>Hallo!</i>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixInvalidItalicTags12()
|
||||
{
|
||||
const string s1 = "< I >Hallo!<I/>";
|
||||
string s2 = HtmlUtil.FixInvalidItalicTags(s1);
|
||||
Assert.AreEqual(s2, "<i>Hallo!</i>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesDoubleSpace1()
|
||||
{
|
||||
const string s1 = "This is a test";
|
||||
string s2 = Utilities.RemoveUnneededSpaces(s1, "en");
|
||||
Assert.AreEqual(s2, "This is a test");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesDoubleSpace2()
|
||||
{
|
||||
const string s1 = "This is a test ";
|
||||
string s2 = Utilities.RemoveUnneededSpaces(s1, "en");
|
||||
Assert.AreEqual(s2, "This is a test");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesItalics1()
|
||||
{
|
||||
const string s1 = "<i> This is a test</i>";
|
||||
string s2 = Utilities.RemoveUnneededSpaces(s1, "en");
|
||||
Assert.AreEqual(s2, "<i>This is a test</i>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesItalics2()
|
||||
{
|
||||
const string s1 = "<i>This is a test </i>";
|
||||
string s2 = Utilities.RemoveUnneededSpaces(s1, "en");
|
||||
Assert.AreEqual(s2, "<i>This is a test</i>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesHyphen1()
|
||||
{
|
||||
const string s1 = "This is a low- budget job";
|
||||
string s2 = Utilities.RemoveUnneededSpaces(s1, "en");
|
||||
Assert.AreEqual(s2, "This is a low-budget job");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesHyphen2()
|
||||
{
|
||||
const string s1 = "This is a low- budget job";
|
||||
string s2 = Utilities.RemoveUnneededSpaces(s1, "en");
|
||||
Assert.AreEqual(s2, "This is a low-budget job");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesHyphenDoNotChange1()
|
||||
{
|
||||
const string s1 = "This is it - and he likes it!";
|
||||
string s2 = Utilities.RemoveUnneededSpaces(s1, "en");
|
||||
Assert.AreEqual(s2, s1);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesHyphenDoNotChange2()
|
||||
{
|
||||
const string s1 = "What are your long- and altitude stats?";
|
||||
string s2 = Utilities.RemoveUnneededSpaces(s1, "en");
|
||||
Assert.AreEqual(s2, s1);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesHyphenDoNotChange3()
|
||||
{
|
||||
const string s1 = "Did you buy that first- or second-handed?";
|
||||
string s2 = Utilities.RemoveUnneededSpaces(s1, "en");
|
||||
Assert.AreEqual(s2, s1);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesHyphenDoNotChangeDutch1()
|
||||
{
|
||||
const string s1 = "Wat zijn je voor- en familienaam?";
|
||||
string s2 = Utilities.RemoveUnneededSpaces(s1, "nl");
|
||||
Assert.AreEqual(s2, s1);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesHyphenDoNotChangeDutch2()
|
||||
{
|
||||
const string s1 = "Was het in het voor- of najaar?";
|
||||
string s2 = Utilities.RemoveUnneededSpaces(s1, "nl");
|
||||
Assert.AreEqual(s2, s1);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesDialogDotDotDotLine1()
|
||||
{
|
||||
string s = Utilities.RemoveUnneededSpaces("- ... Careful", "en");
|
||||
Assert.AreEqual(s, "- ...Careful");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesDialogDotDotDotLine2()
|
||||
{
|
||||
string s = Utilities.RemoveUnneededSpaces("- Hi!" + Environment.NewLine + "- ... Careful", "en");
|
||||
Assert.AreEqual(s, "- Hi!" + Environment.NewLine + "- ...Careful");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesFontTag1()
|
||||
{
|
||||
string s = Utilities.RemoveUnneededSpaces("<font color=\"#808080\"> (PEOPLE SPEAKING INDISTINCTLY) </font>", "en");
|
||||
Assert.AreEqual(s, "<font color=\"#808080\">(PEOPLE SPEAKING INDISTINCTLY)</font>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesFontTag2()
|
||||
{
|
||||
string s = Utilities.RemoveUnneededSpaces("Foobar\r\n<font color=\"#808080\"> (PEOPLE SPEAKING INDISTINCTLY) </font>", "en");
|
||||
Assert.AreEqual(s, "Foobar\r\n<font color=\"#808080\">(PEOPLE SPEAKING INDISTINCTLY)</font>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesFontTag3()
|
||||
{
|
||||
string s = Utilities.RemoveUnneededSpaces("<FONT COLOR=\"#808080\">- Foobar! </FONT>\r\n<font color=\"#808080\"> (PEOPLE SPEAKING INDISTINCTLY) </font>", "en");
|
||||
Assert.AreEqual(s, "<font color=\"#808080\">- Foobar!</font>\r\n<font color=\"#808080\">(PEOPLE SPEAKING INDISTINCTLY)</font>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void CountTagInTextStringOneLetterString()
|
||||
{
|
||||
int count = Utilities.CountTagInText("HHH", "H");
|
||||
Assert.AreEqual(count, 3);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void CountTagInTextStringNotThere()
|
||||
{
|
||||
int count = Utilities.CountTagInText("HHH", "B");
|
||||
Assert.AreEqual(count, 0);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void CountTagInTextCharNormal()
|
||||
{
|
||||
int count = Utilities.CountTagInText("HHH", 'H');
|
||||
Assert.AreEqual(count, 3);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void CountTagInTextCharNotThere()
|
||||
{
|
||||
int count = Utilities.CountTagInText("HHH", 'B');
|
||||
Assert.AreEqual(count, 0);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixHyphensAddTest()
|
||||
{
|
||||
string test1 = "<font color=\"#008080\">- Foobar." + Environment.NewLine + "Foobar.</font>";
|
||||
string expected1 = "<font color=\"#008080\">- Foobar." + Environment.NewLine + "- Foobar.</font>";
|
||||
|
||||
string test2 = "<i>Foobar.</i>" + Environment.NewLine + "- Foobar.";
|
||||
var expected2 = "<i>- Foobar.</i>" + Environment.NewLine + "- Foobar.";
|
||||
|
||||
var sub = new Subtitle();
|
||||
sub.Paragraphs.Add(new Paragraph(test1, 0000, 11111));
|
||||
sub.Paragraphs.Add(new Paragraph(test2, 0000, 11111));
|
||||
|
||||
string output1 = Helper.FixHyphensAdd(sub, 0, "en");
|
||||
string output2 = Helper.FixHyphensAdd(sub, 1, "en");
|
||||
|
||||
Assert.AreEqual(output1, expected1);
|
||||
Assert.AreEqual(output2, expected2);
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using Nikse.SubtitleEdit.Core;
|
||||
using Nikse.SubtitleEdit.Core.Forms.FixCommonErrors;
|
||||
using System;
|
||||
|
||||
namespace Test.Logic
|
||||
{
|
||||
[TestClass]
|
||||
public class UtilitiesTest
|
||||
{
|
||||
[TestMethod]
|
||||
public void AutoBreakLine1()
|
||||
{
|
||||
const int maxLength = 43;
|
||||
var s = Utilities.AutoBreakLine("You have a private health insurance and life insurance." + Environment.NewLine + "A digital clone included.", 5, 33, string.Empty);
|
||||
var arr = s.Replace(Environment.NewLine, "\n").Split('\n');
|
||||
Assert.AreEqual(2, arr.Length);
|
||||
Assert.IsFalse(arr[0].Length > maxLength);
|
||||
Assert.IsFalse(arr[1].Length > maxLength);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixHyphensAddTestAssTag()
|
||||
{
|
||||
string test1 = "{\\an5}- At least I was going back to Hawaii." + Environment.NewLine + "Woody.";
|
||||
string expected1 = "{\\an5}- At least I was going back to Hawaii." + Environment.NewLine + "- Woody.";
|
||||
var sub = new Subtitle();
|
||||
sub.Paragraphs.Add(new Paragraph(test1, 0000, 11111));
|
||||
|
||||
string output1 = Helper.FixHyphensAdd(sub, 0, "en");
|
||||
|
||||
Assert.AreEqual(output1, expected1);
|
||||
[TestMethod]
|
||||
public void AutoBreakLine2()
|
||||
{
|
||||
var s = Utilities.AutoBreakLine("We're gonna lose him." + Environment.NewLine + "He's left him four signals in the last week.", 5, 33, string.Empty);
|
||||
Assert.IsFalse(s == "We're gonna lose him." + Environment.NewLine + "He's left him four signals in the last week.");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixHyphensAddTestItalic()
|
||||
{
|
||||
string test1 = "<i>- At least I was going back to Hawaii.</i>" + Environment.NewLine + "<i>Woody.</i>";
|
||||
string expected1 = "<i>- At least I was going back to Hawaii.</i>" + Environment.NewLine + "<i>- Woody.</i>";
|
||||
var sub = new Subtitle();
|
||||
sub.Paragraphs.Add(new Paragraph(test1, 0000, 11111));
|
||||
|
||||
string output1 = Helper.FixHyphensAdd(sub, 0, "en");
|
||||
|
||||
Assert.AreEqual(output1, expected1);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void RemoveLineBreaks1()
|
||||
{
|
||||
string result = Utilities.RemoveLineBreaks("Hey" + Environment.NewLine + "you!");
|
||||
Assert.AreEqual(result, "Hey you!");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void RemoveLineBreaks2()
|
||||
{
|
||||
string result = Utilities.RemoveLineBreaks("<i>Foobar " + Environment.NewLine + "</i> foobar.");
|
||||
Assert.AreEqual(result, "<i>Foobar</i> foobar.");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void RemoveLineBreaks3()
|
||||
{
|
||||
string result = Utilities.RemoveLineBreaks("<i>Foobar " + Environment.NewLine + "</i>foobar.");
|
||||
Assert.AreEqual(result, "<i>Foobar</i> foobar.");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void RemoveLineBreaks4()
|
||||
{
|
||||
string result = Utilities.RemoveLineBreaks("<i>Hey</i>" + Environment.NewLine + "<i>you!</i>");
|
||||
Assert.AreEqual(result, "<i>Hey you!</i>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void RemoveLineBreaks5()
|
||||
{
|
||||
string result = Utilities.RemoveLineBreaks("<i>Foobar" + Environment.NewLine + "</i>");
|
||||
Assert.AreEqual(result, "<i>Foobar</i>");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void AutoBreakLine3()
|
||||
{
|
||||
string s1 = "- We're gonna lose him." + Environment.NewLine + "- He's left him four signals in the last week.";
|
||||
string s2 = Utilities.AutoBreakLine(s1);
|
||||
Assert.AreEqual(s1, s2);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void AutoBreakLine4()
|
||||
{
|
||||
Configuration.Settings.General.SubtitleLineMaximumLength = 43;
|
||||
const string s1 = "- Seriously, though. Are you being bullied? - Nope.";
|
||||
string s2 = Utilities.AutoBreakLine(s1);
|
||||
string target = "- Seriously, though. Are you being bullied?" + Environment.NewLine + "- Nope.";
|
||||
Assert.AreEqual(target, s2);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void AutoBreakLine5()
|
||||
{
|
||||
Configuration.Settings.General.SubtitleLineMaximumLength = 43;
|
||||
const string s1 = "<i>30 years ago I'd found</i> The Book of the Dead.";
|
||||
var s2 = Utilities.AutoBreakLine(s1);
|
||||
var Expected = "<i>30 years ago I'd found</i>" + Environment.NewLine + "The Book of the Dead.";
|
||||
Assert.AreEqual(Expected, s2);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void AutoBreakLine5DoNoBreakAtPeriod()
|
||||
{
|
||||
Configuration.Settings.General.SubtitleLineMaximumLength = 43;
|
||||
const string s1 = "Oh, snap, we're still saying the same thing. This is amazing!";
|
||||
string s2 = Utilities.AutoBreakLine(s1);
|
||||
string target = "Oh, snap, we're still saying the" + Environment.NewLine + "same thing. This is amazing!";
|
||||
Assert.AreEqual(target, s2);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void AutoBreakLineDoNotBreakAfterDashDash()
|
||||
{
|
||||
Configuration.Settings.General.SubtitleLineMaximumLength = 43;
|
||||
string s1 = "- That's hilarious, I don't--" + Environment.NewLine + "- Are the cheeks turning nice and pink?";
|
||||
string s2 = Utilities.AutoBreakLine(s1);
|
||||
Assert.AreEqual(s1, s2);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void AutoBreakLineDialog1()
|
||||
{
|
||||
const string s1 = "- Qu'est ce qui se passe ? - Je veux voir ce qu'ils veulent être.";
|
||||
string s2 = Utilities.AutoBreakLine(s1);
|
||||
Assert.AreEqual("- Qu'est ce qui se passe ?" + Environment.NewLine + "- Je veux voir ce qu'ils veulent être.", s2);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void AutoBreakLineDialog2()
|
||||
{
|
||||
const string s1 = "- Je veux voir ce qu'ils veulent être. - Qu'est ce qui se passe ?";
|
||||
string s2 = Utilities.AutoBreakLine(s1);
|
||||
Assert.AreEqual("- Je veux voir ce qu'ils veulent être." + Environment.NewLine + "- Qu'est ce qui se passe ?", s2);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixInvalidItalicTags2()
|
||||
{
|
||||
const string s1 = "Gledaj prema kameri i rici <i>zdravo!";
|
||||
string s2 = HtmlUtil.FixInvalidItalicTags(s1);
|
||||
Assert.AreEqual(s2, "Gledaj prema kameri i rici zdravo!");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixInvalidItalicTags3()
|
||||
{
|
||||
string s1 = "<i>Line 1.</i>" + Environment.NewLine + "<i>Line 2.";
|
||||
string s2 = HtmlUtil.FixInvalidItalicTags(s1);
|
||||
Assert.AreEqual(s2, "<i>Line 1." + Environment.NewLine + "Line 2.</i>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixInvalidItalicTags4()
|
||||
{
|
||||
string s1 = "It <i>is</i> a telegram," + Environment.NewLine + "it <i>is</i> ordering an advance,";
|
||||
string s2 = HtmlUtil.FixInvalidItalicTags(s1);
|
||||
Assert.AreEqual(s2, s1);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixInvalidItalicTags5()
|
||||
{
|
||||
string s1 = "- <i>It is a telegram?</i>" + Environment.NewLine + "<i>- It is.</i>";
|
||||
string s2 = HtmlUtil.FixInvalidItalicTags(s1);
|
||||
Assert.AreEqual(s2, "<i>- It is a telegram?" + Environment.NewLine + "- It is.</i>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixInvalidItalicTags6()
|
||||
{
|
||||
string s1 = "- <i>Text1!</i>" + Environment.NewLine + "- <i>Text2.</i>";
|
||||
string s2 = HtmlUtil.FixInvalidItalicTags(s1);
|
||||
Assert.AreEqual(s2, "<i>- Text1!" + Environment.NewLine + "- Text2.</i>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixInvalidItalicTags7()
|
||||
{
|
||||
string s1 = "<i>- You think they're they gone?<i>" + Environment.NewLine + "<i>- That can't be.</i>";
|
||||
string s2 = HtmlUtil.FixInvalidItalicTags(s1);
|
||||
Assert.AreEqual(s2, "<i>- You think they're they gone?" + Environment.NewLine + "- That can't be.</i>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixInvalidItalicTags8()
|
||||
{
|
||||
string s1 = "<i>- You think they're they gone?</i>" + Environment.NewLine + "<i>- That can't be.<i>";
|
||||
string s2 = HtmlUtil.FixInvalidItalicTags(s1);
|
||||
Assert.AreEqual(s2, "<i>- You think they're they gone?" + Environment.NewLine + "- That can't be.</i>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixInvalidItalicTags9()
|
||||
{
|
||||
const string s1 = "FALCONE:<i> I didn't think</i>\r\n<i>it was going to be you,</i>";
|
||||
string s2 = HtmlUtil.FixInvalidItalicTags(s1);
|
||||
Assert.AreEqual(s2, "FALCONE: <i>I didn't think\r\nit was going to be you,</i>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixInvalidItalicTags10()
|
||||
{
|
||||
const string s1 = "< I>Hallo!</I>";
|
||||
string s2 = HtmlUtil.FixInvalidItalicTags(s1);
|
||||
Assert.AreEqual(s2, "<i>Hallo!</i>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixInvalidItalicTags11()
|
||||
{
|
||||
const string s1 = "< I >Hallo!< /I>";
|
||||
string s2 = HtmlUtil.FixInvalidItalicTags(s1);
|
||||
Assert.AreEqual(s2, "<i>Hallo!</i>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixInvalidItalicTags12()
|
||||
{
|
||||
const string s1 = "< I >Hallo!<I/>";
|
||||
string s2 = HtmlUtil.FixInvalidItalicTags(s1);
|
||||
Assert.AreEqual(s2, "<i>Hallo!</i>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesDoubleSpace1()
|
||||
{
|
||||
const string s1 = "This is a test";
|
||||
string s2 = Utilities.RemoveUnneededSpaces(s1, "en");
|
||||
Assert.AreEqual(s2, "This is a test");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesDoubleSpace2()
|
||||
{
|
||||
const string s1 = "This is a test ";
|
||||
string s2 = Utilities.RemoveUnneededSpaces(s1, "en");
|
||||
Assert.AreEqual(s2, "This is a test");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesItalics1()
|
||||
{
|
||||
const string s1 = "<i> This is a test</i>";
|
||||
string s2 = Utilities.RemoveUnneededSpaces(s1, "en");
|
||||
Assert.AreEqual(s2, "<i>This is a test</i>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesItalics2()
|
||||
{
|
||||
const string s1 = "<i>This is a test </i>";
|
||||
string s2 = Utilities.RemoveUnneededSpaces(s1, "en");
|
||||
Assert.AreEqual(s2, "<i>This is a test</i>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesHyphen1()
|
||||
{
|
||||
const string s1 = "This is a low- budget job";
|
||||
string s2 = Utilities.RemoveUnneededSpaces(s1, "en");
|
||||
Assert.AreEqual(s2, "This is a low-budget job");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesHyphen2()
|
||||
{
|
||||
const string s1 = "This is a low- budget job";
|
||||
string s2 = Utilities.RemoveUnneededSpaces(s1, "en");
|
||||
Assert.AreEqual(s2, "This is a low-budget job");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesHyphenDoNotChange1()
|
||||
{
|
||||
const string s1 = "This is it - and he likes it!";
|
||||
string s2 = Utilities.RemoveUnneededSpaces(s1, "en");
|
||||
Assert.AreEqual(s2, s1);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesHyphenDoNotChange2()
|
||||
{
|
||||
const string s1 = "What are your long- and altitude stats?";
|
||||
string s2 = Utilities.RemoveUnneededSpaces(s1, "en");
|
||||
Assert.AreEqual(s2, s1);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesHyphenDoNotChange3()
|
||||
{
|
||||
const string s1 = "Did you buy that first- or second-handed?";
|
||||
string s2 = Utilities.RemoveUnneededSpaces(s1, "en");
|
||||
Assert.AreEqual(s2, s1);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesHyphenDoNotChangeDutch1()
|
||||
{
|
||||
const string s1 = "Wat zijn je voor- en familienaam?";
|
||||
string s2 = Utilities.RemoveUnneededSpaces(s1, "nl");
|
||||
Assert.AreEqual(s2, s1);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesHyphenDoNotChangeDutch2()
|
||||
{
|
||||
const string s1 = "Was het in het voor- of najaar?";
|
||||
string s2 = Utilities.RemoveUnneededSpaces(s1, "nl");
|
||||
Assert.AreEqual(s2, s1);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesDialogDotDotDotLine1()
|
||||
{
|
||||
string s = Utilities.RemoveUnneededSpaces("- ... Careful", "en");
|
||||
Assert.AreEqual(s, "- ...Careful");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesDialogDotDotDotLine2()
|
||||
{
|
||||
string s = Utilities.RemoveUnneededSpaces("- Hi!" + Environment.NewLine + "- ... Careful", "en");
|
||||
Assert.AreEqual(s, "- Hi!" + Environment.NewLine + "- ...Careful");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesFontTag1()
|
||||
{
|
||||
string s = Utilities.RemoveUnneededSpaces("<font color=\"#808080\"> (PEOPLE SPEAKING INDISTINCTLY) </font>", "en");
|
||||
Assert.AreEqual(s, "<font color=\"#808080\">(PEOPLE SPEAKING INDISTINCTLY)</font>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesFontTag2()
|
||||
{
|
||||
string s = Utilities.RemoveUnneededSpaces("Foobar\r\n<font color=\"#808080\"> (PEOPLE SPEAKING INDISTINCTLY) </font>", "en");
|
||||
Assert.AreEqual(s, "Foobar\r\n<font color=\"#808080\">(PEOPLE SPEAKING INDISTINCTLY)</font>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixUnneededSpacesFontTag3()
|
||||
{
|
||||
string s = Utilities.RemoveUnneededSpaces("<FONT COLOR=\"#808080\">- Foobar! </FONT>\r\n<font color=\"#808080\"> (PEOPLE SPEAKING INDISTINCTLY) </font>", "en");
|
||||
Assert.AreEqual(s, "<font color=\"#808080\">- Foobar!</font>\r\n<font color=\"#808080\">(PEOPLE SPEAKING INDISTINCTLY)</font>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void CountTagInTextStringOneLetterString()
|
||||
{
|
||||
int count = Utilities.CountTagInText("HHH", "H");
|
||||
Assert.AreEqual(count, 3);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void CountTagInTextStringNotThere()
|
||||
{
|
||||
int count = Utilities.CountTagInText("HHH", "B");
|
||||
Assert.AreEqual(count, 0);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void CountTagInTextCharNormal()
|
||||
{
|
||||
int count = Utilities.CountTagInText("HHH", 'H');
|
||||
Assert.AreEqual(count, 3);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void CountTagInTextCharNotThere()
|
||||
{
|
||||
int count = Utilities.CountTagInText("HHH", 'B');
|
||||
Assert.AreEqual(count, 0);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixHyphensAddTest()
|
||||
{
|
||||
string test1 = "<font color=\"#008080\">- Foobar." + Environment.NewLine + "Foobar.</font>";
|
||||
string expected1 = "<font color=\"#008080\">- Foobar." + Environment.NewLine + "- Foobar.</font>";
|
||||
|
||||
string test2 = "<i>Foobar.</i>" + Environment.NewLine + "- Foobar.";
|
||||
var expected2 = "<i>- Foobar.</i>" + Environment.NewLine + "- Foobar.";
|
||||
|
||||
var sub = new Subtitle();
|
||||
sub.Paragraphs.Add(new Paragraph(test1, 0000, 11111));
|
||||
sub.Paragraphs.Add(new Paragraph(test2, 0000, 11111));
|
||||
|
||||
string output1 = Helper.FixHyphensAdd(sub, 0, "en");
|
||||
string output2 = Helper.FixHyphensAdd(sub, 1, "en");
|
||||
|
||||
Assert.AreEqual(output1, expected1);
|
||||
Assert.AreEqual(output2, expected2);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixHyphensAddTestAssTag()
|
||||
{
|
||||
string test1 = "{\\an5}- At least I was going back to Hawaii." + Environment.NewLine + "Woody.";
|
||||
string expected1 = "{\\an5}- At least I was going back to Hawaii." + Environment.NewLine + "- Woody.";
|
||||
var sub = new Subtitle();
|
||||
sub.Paragraphs.Add(new Paragraph(test1, 0000, 11111));
|
||||
|
||||
string output1 = Helper.FixHyphensAdd(sub, 0, "en");
|
||||
|
||||
Assert.AreEqual(output1, expected1);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void FixHyphensAddTestItalic()
|
||||
{
|
||||
string test1 = "<i>- At least I was going back to Hawaii.</i>" + Environment.NewLine + "<i>Woody.</i>";
|
||||
string expected1 = "<i>- At least I was going back to Hawaii.</i>" + Environment.NewLine + "<i>- Woody.</i>";
|
||||
var sub = new Subtitle();
|
||||
sub.Paragraphs.Add(new Paragraph(test1, 0000, 11111));
|
||||
|
||||
string output1 = Helper.FixHyphensAdd(sub, 0, "en");
|
||||
|
||||
Assert.AreEqual(output1, expected1);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void RemoveLineBreaks1()
|
||||
{
|
||||
string result = Utilities.RemoveLineBreaks("Hey" + Environment.NewLine + "you!");
|
||||
Assert.AreEqual(result, "Hey you!");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void RemoveLineBreaks2()
|
||||
{
|
||||
string result = Utilities.RemoveLineBreaks("<i>Foobar " + Environment.NewLine + "</i> foobar.");
|
||||
Assert.AreEqual(result, "<i>Foobar</i> foobar.");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void RemoveLineBreaks3()
|
||||
{
|
||||
string result = Utilities.RemoveLineBreaks("<i>Foobar " + Environment.NewLine + "</i>foobar.");
|
||||
Assert.AreEqual(result, "<i>Foobar</i> foobar.");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void RemoveLineBreaks4()
|
||||
{
|
||||
string result = Utilities.RemoveLineBreaks("<i>Hey</i>" + Environment.NewLine + "<i>you!</i>");
|
||||
Assert.AreEqual(result, "<i>Hey you!</i>");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
[DeploymentItem("SubtitleEdit.exe")]
|
||||
public void RemoveLineBreaks5()
|
||||
{
|
||||
string result = Utilities.RemoveLineBreaks("<i>Foobar" + Environment.NewLine + "</i>");
|
||||
Assert.AreEqual(result, "<i>Foobar</i>");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1,121 +1,121 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace UpdateLanguageFiles
|
||||
{
|
||||
internal class Program
|
||||
{
|
||||
private static readonly Regex TemplateFileVersionRegex; // e.g.: [assembly: AssemblyVersion("3.4.8.[REVNO]")]
|
||||
static Program()
|
||||
{
|
||||
var options = RegexOptions.Compiled | RegexOptions.ExplicitCapture | RegexOptions.CultureInvariant | RegexOptions.Multiline;
|
||||
TemplateFileVersionRegex = new Regex(@"^[ \t]*\[assembly:[ \t]*AssemblyVersion\(""(?<version>[0-9]+\.[0-9]+\.[0-9]+)\.\[REVNO\]""\)\]", options);
|
||||
}
|
||||
|
||||
private const string WorkInProgress = "Updating language files...";
|
||||
|
||||
private static void WriteWarning(string message)
|
||||
{
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("WARNING: " + message);
|
||||
Console.Write(WorkInProgress);
|
||||
}
|
||||
|
||||
private static int Main(string[] args)
|
||||
{
|
||||
var myName = Environment.GetCommandLineArgs()[0];
|
||||
myName = Path.GetFileNameWithoutExtension(string.IsNullOrWhiteSpace(myName) ? System.Reflection.Assembly.GetEntryAssembly().Location : myName);
|
||||
if (args.Length != 2)
|
||||
{
|
||||
Console.Write("Usage: " + myName + @" <LanguageMaster> <LanguageDeserializer>
|
||||
<LanguageMaster> Path to the LanguageMaster xml file (LanguageMaster.xml)
|
||||
<LanguageDeserializer> Path to the LanguageDeserializer source code file (LanguageDeserializer.cs)
|
||||
");
|
||||
return 1;
|
||||
}
|
||||
|
||||
Console.Write(WorkInProgress);
|
||||
|
||||
try
|
||||
{
|
||||
int noOfChanges = 0;
|
||||
|
||||
var language = new Nikse.SubtitleEdit.Core.Language { General = { Version = FindVersionNumber() } };
|
||||
var languageAsXml = language.GetCurrentLanguageAsXml();
|
||||
var oldLanguageAsXml = string.Empty;
|
||||
if (File.Exists(args[0]))
|
||||
oldLanguageAsXml = File.ReadAllText(args[0]);
|
||||
if (oldLanguageAsXml != languageAsXml)
|
||||
{
|
||||
language.Save(args[0]);
|
||||
noOfChanges++;
|
||||
Console.Write(" {0} generated...", Path.GetFileName(args[0]));
|
||||
}
|
||||
|
||||
var languageDeserializerContent = Nikse.SubtitleEdit.Logic.LanguageDeserializerGenerator.GenerateCSharpXmlDeserializerForLanguage();
|
||||
var oldLanguageDeserializerContent = string.Empty;
|
||||
if (File.Exists(args[1]))
|
||||
oldLanguageDeserializerContent = File.ReadAllText(args[1]);
|
||||
if (oldLanguageDeserializerContent != languageDeserializerContent)
|
||||
{
|
||||
File.WriteAllText(args[1], languageDeserializerContent, Encoding.UTF8);
|
||||
noOfChanges++;
|
||||
Console.Write(" {0} generated...", Path.GetFileName(args[1]));
|
||||
}
|
||||
|
||||
if (noOfChanges == 0)
|
||||
{
|
||||
Console.WriteLine(" no changes");
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("ERROR: " + myName + ": " + exception.Message + Environment.NewLine + exception.StackTrace);
|
||||
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
||||
private static string FindVersionNumber()
|
||||
{
|
||||
var templateFileName = Path.Combine("src", "Properties", "AssemblyInfo.cs.template");
|
||||
if (!File.Exists(templateFileName))
|
||||
templateFileName = Path.Combine("..", templateFileName);
|
||||
if (!File.Exists(templateFileName))
|
||||
templateFileName = Path.Combine("..", templateFileName);
|
||||
if (!File.Exists(templateFileName))
|
||||
templateFileName = Path.Combine("..", templateFileName);
|
||||
if (!File.Exists(templateFileName))
|
||||
templateFileName = Path.Combine("..", templateFileName);
|
||||
if (!File.Exists(templateFileName))
|
||||
templateFileName = Path.Combine("..", templateFileName);
|
||||
|
||||
if (File.Exists(templateFileName))
|
||||
{
|
||||
var templateText = File.ReadAllText(templateFileName);
|
||||
var versionMatch = TemplateFileVersionRegex.Match(templateText);
|
||||
if (versionMatch.Success)
|
||||
{
|
||||
return versionMatch.Groups["version"].Value;
|
||||
}
|
||||
WriteWarning("No valid AssemblyVersion in template file '" + Path.GetFullPath(templateFileName) + "'.");
|
||||
}
|
||||
else
|
||||
{
|
||||
WriteWarning("Template file '" + Path.GetFileName(templateFileName) + "' not found.");
|
||||
}
|
||||
|
||||
return "unknown";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
{
|
||||
internal class Program
|
||||
{
|
||||
private static readonly Regex TemplateFileVersionRegex; // e.g.: [assembly: AssemblyVersion("3.4.8.[REVNO]")]
|
||||
static Program()
|
||||
{
|
||||
var options = RegexOptions.Compiled | RegexOptions.ExplicitCapture | RegexOptions.CultureInvariant | RegexOptions.Multiline;
|
||||
TemplateFileVersionRegex = new Regex(@"^[ \t]*\[assembly:[ \t]*AssemblyVersion\(""(?<version>[0-9]+\.[0-9]+\.[0-9]+)\.\[REVNO\]""\)\]", options);
|
||||
}
|
||||
|
||||
private const string WorkInProgress = "Updating language files...";
|
||||
|
||||
private static void WriteWarning(string message)
|
||||
{
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("WARNING: " + message);
|
||||
Console.Write(WorkInProgress);
|
||||
}
|
||||
|
||||
private static int Main(string[] args)
|
||||
{
|
||||
var myName = Environment.GetCommandLineArgs()[0];
|
||||
myName = Path.GetFileNameWithoutExtension(string.IsNullOrWhiteSpace(myName) ? System.Reflection.Assembly.GetEntryAssembly().Location : myName);
|
||||
if (args.Length != 2)
|
||||
{
|
||||
Console.Write("Usage: " + myName + @" <LanguageMaster> <LanguageDeserializer>
|
||||
<LanguageMaster> Path to the LanguageMaster xml file (LanguageMaster.xml)
|
||||
<LanguageDeserializer> Path to the LanguageDeserializer source code file (LanguageDeserializer.cs)
|
||||
");
|
||||
return 1;
|
||||
}
|
||||
|
||||
Console.Write(WorkInProgress);
|
||||
|
||||
try
|
||||
{
|
||||
int noOfChanges = 0;
|
||||
|
||||
var language = new Nikse.SubtitleEdit.Core.Language { General = { Version = FindVersionNumber() } };
|
||||
var languageAsXml = language.GetCurrentLanguageAsXml();
|
||||
var oldLanguageAsXml = string.Empty;
|
||||
if (File.Exists(args[0]))
|
||||
oldLanguageAsXml = File.ReadAllText(args[0]);
|
||||
if (oldLanguageAsXml != languageAsXml)
|
||||
{
|
||||
language.Save(args[0]);
|
||||
noOfChanges++;
|
||||
Console.Write(" {0} generated...", Path.GetFileName(args[0]));
|
||||
}
|
||||
|
||||
var languageDeserializerContent = Nikse.SubtitleEdit.Logic.LanguageDeserializerGenerator.GenerateCSharpXmlDeserializerForLanguage();
|
||||
var oldLanguageDeserializerContent = string.Empty;
|
||||
if (File.Exists(args[1]))
|
||||
oldLanguageDeserializerContent = File.ReadAllText(args[1]);
|
||||
if (oldLanguageDeserializerContent != languageDeserializerContent)
|
||||
{
|
||||
File.WriteAllText(args[1], languageDeserializerContent, Encoding.UTF8);
|
||||
noOfChanges++;
|
||||
Console.Write(" {0} generated...", Path.GetFileName(args[1]));
|
||||
}
|
||||
|
||||
if (noOfChanges == 0)
|
||||
{
|
||||
Console.WriteLine(" no changes");
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
Console.WriteLine();
|
||||
Console.WriteLine("ERROR: " + myName + ": " + exception.Message + Environment.NewLine + exception.StackTrace);
|
||||
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
||||
private static string FindVersionNumber()
|
||||
{
|
||||
var templateFileName = Path.Combine("src", "Properties", "AssemblyInfo.cs.template");
|
||||
if (!File.Exists(templateFileName))
|
||||
templateFileName = Path.Combine("..", templateFileName);
|
||||
if (!File.Exists(templateFileName))
|
||||
templateFileName = Path.Combine("..", templateFileName);
|
||||
if (!File.Exists(templateFileName))
|
||||
templateFileName = Path.Combine("..", templateFileName);
|
||||
if (!File.Exists(templateFileName))
|
||||
templateFileName = Path.Combine("..", templateFileName);
|
||||
if (!File.Exists(templateFileName))
|
||||
templateFileName = Path.Combine("..", templateFileName);
|
||||
|
||||
if (File.Exists(templateFileName))
|
||||
{
|
||||
var templateText = File.ReadAllText(templateFileName);
|
||||
var versionMatch = TemplateFileVersionRegex.Match(templateText);
|
||||
if (versionMatch.Success)
|
||||
{
|
||||
return versionMatch.Groups["version"].Value;
|
||||
}
|
||||
WriteWarning("No valid AssemblyVersion in template file '" + Path.GetFullPath(templateFileName) + "'.");
|
||||
}
|
||||
else
|
||||
{
|
||||
WriteWarning("Template file '" + Path.GetFileName(templateFileName) + "' not found.");
|
||||
}
|
||||
|
||||
return "unknown";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user