From fce72b8a2d0284cc2f2bf61503b38cca518b16f5 Mon Sep 17 00:00:00 2001 From: Georgy Litvinov Date: Mon, 4 May 2020 15:52:04 +0200 Subject: [PATCH] Translated validation --- Redaction/Clean.xba | 2 +- Redaction/Translations.xba | 85 ++++++++++++++++++++++++++++++++++++- Redaction/Validation.xba | 18 ++++---- description.xml | 2 +- translations.ods | Bin 15312 -> 16943 bytes 5 files changed, 95 insertions(+), 12 deletions(-) diff --git a/Redaction/Clean.xba b/Redaction/Clean.xba index 8691ebb..98fdfd6 100644 --- a/Redaction/Clean.xba +++ b/Redaction/Clean.xba @@ -1,6 +1,6 @@ -Sub mark49 +Sub mark50 End Sub diff --git a/Redaction/Translations.xba b/Redaction/Translations.xba index cc5c492..59a4e28 100644 --- a/Redaction/Translations.xba +++ b/Redaction/Translations.xba @@ -143,7 +143,48 @@ Function getRussian(identifier As String) As String Case "statusRemovedUnusedStyles" getRussian = "Удаляем неиспользуемые стили" Exit Function - + Case "validationSuccess" + getRussian = "Документ успешно прошел проверку. " & chr(10) & "Проблем не было найдено" + Exit Function + Case "validationWarning" + getRussian = "Перед публикацией документа следует исправить все найденные замечания." + Exit Function + Case "validationBadSymbolsNotification" + getRussian = "В тексте обнаружены неподходящие для публикции символы." & chr(10) & " Далее будет представлен список отрывков текста с подобными символами." + Exit Function + Case "validationBadDrawings" + getRussian = "В документе найдены рисунки (" + Exit Function + Case "validationBadEmbeededObjects" + getRussian = "В документе найдены встроенные объекты (" + Exit Function + Case "validationExcerptNotSuitable" + getRussian = "), неподходящие для публикации. " + Exit Function + Case "validateFootnotes1" + getRussian = "Символ" + Exit Function + Case "validateFootnotes2" + getRussian = "в сноске (абсолютный номер)" + Exit Function + Case "validateFootnotes3" + getRussian = "не подходит для публикации" + Exit Function + Case "validateNumberingsReportFonts" + getRussian = "В следующих списках нумерации найдены шрифты" + Exit Function + Case "validateNumberingsReportSymbols" + getRussian = "В качестве маркера в следующих списках нумерации задан некорректный символ" + Exit Function + Case "validateNumberingLevel" + getRussian = "Уровень" + Exit Function + Case "validateNumberingFont" + getRussian = "шрифт" + Exit Function + Case "validateNumberingSymbol" + getRussian = "символ" + Exit Function Case Else getRussian = "Перевод не найден" End Select @@ -278,6 +319,48 @@ Function getEnglish(identifier As String) As String Case "statusRemovedUnusedStyles" getEnglish = "Removing unused styles" Exit Function + Case "validationSuccess" + getEnglish = "Validation completed successfully" & chr(10) & "No problems found." + Exit Function + Case "validationWarning" + getEnglish = "It is recommended to fix all problems before publication." + Exit Function + Case "validationBadSymbolsNotification" + getEnglish = "Unsuitable symbols were found" & chr(10) & " Now you will get the list with bad symbols." + Exit Function + Case "validationBadDrawings" + getEnglish = "Drawings was found (" + Exit Function + Case "validationBadEmbeededObjects" + getEnglish = "Embeeded objects were found (" + Exit Function + Case "validationExcerptNotSuitable" + getEnglish = "), which are not suitable for digital publication" + Exit Function + Case "validateFootnotes1" + getEnglish = "Symbol" + Exit Function + Case "validateFootnotes2" + getEnglish = "in footnote (absolute number)" + Exit Function + Case "validateFootnotes3" + getEnglish = "is not suitable for publication" + Exit Function + Case "validateNumberingsReportFonts" + getEnglish = "In next numbering lists found fonts " + Exit Function + Case "validateNumberingsReportSymbols" + getEnglish = "Incorrect symbol used as a marker in following numbering lists" + Exit Function + Case "validateNumberingLevel" + getEnglish = "Level" + Exit Function + Case "validateNumberingFont" + getEnglish = "font" + Exit Function + Case "validateNumberingSymbol" + getEnglish = "symbol" + Exit Function Case Else getEnglish = "No translation" End Select diff --git a/Redaction/Validation.xba b/Redaction/Validation.xba index 41ac99c..8444ca3 100644 --- a/Redaction/Validation.xba +++ b/Redaction/Validation.xba @@ -61,13 +61,13 @@ Sub validateButton printNumberingSymbols(needExtendedInfo) If badText OR badNumberings OR badFootnoteSigns OR badGraphics Then - MsgBox "Перед публикацией документа следует исправить все найденные замечания." + MsgBox getTranslation("validationWarning") If badText Then - MsgBox "В тексте обнаружены неподходящие для публикции символы." & chr(10) & " Далее будет представлен список отрывков текста с подобными символами." + MsgBox getTranslation("validationBadSymbolsNotification") removeBadCharacters EndIf Else - MsgBox "Документ успешно прошел проверку. " & chr(10) & "Все изображения и символы корректны." + MsgBox getTranslation("validationSuccess") EndIf End Sub @@ -108,10 +108,10 @@ Private Function checkGraphics() As String EndIf Next i If drawingN <> 0 Then - result = result &"В документе найдены рисунки (" & drawingN & "), неподходящие для публикации." & chr(10) + result = result & getTranslation("validationBadDrawings") & drawingN & getTranslation("validationExcerptNotSuitable") & chr(10) EndIf If badFrame <> 0 Then - result = result &"В документе найдены встроенные объекты (" & badFrame & "), неподходящие для публикации." & chr(10) + result = result & getTranslation("validationBadEmbeededObjects") & badFrame & getTranslation("validationExcerptNotSuitable") & chr(10) EndIf checkGraphics = result End Function @@ -142,7 +142,7 @@ Private Function checkAllFootnotes() As String For j = 1 to charNum char = Asc(Right(Left(label,j),1)) If char >= 57344 AND char <= 63743 then - result = result & "Символ "& Chr(char) &" сноски "& i &" не подходит для публикации"& chr(10) + result = result & getTranslation("validateFootnotes1") & " " & Chr(char) & " " & getTranslation("validateFootnotes2") & " " & i & " " & getTranslation("validateFootnotes3") & chr(10) End If Next j Next i @@ -195,7 +195,7 @@ Private Sub printNumberingSymbols(needExtendedInfo) exLength = Len(excerpt) EndIf If fontChar <> "" Then - tmp = "Уровень " & (j + 1) & " шрифт " & fontName & " символ " & fontChar & " (" & Hex(Asc(fontChar)) & ") "& Left(excerpt,exLength) & chr(10) + tmp = getTranslation("validateNumberingLevel") &" " & (j + 1) & " " & getTranslation("validateNumberingFont") & " " & fontName & " " & getTranslation("validateNumberingSymbol") & " " & fontChar & " (" & Hex(Asc(fontChar)) & ") "& Left(excerpt,exLength) & chr(10) If Asc(fontChar) > 57344 AND Asc(fontChar) < 63743 Then resultBad = resultBad & tmp ElseIf fontName <> "IPH Astra Serif" _ @@ -218,10 +218,10 @@ Private Sub printNumberingSymbols(needExtendedInfo) Exit sub Else If resultBad <> "" Then - report = "В качестве маркера в следующих списках нумерации задан некорректный символ"& chr(10) & resultBad + report = getTranslation("validateNumberingsReportSymbols") & chr(10) & resultBad EndIf If result <> "" Then - report = report & "В следующих списках нумерации найдены шрифты "& chr(10)& result + report = report & getTranslation("validateNumberingsReportFonts") & " "& chr(10)& result EndIf EndIf MsgBox report diff --git a/description.xml b/description.xml index b6c84a1..e8e8d04 100644 --- a/description.xml +++ b/description.xml @@ -3,7 +3,7 @@ xmlns:dep="http://openoffice.org/extensions/description/2006" xmlns:xlink="http://www.w3.org/1999/xlink"> - + Cleaning and validation documents for publishing in html and epub with pagination diff --git a/translations.ods b/translations.ods index 9d338fef025a7752094e8ee0b157b496c03f65ad..8b101c754783d03f9c1837ca624d5c32fe69f436 100644 GIT binary patch delta 10527 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 delta 8929 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 P#9%a05(IVbSLS~JZJz8Z