diff --git a/LanguageMaster.xml b/LanguageMaster.xml index 1aaf488d0..cf2d262f2 100644 --- a/LanguageMaster.xml +++ b/LanguageMaster.xml @@ -1279,6 +1279,7 @@ To use an API key go to "Options -> Settings -> Tools" to enter your Googl Translate selected lines... Adjust durations for selected lines... Apply duration limits for selected lines... + Apply custom override tag... Fix common errors in selected lines... Change casing for selected lines... Save selected lines as... @@ -2014,6 +2015,7 @@ can edit in same subtitle file (collaboration) Start in source view Remove blank lines when opening a subtitle Remove blank lines + Apply ASSA override tags to selection Show line breaks in list view as "Save as..." uses file name from Double-clicking line in main window list view will diff --git a/src/ui/Forms/Main.Designer.cs b/src/ui/Forms/Main.Designer.cs index d11ae7cda..26666b2c0 100644 --- a/src/ui/Forms/Main.Designer.cs +++ b/src/ui/Forms/Main.Designer.cs @@ -2563,7 +2563,7 @@ namespace Nikse.SubtitleEdit.Forms this.toolStripMenuItemSelectedLines, this.toolStripMenuItemGoogleMicrosoftTranslateSelLine}); this.contextMenuStripListView.Name = "contextMenuStripListView"; - this.contextMenuStripListView.Size = new System.Drawing.Size(285, 754); + this.contextMenuStripListView.Size = new System.Drawing.Size(285, 732); this.contextMenuStripListView.Closed += new System.Windows.Forms.ToolStripDropDownClosedEventHandler(this.MenuClosed); this.contextMenuStripListView.Opening += new System.ComponentModel.CancelEventHandler(this.ContextMenuStripListViewOpening); this.contextMenuStripListView.Opened += new System.EventHandler(this.MenuOpened); diff --git a/src/ui/Forms/Main.cs b/src/ui/Forms/Main.cs index 8bcd0c762..eb9e22b0b 100644 --- a/src/ui/Forms/Main.cs +++ b/src/ui/Forms/Main.cs @@ -2138,7 +2138,7 @@ namespace Nikse.SubtitleEdit.Forms private bool ContinueNewOrExitOriginal() { - if (Configuration.Settings.General.AllowEditOfOriginalSubtitle && _subtitleOriginal != null && _subtitleOriginal.Paragraphs.Count > 0 && _changeOriginalSubtitleHash != _subtitleOriginal.GetFastHashCode(GetCurrentEncoding().BodyName)) + if (Configuration.Settings.General.AllowEditOfOriginalSubtitle && _subtitleOriginal != null && _subtitleOriginal.Paragraphs.Count > 0 && _changeOriginalSubtitleHash != GetFastSubtitleOriginalHash()) { string promptText = _language.SaveChangesToUntitledOriginal; if (!string.IsNullOrEmpty(_subtitleOriginalFileName)) @@ -3986,7 +3986,7 @@ namespace Nikse.SubtitleEdit.Forms if (_subtitleOriginal != null && _subtitleOriginal.Paragraphs.Count > 0) { _subtitleOriginal.AddTimeToAllParagraphs(TimeSpan.FromMilliseconds(-Configuration.Settings.General.CurrentVideoOffsetInMs)); - _changeOriginalSubtitleHash = _subtitleOriginal.GetFastHashCode(GetCurrentEncoding().BodyName); + _changeOriginalSubtitleHash = GetFastSubtitleOriginalHash(); SubtitleListview1.Fill(_subtitle, _subtitleOriginal); } else @@ -4432,7 +4432,7 @@ namespace Nikse.SubtitleEdit.Forms Configuration.Settings.RecentFiles.Add(_fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs); Configuration.Settings.Save(); ShowStatus(string.Format(_language.SavedOriginalSubtitleX, _subtitleOriginalFileName)); - _changeOriginalSubtitleHash = _subtitleOriginal.GetFastHashCode(GetCurrentEncoding().BodyName); + _changeOriginalSubtitleHash = GetFastSubtitleOriginalHash(); return DialogResult.OK; } @@ -4460,7 +4460,7 @@ namespace Nikse.SubtitleEdit.Forms File.WriteAllText(_subtitleOriginalFileName, allText, currentEncoding); ShowStatus(string.Format(_language.SavedOriginalSubtitleX, _subtitleOriginalFileName)); - _changeOriginalSubtitleHash = _subtitleOriginal.GetFastHashCode(GetCurrentEncoding().BodyName); + _changeOriginalSubtitleHash = GetFastSubtitleOriginalHash(); return DialogResult.OK; } catch @@ -20028,7 +20028,7 @@ namespace Nikse.SubtitleEdit.Forms labelCharactersPerSecond.Left = textBoxListViewText.Left + (textBoxListViewText.Width - labelCharactersPerSecond.Width); labelTextLineTotal.Left = textBoxListViewText.Left + (textBoxListViewText.Width - labelTextLineTotal.Width); Main_Resize(null, null); - _changeOriginalSubtitleHash = _subtitleOriginal.GetFastHashCode(GetCurrentEncoding().BodyName); + _changeOriginalSubtitleHash = GetFastSubtitleOriginalHash(); SetTitle(); } @@ -20501,8 +20501,7 @@ namespace Nikse.SubtitleEdit.Forms var originalActive = Configuration.Settings.General.AllowEditOfOriginalSubtitle && _subtitleOriginal != null && _subtitleOriginal.Paragraphs.Count > 0; - var originalChanged = originalActive && - _changeOriginalSubtitleHash != _subtitleOriginal.GetFastHashCode(GetCurrentEncoding().BodyName); + var originalChanged = originalActive && _changeOriginalSubtitleHash != GetFastSubtitleOriginalHash(); if (currentChanged || originalChanged) { AddTitleBarChangeAsterisk(currentChanged, originalChanged, originalActive); @@ -24568,7 +24567,7 @@ namespace Nikse.SubtitleEdit.Forms labelTextLineTotal.Left = textBoxListViewText.Left + (textBoxListViewText.Width - labelTextLineTotal.Width); AddOriginal(); Main_Resize(null, null); - _changeOriginalSubtitleHash = _subtitleOriginal.GetFastHashCode(GetCurrentEncoding().BodyName); + _changeOriginalSubtitleHash = GetFastSubtitleOriginalHash(); } else { @@ -31112,6 +31111,11 @@ namespace Nikse.SubtitleEdit.Forms return _subtitle.GetFastHashCode(_fileName + GetCurrentEncoding().BodyName); } + private int GetFastSubtitleOriginalHash() + { + return _subtitleOriginal.GetFastHashCode(_subtitleOriginalFileName + GetCurrentEncoding().BodyName); + } + private void mergeSentencesToolStripMenuItem_Click(object sender, EventArgs e) { var language = LanguageAutoDetect.AutoDetectGoogleLanguage(_subtitle); diff --git a/src/ui/Forms/Main.resx b/src/ui/Forms/Main.resx index c6a3097b8..ecca87c4a 100644 --- a/src/ui/Forms/Main.resx +++ b/src/ui/Forms/Main.resx @@ -464,75 +464,75 @@ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAOgSURBVFhH7VddSBVBFN7+s6BCsTL0zuxuqUlREUEQFEFE - oRD0UiFEEUjive7sSiFE3J4ieughECwIn/rx7qIlRGAPam9GGJFIRNHP7r1REj30h4Ru59TR1hmte/15 - 64OPy+75Zs7Hmdkzc7X/mAoeVlVe8G3RHmXaFtdCTZtDktmDx1h5cn3piG8lwrQjxlOIvSSbPbhmrNkz - edh38IBiIHCseySbHbSVrym4bvKvaODupg2KgRZHjGQaGipIPvPwTHYGk4+yv/qIYiLjiKskn1mkKioW - 3jJ5Jmrg/vZtioG0c+JbJpEopGEzh5TJj0aTI2+Zxe8D23oqm4AqnKVhMwdP532yAddk52DjHZMNBJb1 - 7nkisYiGTh+w9rvl5MDvN3R9FSbChIoJu/44DZ8+UgbrmMDANQprAZRcNgCN6QmFp4ebul4KyYajyZMm - H2nV9Y0k0XDT4eaTTQRC7CHJ1OEavCmaHAlr30nhMUAVrioGHOsuhaeG1uLifM/gXxQDBttPkjFgA8JG - FDXQYlvw7JSTJHd4BmtUk/OByQ4dbMVRA0ioTDOFc8OVrVsXuDoPZAPAGpIowMNINvDMEV+DxroCkmSP - lB6rlpO7jA3CsuSRRAFWJrCF0pigMmdIkj1ckz+SDbQw9uOmyT/9jV27dg2pBuoy/cnkQpr63/A43ykn - z5Zt68zwdV3tOANI37aO0vT/Rkrn7RNNni17K/cpBtKW1UfT/x1ta0tMKP+4xpMr71SUhb6oV0z4dmI3 - pZkcrs4uK5PGYh+gHzzOhU+PHApkA2m7voPSTIx2xlbAne+zbMDV9SqSZI23tr1RbkywQYcDxykliQpw - fkpO7pklz5KaNpckOcEXojNqAOlbVhOFxwPczYdkbxQDOqslSc7INFj7ZQMvTp78AtXJJ8kfwJF7WElu - 8I8dRUVLSJIzwjCc4ztiQDYB7xpJ8gdw3e6VDUDfP0/hKSPTIGpkA4ETD8KamgUkwbWP7ZCTe4WFQ7fL - StaQJAo8iCajAih33qt4fFA28dYR1ST5tflOw52vyzVi3Skj1tNqsAc3dHYRQkuBy4C4ZiuBRcBiYAzI - gJx+8RnfYxx1qF8OxPGLX9bHbd+O98CZ0A03pS4kXGYvQUwB7nYsDR44o4lXAXFyHYifEP7xwNvQZuAW - +sVnfI9xA1gCXA3EUxDnwX2EZ0FOX9NoWXHQPCAaw0mQeONdHCE+IzGGuvlAHIeccGl+Q9N+AmViTTVe - 9ERhAAAAAElFTkSuQmCC + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAOhSURBVFhH7VddSBVBFN5+7BcqEitD78zulpkUFREEQSJE + JApBLxVCFIEU3uvOrhRCxO0poocegqCC6il/7i5aggT2oPVWhBFFSBT97N4bJdFDWUjkdk4da53x515/ + 3vrg47J7vpnzcWb2zFztPyaDh9VV53xbtEeZtsW1UNNmkWTm4DFWmlxfMuRbiTDtiJEUYjfJZg6uGbvs + mTzs3bdXMRA41h2SzQzaSlfn3zT5ABro3LRBMXDdEUOZhoYykk8/PJOdwuTDfFZzUDGRccRVkk8vUmVl + 81pMnokauLt9m2Ig7Rz9lkkkCmjY9CFl8kPR5MgWs+hDYFtPZRNQhdM0bPrg6bxXNuCa7AxsvMOygcCy + 3r9IJObT0KkD1r5CTg783qTrKzERJlRM2PVHaPjUkTJYxygGrlFYC6DksgFoTE8oPDU063oJJPsZTZ40 + +VCrrm8kiYabDjefbCIQYhdJJg/X4JeiyZGw9l0U/guowlXFgGN1UnhyaC0qWu4Z/KtiwGCVJPkLbEDY + iKIGrtsWPDulJMkdnsEa1eT8+ViHDrbiqAEkVOYyhXPDla1b81ydB7IBYC1JFOBhJBvoc8RA0FiXT5Ls + kdJjNXJyl7F+WJaFJFGAlQlsoTQmqMwpkmQP1+SPZAM3GPvRbPLP47G7vHxQNVCXeZZMzqOpJ4bH+U45 + ebZsW2uGb+qOjzCA9G3rEE0/MVI6bx9t8mz5oGqPYiBtWb00/fhoW1NsQvlHNJ5cebtsXeiLesWEbycq + KM3YcHV2UZk0FvsI/eBxLnx6cH8gG0jb9R2UZnS0M7YM7nxfZAOurleTJGu8s+2NcmOCDfozcJwSkqgA + 5yfk5J5Z3JfUtNkkyQm+EF1RA0jfsi5ReCTA3VxI9lYxoLPjJMkZmQarUjbw8tixr1Cd5ST5BzhyDyjJ + Df6po7BwEUlyRhiGs3xHPJdNwLtGkvwDXLcfyAag75+l8KSRaRC1soHAiQdhbW0eSXDtYzvk5F5BweCt + dcWrSRIFHkRjUQGUe+HreLxfNvHOETUk+b35TsKdr9s1Yj0pI3av1WD3m3R2HkKLgUuAuGYrgIXAImAM + yICcfvEZ32McdahfCsTxC17Vx23fjt+DM6EHbkrdSLjMXoCYAtztWBo8cIYTrwTi5DoQPyH844G3oc3A + LfSLz/ge4wawGLgKiKcgzoP7CM+CnL6m4bLioDlANIaTIPHGuyBCfEZiDHVzgTgOOerS/IGm/QJCbk0x + F4JE5wAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAQcSURBVFhH1VddaFNnGI6zuKkMZII/WM1JMigqBRlTrD+0 - TjaYIHq1iyHUgmNSiOc0or2oNmwg9qJORO2oq+t+tNYmtsVWW/on7Vqr2B+NsbZpkjY5OUnbXNgLwQtd - P9/n5LSUePLHyY0PPHznfb/ve9/n+090HyUYY0ukUKj40fCI+/Gz5xOSFPqFfEuVam0IhUKc1+evezHm - eRCTLu+T6qZu9vudDnatsYtVNnSykXH3sGpbhZ5JsT4cDmcpaWJDlKQ/rVWNrLjCFpcXb7UyEnuR+GuF - vUO1zWKevVbPIEJJExvUqEEtQDTL/m1moig2isFgzW8kRq1NNDETSprYSFYAeO6vJnb+n2bVOjWmJMDW - 3s9aegfTQsRKWUAZjaz85v20ELFSFoBdXtv2MC1ErJQFDDpdo9PT09vSQcRKWcDAC9ew4tIMxPp4BdBZ - z5yamqoiVoPBYPDs/HciUtsDiKFJAAU6jOsWvtI/GhjZcgk7ESECMTQJoFFsH3K4wj39zle9RAo6gBJ2 - IlLfM4ihSUA6oEkAnlk6Snvo0clTyC36zqO6XVar9RO5cwxoEoCN1NI3xP6+18NqWnuZ0+l8hxI22PHo - KYMItO39dl+7ZBFYtUWY8xcVZcMHaBJAozxY3/WYXba1scr6TnkTooQNNvU8YTMzM3sbDIZs65eGOc/P - PzGIEC1ClRyQoEmAJEkrKOkREnKURppP9l6UsEGq+5GWaZndxF0nsr4tW95BgMTzb0InT65BDE0CkkGN - wbCWkr+BgLtbN5eQgFcQESjiS1HvHPU8LKm8w1we3325QzxEC6DRbhvzeDuhHqQ9cR3lqHuyi+p2o43d - yJUiud20frYxK+tzSRAuyAJ4PuQymz+lPrliIHCDZmwH2seFyh44irWGb/FFhGeWvoVqvf4zm2nDFATY - jFy53IfnuYn8/LeRWThRAF/SUBGw4/moZxD2wMj4MNl2lI6X7iH6/qbOqC9AchLy1s5xejkIgZLXyQIs - /FOm0y1R3ImRyh5AYLtp0zMIqDVlTtNSXJlnZ87ONgiIiLDsV7okRioCbMZN+yNrr86xgnxZgF/gm5Qu - iZGSABPXjERUThBvRbP/++9aIeBBbu7/gVN84v8EwIIA57iXNtnhKB6idefQ7jbHZVlN3Jwi4Ae5cxSY - 1Zrhswi+yFLwVxV3fMwLuEI7H89wNP9zOGdJxEpKWhGZ6o0+GmGG0v0DUPLTEOA+fvw1Xc9fKO7Y8AcC - l2pa+xbu+mj2ORzhusLCdbVG7mWtXi9WcRuLqdtqIm69dcT1Sgl7dcm+HL1XOOGeNJv9k4L5GPninwi6 - VjNoqnNolAsv3jzp11Fed3c3EiwnriIiEY4e1hePz1fEr5USNvyoX0tEe/TDbCV/LJMEAsZiHOh07wEe - dvieza2HAAAAAABJRU5ErkJggg== + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAQZSURBVFhH1VdbaBNZGI5rcb0giIIXvGSSCGUVQUTFeqF1 + RWEF0ad9WBZqQVGEONOI9qHaoCD64AVRK3Wrdb3U2sS2bLtaaltpba1iLxpjbdMkbTKZpG0e9EHwQe3x + /ybTUuLkxuTFDz7O/P855/+/c090PyUYY1OkUKjgRU+v++Wbt4OSFDpJvqlKtTaEQiHO6/NXvuv3PI1J + l/dVWW0Lu/awkV2vaWYl1U2sd8Ddo9pWoWdIrAqHw5lKmtgQJemmtbSGFRTb4vLi/XpGYi8STxXbG1Xb + TOaJ61UMIpQ0sUGNqtUCRPPsnTomimKNGAyWXyAxam2iiZlQ0sRGsgLA07dq2Znbdap1akxJgO1JB3vc + 1pUWIlbKAs7SyM7de5QWIlbKArDLKxqep4WIlbKALqerb2RkZHU6iFgpC+h85+pRXJqBWD+vADrrS4aH + h0uJZWAwGDwx/p2I1HYnYmgSQIH24LqFr+ifaka2XMJORIhADE0CaBTruh2ucGuH80MbkYJ2ooSdiNT3 + OGJoEpAOaBKAZ5aO0mZ6dHIUcpO+c6huo9Vq/UXuHAOaBGAjPW7vZv/+38rK69uY0+n8ihI22PjiNYMI + tG3bvvWJZBHYTYsw5s/PXwUfoEkAjXJXVfNLdtnWwEqqmuRNiBI2WNv6io2Ojm6pNhhWWZcbxjwH9jOI + EC1CqRyQoEmAJEkzKenfJGQvjTSX7C0oYYNU9xct0zS7ibtBZO0rVnyFAInnP4eOHJmPGJoEJINyg2EB + Jf8MAf+t/K2QBHyAiEA+X4R6Z5/neWHJQ+by+B7JHeIhWgCNdnW/x9sE9SDtiRso+9xDzVS3CW3sRq4I + ye2mRR9rMjNnS4JwXhbA8yGX2fwr9ckWA4G7NGPr0T4uVPbAXqw1fJMvIjyz9C2U6fXTbabFwxBgM3Ln + 5D48zw3m5n6JzMLhPPiShoqA9W/7PF2wO3sHesi2o3S8d3fT9++VRn0ekpOQL3aO08tBCJS8UhZg4V8z + nW6K4k6MVPYAAttNy95AQIVpyQgtxZVxNmVtaICAiAjLNqVLYqQiwGZcti2y9ursz8uVBfgFvlbpkhgp + CTBxdUhE5SDxfjQ7/thRDwFPs7O/BY7yif8TABMCnANe2mR7orib1p1Duwccl2k1cWOKgD/lzlFgVmuG + zyL4IkvBX1Xc8TEu4ArtfDzD0XzmcH4kEbMoaXFkqpf6aIQZSvcfQMmPQYD74MFPdD3PVdyx4Q8ELpXX + t0/c9dFsdzjClYcOLawwcu8r9HqxlFtaQN3mEXHrLSQuUkrY8wq3Zum9wmH3kNnsHxLM+8gX/0TQtZpB + U51Fo5x48cZJv45yWlpakGAGcQ4RiXD0sL54fNYQ1yolbPhRv4CI9uiH2Ur+WCYJBIzFONDpvgMXPPid + zJ9NcQAAAABJRU5ErkJggg== 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 @@ -775,7 +775,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD2 - CAAAAk1TRnQBSQFMAgEBAgEAAVQBKgFUASoBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + CAAAAk1TRnQBSQFMAgEBAgEAAVwBKgFcASoBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA diff --git a/src/ui/Forms/Translate/GenericTranslate.cs b/src/ui/Forms/Translate/GenericTranslate.cs index 730fa1b4b..2a7b095da 100644 --- a/src/ui/Forms/Translate/GenericTranslate.cs +++ b/src/ui/Forms/Translate/GenericTranslate.cs @@ -1,5 +1,4 @@ using Nikse.SubtitleEdit.Controls; -using Nikse.SubtitleEdit.Core; using Nikse.SubtitleEdit.Core.Common; using Nikse.SubtitleEdit.Core.SubtitleFormats; using Nikse.SubtitleEdit.Core.Translate; @@ -341,8 +340,20 @@ namespace Nikse.SubtitleEdit.Forms.Translate } catch (TranslationException translationException) { - MessageBox.Show(translationException.Message + Environment.NewLine + - translationException.InnerException?.Source + ": " + translationException.InnerException?.Message); + if (translationException.InnerException != null && translationException.InnerException.Message.Contains("The remote name could not be resolved")) + { + ShowNetworkError(translationException.InnerException); + } + else + { + MessageBox.Show(translationException.Message + Environment.NewLine + + translationException.InnerException?.Source + ": " + translationException.InnerException?.Message); + } + } + catch (Exception exception) + { + SeLogger.Error(exception); + ShowNetworkError(exception); } finally { @@ -358,6 +369,14 @@ namespace Nikse.SubtitleEdit.Forms.Translate } } + private static void ShowNetworkError(Exception exception) + { + MessageBox.Show("Subtitle Edit was unable to connect to the translation service." + Environment.NewLine + + "Try again later or check your internet connection." + Environment.NewLine + + Environment.NewLine + + "Error: " + exception.Message); + } + private List GetSelectedParagraphs() { var selectedParagraphs = new List(); diff --git a/src/ui/Logic/LanguageDeserializer.cs b/src/ui/Logic/LanguageDeserializer.cs index 0c26d1dcb..dc0f9ddb1 100644 --- a/src/ui/Logic/LanguageDeserializer.cs +++ b/src/ui/Logic/LanguageDeserializer.cs @@ -4225,6 +4225,9 @@ namespace Nikse.SubtitleEdit.Logic case "Main/Menu/ContextMenu/ApplyDurationLimitsForSelectedLines": language.Main.Menu.ContextMenu.ApplyDurationLimitsForSelectedLines = reader.Value; break; + case "Main/Menu/ContextMenu/ApplyCustomOverrideTag": + language.Main.Menu.ContextMenu.ApplyCustomOverrideTag = reader.Value; + break; case "Main/Menu/ContextMenu/FixCommonErrorsInSelectedLines": language.Main.Menu.ContextMenu.FixCommonErrorsInSelectedLines = reader.Value; break; @@ -5452,6 +5455,9 @@ namespace Nikse.SubtitleEdit.Logic case "Settings/RemoveBlankLines": language.Settings.RemoveBlankLines = reader.Value; break; + case "Settings/ApplyAssaOverrideTags": + language.Settings.ApplyAssaOverrideTags = reader.Value; + break; case "Settings/ShowLineBreaksAs": language.Settings.ShowLineBreaksAs = reader.Value; break;