diff --git a/Redaction/Clean.xba b/Redaction/Clean.xba index 1c0ea54..373660b 100644 --- a/Redaction/Clean.xba +++ b/Redaction/Clean.xba @@ -34,6 +34,7 @@ Private Sub makerUpMenu dialog.getControl("configTables").Label = getTranslation("advancedMenuConfigTables") dialog.getControl("configAnchors").Label = getTranslation("advancedMenuConfigAnchors") dialog.getControl("fixMistakes").Label = getTranslation("advancedMenuFixMistakes") + dialog.getControl("fixDOI").Label = getTranslation("advancedMenuFixDOI") dialog.getControl("removeInitPageBreak").Label = getTranslation("advancedMenuRemoveInitPageBreak") dialog.getControl("removePageStyles").Label = getTranslation("advancedMenuRemovePageStyles") dialog.getControl("loadStandardStyles").Label = getTranslation("advancedMenuLoadStandardStyles") @@ -108,6 +109,10 @@ Private Sub cleanAccordingTo(dialog As Object) statusIndicator.Start(getTranslation("statusFixFrequentMistakes"),100) fixFrequentMistakes EndIf + If dialog.getControl("fixDOI").state = 1 Then + statusIndicator.Start(getTranslation("statusFixingDOI"),100) + fixDOI + EndIf If dialog.getControl("removeInitPageBreak").state = 1 Then statusIndicator.Start(getTranslation("statusRemovePageBreakAtStart"),100) removeFirstElementPageBreak diff --git a/Redaction/CleaningDialog.xdl b/Redaction/CleaningDialog.xdl index 85cf5a4..135f3c8 100644 --- a/Redaction/CleaningDialog.xdl +++ b/Redaction/CleaningDialog.xdl @@ -1,10 +1,10 @@ - + - + - + @@ -12,17 +12,18 @@ - - - + + + - - + + - - + + - + + \ No newline at end of file diff --git a/Redaction/Translations.xba b/Redaction/Translations.xba index c39e07e..492650d 100644 --- a/Redaction/Translations.xba +++ b/Redaction/Translations.xba @@ -263,6 +263,12 @@ Function getRussian(identifier As String) As String Case "advancedMenuRemoveAllFields" getRussian = "Удалить все поля данных" Exit Function + Case "advancedMenuFixDOI" + getRussian = "Исправить DOI" + Exit Function + Case "statusFixingDOI" + getRussian = "Исправляем DOI" + Exit Function Case Else getRussian = "Перевод не найден" End Select @@ -508,6 +514,12 @@ Function getEnglish(identifier As String) As String Case "advancedMenuRemoveAllFields" getEnglish = "Remove all fields" Exit Function + Case "advancedMenuFixDOI" + getEnglish = "Fix DOI" + Exit Function + Case "statusFixingDOI" + getEnglish = "Fixing DOI" + Exit Function Case Else getEnglish = "No translation" End Select @@ -752,6 +764,12 @@ Function getCroatian(identifier As String) As String Case "advancedMenuRemoveAllFields" getCroatian = "Uklonite sva polja" Exit Function + Case "advancedMenuFixDOI" + getCroatian = "Popravi DOI" + Exit Function + Case "statusFixingDOI" + getCroatian = "Ispravljamo DOI" + Exit Function Case Else getCroatian = "No translation" End Select @@ -996,6 +1014,12 @@ Function getSerbian(identifier As String) As String Case "advancedMenuRemoveAllFields" getSerbian = "Уклоните сва поља" Exit Function + Case "advancedMenuFixDOI" + getSerbian = "Поправи DOI" + Exit Function + Case "statusFixingDOI" + getSerbian = "Исправљамо DOI" + Exit Function Case Else getSerbian = "No translation" End Select @@ -1240,6 +1264,12 @@ Function getBosnian(identifier As String) As String Case "advancedMenuRemoveAllFields" getBosnian = "Uklonite sva polja" Exit Function + Case "advancedMenuFixDOI" + getBosnian = "Uklonite DOI" + Exit Function + Case "statusFixingDOI" + getBosnian = "Ispravljamo DOI" + Exit Function Case Else getBosnian = "No translation" End Select diff --git a/Redaction/Validation.xba b/Redaction/Validation.xba index 1e17055..07b74b0 100644 --- a/Redaction/Validation.xba +++ b/Redaction/Validation.xba @@ -1,6 +1,6 @@ -Sub markval20 +Sub markval21 End Sub @@ -73,7 +73,7 @@ Sub validateButton If sectionsReport <> "" Then MsgBox sectionsReport EndIf - If isInDoc("[\uE000-\uF8FF]") Or isInDoc("(?<=DOI[0-9. /XVI:‒–—−ХOО?-]{1,50})[ХOО‒–—−]{1,5}") Then + If isInDoc("[\uE000-\uF8FF]") Then badText = true EndIf @@ -145,13 +145,25 @@ End Function Private Sub removeBadCharacters StartTracking AskAndReplace("[\uE000-\uF8FF]+","") - AskAndReplace("(?<=DOI[0-9. /XVI:‒–—−ХOО?-]{1,50})[Х]{1,5}","X") - AskAndReplace("(?<=DOI[0-9. /XVI:‒–—−ХOО?-]{1,50})[OО]{1,5}","0") - AskAndReplace("(?<=DOI[0-9. /XVI:‒–—−ХOО?-]{1,50})[‒–—−]{1,5}","-") StopTracking showTrackedChanges End Sub + +Private Sub fixDOI + StartTracking + replaceCharsInDOI + StopTracking + showTrackedChanges +End Sub + + +Sub replaceCharsInDOI + AskAndReplace("(?<=DOI[0-9. /XVI:‒–—−ХOО?-]{1,50})[Х]{1,5}","X") + AskAndReplace("(?<=DOI[0-9. /XVI:‒–—−ХOО?-]{1,50})[OО]{1,5}","0") + AskAndReplace("(?<=DOI[0-9. /XVI:‒–—−ХOО?-]{1,50})[‒–—−]{1,5}","-") +End sub + Private Function noteSingsCheck() As String Dim footnotes As Object Dim footnote As Object diff --git a/translations.ods b/translations.ods index 9cc65e0..d23c2a4 100644 Binary files a/translations.ods and b/translations.ods differ