PoChecker: removed "Ignore translated strings marked as fuzzy" checkbox and related logic. Now formatting arguments errors are always shown for both fuzzy and non-fuzzy strings (they are all ignored by translation system anyway and therefore have equal importance) and user is notified about formatting error count in non-fuzzy strings if such errors are found. Regenerated translations and updated Russian translation.

git-svn-id: trunk@57643 -
This commit is contained in:
maxim 2018-04-11 23:10:14 +00:00
parent ff804887a0
commit 0c22a2c5a8
19 changed files with 168 additions and 143 deletions

View File

@ -219,10 +219,6 @@ msgstr "GUI pomůcka pro kontrolu po souborů"
msgid "Identifier [%s] not found in %s" msgid "Identifier [%s] not found in %s"
msgstr "Identifikátor [%s] nenalezen v %s" msgstr "Identifikátor [%s] nenalezen v %s"
#: pocheckerconsts.signorefuzzytranslations
msgid "Ignore translated strings marked as \"fuzzy\""
msgstr ""
#: pocheckerconsts.sincompatibleformatargs #: pocheckerconsts.sincompatibleformatargs
msgid "[Line: %d] Incompatible and/or invalid format() arguments for:" msgid "[Line: %d] Incompatible and/or invalid format() arguments for:"
msgstr "[Řádek %d] Nekompatibilní/vadné argumenty funkce format():" msgstr "[Řádek %d] Nekompatibilní/vadné argumenty funkce format():"
@ -408,9 +404,13 @@ msgstr ""
#: pocheckerconsts.stotalerrors #: pocheckerconsts.stotalerrors
#, fuzzy #, fuzzy
#| msgid "Total errors / warnings found: %d" #| msgid "Total errors / warnings found: %d"
msgid "Total errors found: %d" msgid "Total errors: %d"
msgstr "Nalezeno celkem %d chyb / varování." msgstr "Nalezeno celkem %d chyb / varování."
#: pocheckerconsts.stotalerrorsnonfuzzy
msgid "Total errors: %d (formatting errors in non-fuzzy strings: %d)"
msgstr ""
#: pocheckerconsts.stotalfuzzystrings #: pocheckerconsts.stotalfuzzystrings
msgid "Total fuzzy strings: %s" msgid "Total fuzzy strings: %s"
msgstr "" msgstr ""
@ -424,7 +424,9 @@ msgid "Total untranslated strings: %s"
msgstr "" msgstr ""
#: pocheckerconsts.stotalwarnings #: pocheckerconsts.stotalwarnings
msgid "Total warnings found: %d" #, fuzzy
#| msgid "Total warnings found: %d"
msgid "Total warnings: %d"
msgstr "Celkem nalezeno varování: %d" msgstr "Celkem nalezeno varování: %d"
#: pocheckerconsts.stranslatedstringstotal #: pocheckerconsts.stranslatedstringstotal

View File

@ -217,10 +217,6 @@ msgstr "po-Datei-Überprüfungswerkzeug"
msgid "Identifier [%s] not found in %s" msgid "Identifier [%s] not found in %s"
msgstr "Bezeichner [%s] nicht gefunden in %s" msgstr "Bezeichner [%s] nicht gefunden in %s"
#: pocheckerconsts.signorefuzzytranslations
msgid "Ignore translated strings marked as \"fuzzy\""
msgstr "Als \"ungeklärt\" markierte Zeichenketten ignorieren"
#: pocheckerconsts.sincompatibleformatargs #: pocheckerconsts.sincompatibleformatargs
msgid "[Line: %d] Incompatible and/or invalid format() arguments for:" msgid "[Line: %d] Incompatible and/or invalid format() arguments for:"
msgstr "[Zeile: %d] Inkompatible und/oder ungültige Format()-Argumente für:" msgstr "[Zeile: %d] Inkompatible und/oder ungültige Format()-Argumente für:"
@ -406,9 +402,15 @@ msgid "The following %s orphaned .po file(s) found:"
msgstr "Folgende %s verwaiste .po-Datei(en) gefunden:" msgstr "Folgende %s verwaiste .po-Datei(en) gefunden:"
#: pocheckerconsts.stotalerrors #: pocheckerconsts.stotalerrors
msgid "Total errors found: %d" #, fuzzy
#| msgid "Total errors found: %d"
msgid "Total errors: %d"
msgstr "Insgesamt %d Fehler gefunden" msgstr "Insgesamt %d Fehler gefunden"
#: pocheckerconsts.stotalerrorsnonfuzzy
msgid "Total errors: %d (formatting errors in non-fuzzy strings: %d)"
msgstr ""
#: pocheckerconsts.stotalfuzzystrings #: pocheckerconsts.stotalfuzzystrings
msgid "Total fuzzy strings: %s" msgid "Total fuzzy strings: %s"
msgstr "Gesamtanzahl ungeklärter Zeichenketten: %s" msgstr "Gesamtanzahl ungeklärter Zeichenketten: %s"
@ -422,7 +424,9 @@ msgid "Total untranslated strings: %s"
msgstr "Gesamtanzahl nicht übersetzter Zeichenketten: %s" msgstr "Gesamtanzahl nicht übersetzter Zeichenketten: %s"
#: pocheckerconsts.stotalwarnings #: pocheckerconsts.stotalwarnings
msgid "Total warnings found: %d" #, fuzzy
#| msgid "Total warnings found: %d"
msgid "Total warnings: %d"
msgstr "Insgesamt %d Warnungen gefunden" msgstr "Insgesamt %d Warnungen gefunden"
#: pocheckerconsts.stranslatedstringstotal #: pocheckerconsts.stranslatedstringstotal

View File

@ -217,10 +217,6 @@ msgstr "GUI de herramienta de comprobación de archivos PO"
msgid "Identifier [%s] not found in %s" msgid "Identifier [%s] not found in %s"
msgstr "Identificador [%s] no se encuentra en %s" msgstr "Identificador [%s] no se encuentra en %s"
#: pocheckerconsts.signorefuzzytranslations
msgid "Ignore translated strings marked as \"fuzzy\""
msgstr "Ignorar cadenas traducidas que están marcadas como \"fuzzy\" (confusas)"
#: pocheckerconsts.sincompatibleformatargs #: pocheckerconsts.sincompatibleformatargs
msgid "[Line: %d] Incompatible and/or invalid format() arguments for:" msgid "[Line: %d] Incompatible and/or invalid format() arguments for:"
msgstr "[Línea: %d] Formato de argumentos format() Incompatible y/o no válidos para:" msgstr "[Línea: %d] Formato de argumentos format() Incompatible y/o no válidos para:"
@ -418,9 +414,15 @@ msgid "The following %s orphaned .po file(s) found:"
msgstr "" msgstr ""
#: pocheckerconsts.stotalerrors #: pocheckerconsts.stotalerrors
msgid "Total errors found: %d" #, fuzzy
#| msgid "Total errors found: %d"
msgid "Total errors: %d"
msgstr "Total de errores encontrados: %d" msgstr "Total de errores encontrados: %d"
#: pocheckerconsts.stotalerrorsnonfuzzy
msgid "Total errors: %d (formatting errors in non-fuzzy strings: %d)"
msgstr ""
#: pocheckerconsts.stotalfuzzystrings #: pocheckerconsts.stotalfuzzystrings
msgid "Total fuzzy strings: %s" msgid "Total fuzzy strings: %s"
msgstr "" msgstr ""
@ -434,7 +436,9 @@ msgid "Total untranslated strings: %s"
msgstr "" msgstr ""
#: pocheckerconsts.stotalwarnings #: pocheckerconsts.stotalwarnings
msgid "Total warnings found: %d" #, fuzzy
#| msgid "Total warnings found: %d"
msgid "Total warnings: %d"
msgstr "Total de avisos encontrados: %d" msgstr "Total de avisos encontrados: %d"
#: pocheckerconsts.stranslatedstringstotal #: pocheckerconsts.stranslatedstringstotal

View File

@ -217,10 +217,6 @@ msgstr "Outil graphique de vérification des fichiers \"PO\""
msgid "Identifier [%s] not found in %s" msgid "Identifier [%s] not found in %s"
msgstr "Identificateur [%s] introuvable dans %s" msgstr "Identificateur [%s] introuvable dans %s"
#: pocheckerconsts.signorefuzzytranslations
msgid "Ignore translated strings marked as \"fuzzy\""
msgstr "Ignorer les chaînes traduites marquées comme \"floues\""
#: pocheckerconsts.sincompatibleformatargs #: pocheckerconsts.sincompatibleformatargs
msgid "[Line: %d] Incompatible and/or invalid format() arguments for:" msgid "[Line: %d] Incompatible and/or invalid format() arguments for:"
msgstr "[Ligne : %d] Arguments de format () incompatibles et/ou incorrects pour :" msgstr "[Ligne : %d] Arguments de format () incompatibles et/ou incorrects pour :"
@ -406,9 +402,15 @@ msgid "The following %s orphaned .po file(s) found:"
msgstr "Le(s) %s fichier(s) .po orphelin(s) détecté(s) :" msgstr "Le(s) %s fichier(s) .po orphelin(s) détecté(s) :"
#: pocheckerconsts.stotalerrors #: pocheckerconsts.stotalerrors
msgid "Total errors found: %d" #, fuzzy
#| msgid "Total errors found: %d"
msgid "Total errors: %d"
msgstr "Total des erreurs : %d" msgstr "Total des erreurs : %d"
#: pocheckerconsts.stotalerrorsnonfuzzy
msgid "Total errors: %d (formatting errors in non-fuzzy strings: %d)"
msgstr ""
#: pocheckerconsts.stotalfuzzystrings #: pocheckerconsts.stotalfuzzystrings
msgid "Total fuzzy strings: %s" msgid "Total fuzzy strings: %s"
msgstr "Total des chaînes floues : %s" msgstr "Total des chaînes floues : %s"
@ -422,7 +424,9 @@ msgid "Total untranslated strings: %s"
msgstr "Total des chaînes non traduites : %s" msgstr "Total des chaînes non traduites : %s"
#: pocheckerconsts.stotalwarnings #: pocheckerconsts.stotalwarnings
msgid "Total warnings found: %d" #, fuzzy
#| msgid "Total warnings found: %d"
msgid "Total warnings: %d"
msgstr "Total des avertissements : %d" msgstr "Total des avertissements : %d"
#: pocheckerconsts.stranslatedstringstotal #: pocheckerconsts.stranslatedstringstotal

View File

@ -217,10 +217,6 @@ msgstr "GUI PO-fájl ellenőrző eszköz"
msgid "Identifier [%s] not found in %s" msgid "Identifier [%s] not found in %s"
msgstr "A(z) %s azonosító nem található ebben: %s" msgstr "A(z) %s azonosító nem található ebben: %s"
#: pocheckerconsts.signorefuzzytranslations
msgid "Ignore translated strings marked as \"fuzzy\""
msgstr "A \"bizonytalan\"-nak jelölt fordítások kihagyása"
#: pocheckerconsts.sincompatibleformatargs #: pocheckerconsts.sincompatibleformatargs
msgid "[Line: %d] Incompatible and/or invalid format() arguments for:" msgid "[Line: %d] Incompatible and/or invalid format() arguments for:"
msgstr "[Sor: %d] Nem megfelelő és/vagy érvénytelen format() paraméterek a következőben:" msgstr "[Sor: %d] Nem megfelelő és/vagy érvénytelen format() paraméterek a következőben:"
@ -406,9 +402,15 @@ msgid "The following %s orphaned .po file(s) found:"
msgstr "A következő %s elárvult .po fájl található:" msgstr "A következő %s elárvult .po fájl található:"
#: pocheckerconsts.stotalerrors #: pocheckerconsts.stotalerrors
msgid "Total errors found: %d" #, fuzzy
#| msgid "Total errors found: %d"
msgid "Total errors: %d"
msgstr "Összes megtalált hiba: %d" msgstr "Összes megtalált hiba: %d"
#: pocheckerconsts.stotalerrorsnonfuzzy
msgid "Total errors: %d (formatting errors in non-fuzzy strings: %d)"
msgstr ""
#: pocheckerconsts.stotalfuzzystrings #: pocheckerconsts.stotalfuzzystrings
msgid "Total fuzzy strings: %s" msgid "Total fuzzy strings: %s"
msgstr "Összes bizonytalan szöveg: %s" msgstr "Összes bizonytalan szöveg: %s"
@ -422,7 +424,9 @@ msgid "Total untranslated strings: %s"
msgstr "Összes lefordítatlan szöveg: %s" msgstr "Összes lefordítatlan szöveg: %s"
#: pocheckerconsts.stotalwarnings #: pocheckerconsts.stotalwarnings
msgid "Total warnings found: %d" #, fuzzy
#| msgid "Total warnings found: %d"
msgid "Total warnings: %d"
msgstr "Összes figyelmeztetés: %d" msgstr "Összes figyelmeztetés: %d"
#: pocheckerconsts.stranslatedstringstotal #: pocheckerconsts.stranslatedstringstotal

View File

@ -221,10 +221,6 @@ msgstr "Strumento GUI di verifica di file po"
msgid "Identifier [%s] not found in %s" msgid "Identifier [%s] not found in %s"
msgstr "Identificatore [%s] non trovato in %s" msgstr "Identificatore [%s] non trovato in %s"
#: pocheckerconsts.signorefuzzytranslations
msgid "Ignore translated strings marked as \"fuzzy\""
msgstr "Ignora le stringhe tradotte marcate come \"incerte\""
#: pocheckerconsts.sincompatibleformatargs #: pocheckerconsts.sincompatibleformatargs
msgid "[Line: %d] Incompatible and/or invalid format() arguments for:" msgid "[Line: %d] Incompatible and/or invalid format() arguments for:"
msgstr "[Riga: %d] Argomenti di format()Incompatibili e/o non validi per:" msgstr "[Riga: %d] Argomenti di format()Incompatibili e/o non validi per:"
@ -422,9 +418,15 @@ msgid "The following %s orphaned .po file(s) found:"
msgstr "" msgstr ""
#: pocheckerconsts.stotalerrors #: pocheckerconsts.stotalerrors
msgid "Total errors found: %d" #, fuzzy
#| msgid "Total errors found: %d"
msgid "Total errors: %d"
msgstr "Totale errori trovati: %d" msgstr "Totale errori trovati: %d"
#: pocheckerconsts.stotalerrorsnonfuzzy
msgid "Total errors: %d (formatting errors in non-fuzzy strings: %d)"
msgstr ""
#: pocheckerconsts.stotalfuzzystrings #: pocheckerconsts.stotalfuzzystrings
msgid "Total fuzzy strings: %s" msgid "Total fuzzy strings: %s"
msgstr "" msgstr ""
@ -438,7 +440,9 @@ msgid "Total untranslated strings: %s"
msgstr "" msgstr ""
#: pocheckerconsts.stotalwarnings #: pocheckerconsts.stotalwarnings
msgid "Total warnings found: %d" #, fuzzy
#| msgid "Total warnings found: %d"
msgid "Total warnings: %d"
msgstr "Totale avvertimenti: %d" msgstr "Totale avvertimenti: %d"
#: pocheckerconsts.stranslatedstringstotal #: pocheckerconsts.stranslatedstringstotal

View File

@ -217,10 +217,6 @@ msgstr "GUI po ファイル検査ツール"
msgid "Identifier [%s] not found in %s" msgid "Identifier [%s] not found in %s"
msgstr "識別子 [%s] が %s 内にありません" msgstr "識別子 [%s] が %s 内にありません"
#: pocheckerconsts.signorefuzzytranslations
msgid "Ignore translated strings marked as \"fuzzy\""
msgstr ""
#: pocheckerconsts.sincompatibleformatargs #: pocheckerconsts.sincompatibleformatargs
msgid "[Line: %d] Incompatible and/or invalid format() arguments for:" msgid "[Line: %d] Incompatible and/or invalid format() arguments for:"
msgstr "[行:%d] 互換性のないもしくは無効な format() の引数:" msgstr "[行:%d] 互換性のないもしくは無効な format() の引数:"
@ -406,9 +402,13 @@ msgstr ""
#: pocheckerconsts.stotalerrors #: pocheckerconsts.stotalerrors
#, fuzzy #, fuzzy
#| msgid "Total errors / warnings found: %d" #| msgid "Total errors / warnings found: %d"
msgid "Total errors found: %d" msgid "Total errors: %d"
msgstr "エラー/警告の総数:%d" msgstr "エラー/警告の総数:%d"
#: pocheckerconsts.stotalerrorsnonfuzzy
msgid "Total errors: %d (formatting errors in non-fuzzy strings: %d)"
msgstr ""
#: pocheckerconsts.stotalfuzzystrings #: pocheckerconsts.stotalfuzzystrings
msgid "Total fuzzy strings: %s" msgid "Total fuzzy strings: %s"
msgstr "" msgstr ""
@ -422,7 +422,9 @@ msgid "Total untranslated strings: %s"
msgstr "" msgstr ""
#: pocheckerconsts.stotalwarnings #: pocheckerconsts.stotalwarnings
msgid "Total warnings found: %d" #, fuzzy
#| msgid "Total warnings found: %d"
msgid "Total warnings: %d"
msgstr "警告の総数:%d" msgstr "警告の総数:%d"
#: pocheckerconsts.stranslatedstringstotal #: pocheckerconsts.stranslatedstringstotal

View File

@ -218,10 +218,6 @@ msgstr "Įrankio PO failų tikrinimui grafinė sąsaja"
msgid "Identifier [%s] not found in %s" msgid "Identifier [%s] not found in %s"
msgstr "Ieškota identifikatoriaus [%s], tačiau %s jo neturi" msgstr "Ieškota identifikatoriaus [%s], tačiau %s jo neturi"
#: pocheckerconsts.signorefuzzytranslations
msgid "Ignore translated strings marked as \"fuzzy\""
msgstr "Įgnoruoti vertimus, kurie pažymėti „fuzzy“ žyme"
#: pocheckerconsts.sincompatibleformatargs #: pocheckerconsts.sincompatibleformatargs
msgid "[Line: %d] Incompatible and/or invalid format() arguments for:" msgid "[Line: %d] Incompatible and/or invalid format() arguments for:"
msgstr "[Eilutė: %d] Nesuderinamų ir/arba klaidingų „format()“ argumentų turi:" msgstr "[Eilutė: %d] Nesuderinamų ir/arba klaidingų „format()“ argumentų turi:"
@ -407,9 +403,15 @@ msgid "The following %s orphaned .po file(s) found:"
msgstr "Rasti šie %s „.po“ failai-našlaičiai:" msgstr "Rasti šie %s „.po“ failai-našlaičiai:"
#: pocheckerconsts.stotalerrors #: pocheckerconsts.stotalerrors
msgid "Total errors found: %d" #, fuzzy
#| msgid "Total errors found: %d"
msgid "Total errors: %d"
msgstr "Viso rasta klaidų: %d" msgstr "Viso rasta klaidų: %d"
#: pocheckerconsts.stotalerrorsnonfuzzy
msgid "Total errors: %d (formatting errors in non-fuzzy strings: %d)"
msgstr ""
#: pocheckerconsts.stotalfuzzystrings #: pocheckerconsts.stotalfuzzystrings
msgid "Total fuzzy strings: %s" msgid "Total fuzzy strings: %s"
msgstr "Viso neaiškių vertimų: %s" msgstr "Viso neaiškių vertimų: %s"
@ -423,7 +425,9 @@ msgid "Total untranslated strings: %s"
msgstr "Viso neišversta: %s" msgstr "Viso neišversta: %s"
#: pocheckerconsts.stotalwarnings #: pocheckerconsts.stotalwarnings
msgid "Total warnings found: %d" #, fuzzy
#| msgid "Total warnings found: %d"
msgid "Total warnings: %d"
msgstr "Viso rasta perspėjimų: %d" msgstr "Viso rasta perspėjimų: %d"
#: pocheckerconsts.stranslatedstringstotal #: pocheckerconsts.stranslatedstringstotal

View File

@ -200,10 +200,6 @@ msgstr ""
msgid "Identifier [%s] not found in %s" msgid "Identifier [%s] not found in %s"
msgstr "" msgstr ""
#: pocheckerconsts.signorefuzzytranslations
msgid "Ignore translated strings marked as \"fuzzy\""
msgstr ""
#: pocheckerconsts.sincompatibleformatargs #: pocheckerconsts.sincompatibleformatargs
msgid "[Line: %d] Incompatible and/or invalid format() arguments for:" msgid "[Line: %d] Incompatible and/or invalid format() arguments for:"
msgstr "" msgstr ""
@ -377,7 +373,11 @@ msgid "The following %s orphaned .po file(s) found:"
msgstr "" msgstr ""
#: pocheckerconsts.stotalerrors #: pocheckerconsts.stotalerrors
msgid "Total errors found: %d" msgid "Total errors: %d"
msgstr ""
#: pocheckerconsts.stotalerrorsnonfuzzy
msgid "Total errors: %d (formatting errors in non-fuzzy strings: %d)"
msgstr "" msgstr ""
#: pocheckerconsts.stotalfuzzystrings #: pocheckerconsts.stotalfuzzystrings
@ -393,7 +393,7 @@ msgid "Total untranslated strings: %s"
msgstr "" msgstr ""
#: pocheckerconsts.stotalwarnings #: pocheckerconsts.stotalwarnings
msgid "Total warnings found: %d" msgid "Total warnings: %d"
msgstr "" msgstr ""
#: pocheckerconsts.stranslatedstringstotal #: pocheckerconsts.stranslatedstringstotal

View File

@ -217,10 +217,6 @@ msgstr "Ferramenta GUI de verificação de arquivos PO"
msgid "Identifier [%s] not found in %s" msgid "Identifier [%s] not found in %s"
msgstr "Identificador [%s] não encontrado em %s" msgstr "Identificador [%s] não encontrado em %s"
#: pocheckerconsts.signorefuzzytranslations
msgid "Ignore translated strings marked as \"fuzzy\""
msgstr "Ignorar strings traduzidas marcadas como \"incertas\""
#: pocheckerconsts.sincompatibleformatargs #: pocheckerconsts.sincompatibleformatargs
msgid "[Line: %d] Incompatible and/or invalid format() arguments for:" msgid "[Line: %d] Incompatible and/or invalid format() arguments for:"
msgstr "[Linha: %d] argumentos de format() incompatíveis ou inválidos para:" msgstr "[Linha: %d] argumentos de format() incompatíveis ou inválidos para:"
@ -406,9 +402,15 @@ msgid "The following %s orphaned .po file(s) found:"
msgstr "O(s) seguinte(s) %s arquivo(s) .po órfão(s) encontrado(s):" msgstr "O(s) seguinte(s) %s arquivo(s) .po órfão(s) encontrado(s):"
#: pocheckerconsts.stotalerrors #: pocheckerconsts.stotalerrors
msgid "Total errors found: %d" #, fuzzy
#| msgid "Total errors found: %d"
msgid "Total errors: %d"
msgstr "Total de erros encontrados: %d" msgstr "Total de erros encontrados: %d"
#: pocheckerconsts.stotalerrorsnonfuzzy
msgid "Total errors: %d (formatting errors in non-fuzzy strings: %d)"
msgstr ""
#: pocheckerconsts.stotalfuzzystrings #: pocheckerconsts.stotalfuzzystrings
msgid "Total fuzzy strings: %s" msgid "Total fuzzy strings: %s"
msgstr "Total de strings incertas: %s" msgstr "Total de strings incertas: %s"
@ -422,7 +424,9 @@ msgid "Total untranslated strings: %s"
msgstr "Total de strings não traduzidas: %s" msgstr "Total de strings não traduzidas: %s"
#: pocheckerconsts.stotalwarnings #: pocheckerconsts.stotalwarnings
msgid "Total warnings found: %d" #, fuzzy
#| msgid "Total warnings found: %d"
msgid "Total warnings: %d"
msgstr "Total de avisos encontrados: %d" msgstr "Total de avisos encontrados: %d"
#: pocheckerconsts.stranslatedstringstotal #: pocheckerconsts.stranslatedstringstotal

View File

@ -217,10 +217,6 @@ msgstr "Средство проверки файлов PO"
msgid "Identifier [%s] not found in %s" msgid "Identifier [%s] not found in %s"
msgstr "Идентификатор [%s] не найден в %s" msgstr "Идентификатор [%s] не найден в %s"
#: pocheckerconsts.signorefuzzytranslations
msgid "Ignore translated strings marked as \"fuzzy\""
msgstr "Не учитывать \"неточные\" строки переводов"
#: pocheckerconsts.sincompatibleformatargs #: pocheckerconsts.sincompatibleformatargs
msgid "[Line: %d] Incompatible and/or invalid format() arguments for:" msgid "[Line: %d] Incompatible and/or invalid format() arguments for:"
msgstr "[Строка: %d] Несовместимые и/или неверные аргументы для Format() в:" msgstr "[Строка: %d] Несовместимые и/или неверные аргументы для Format() в:"
@ -406,8 +402,12 @@ msgid "The following %s orphaned .po file(s) found:"
msgstr "Найдены файлы переводов PO (%s шт.) без соответствующих им главных файлов:" msgstr "Найдены файлы переводов PO (%s шт.) без соответствующих им главных файлов:"
#: pocheckerconsts.stotalerrors #: pocheckerconsts.stotalerrors
msgid "Total errors found: %d" msgid "Total errors: %d"
msgstr "Всего найдено ошибок: %d" msgstr "Всего ошибок: %d"
#: pocheckerconsts.stotalerrorsnonfuzzy
msgid "Total errors: %d (formatting errors in non-fuzzy strings: %d)"
msgstr "Всего ошибок: %d (ошибок форматирования в точных переводах: %d)"
#: pocheckerconsts.stotalfuzzystrings #: pocheckerconsts.stotalfuzzystrings
msgid "Total fuzzy strings: %s" msgid "Total fuzzy strings: %s"
@ -422,8 +422,8 @@ msgid "Total untranslated strings: %s"
msgstr "Всего непереведённых строк: %s" msgstr "Всего непереведённых строк: %s"
#: pocheckerconsts.stotalwarnings #: pocheckerconsts.stotalwarnings
msgid "Total warnings found: %d" msgid "Total warnings: %d"
msgstr "Всего найдено предупреждений: %d" msgstr "Всего предупреждений: %d"
#: pocheckerconsts.stranslatedstringstotal #: pocheckerconsts.stranslatedstringstotal
msgid "Translated strings (total: %s [%.1f%%])" msgid "Translated strings (total: %s [%.1f%%])"

View File

@ -218,10 +218,6 @@ msgstr "Інструмент з ГІК для перевірки po-файлів
msgid "Identifier [%s] not found in %s" msgid "Identifier [%s] not found in %s"
msgstr "Ідентифікатор [%s] не знайдено в %s" msgstr "Ідентифікатор [%s] не знайдено в %s"
#: pocheckerconsts.signorefuzzytranslations
msgid "Ignore translated strings marked as \"fuzzy\""
msgstr "Знехтувати перекладені рядки, позначені як неточні"
#: pocheckerconsts.sincompatibleformatargs #: pocheckerconsts.sincompatibleformatargs
msgid "[Line: %d] Incompatible and/or invalid format() arguments for:" msgid "[Line: %d] Incompatible and/or invalid format() arguments for:"
msgstr "[Рядок: %d] Несумісні і/або неправильні аргументи format() для:" msgstr "[Рядок: %d] Несумісні і/або неправильні аргументи format() для:"
@ -407,9 +403,15 @@ msgid "The following %s orphaned .po file(s) found:"
msgstr "Знайдено такі %s загублених файлів .po:" msgstr "Знайдено такі %s загублених файлів .po:"
#: pocheckerconsts.stotalerrors #: pocheckerconsts.stotalerrors
msgid "Total errors found: %d" #, fuzzy
#| msgid "Total errors found: %d"
msgid "Total errors: %d"
msgstr "Знайдено помилок: %d" msgstr "Знайдено помилок: %d"
#: pocheckerconsts.stotalerrorsnonfuzzy
msgid "Total errors: %d (formatting errors in non-fuzzy strings: %d)"
msgstr ""
#: pocheckerconsts.stotalfuzzystrings #: pocheckerconsts.stotalfuzzystrings
msgid "Total fuzzy strings: %s" msgid "Total fuzzy strings: %s"
msgstr "Всього неточних рядків: %s" msgstr "Всього неточних рядків: %s"
@ -423,7 +425,9 @@ msgid "Total untranslated strings: %s"
msgstr "Всього неперекладених рядків: %s" msgstr "Всього неперекладених рядків: %s"
#: pocheckerconsts.stotalwarnings #: pocheckerconsts.stotalwarnings
msgid "Total warnings found: %d" #, fuzzy
#| msgid "Total warnings found: %d"
msgid "Total warnings: %d"
msgstr "Знайдено всього попереджень: %d" msgstr "Знайдено всього попереджень: %d"
#: pocheckerconsts.stranslatedstringstotal #: pocheckerconsts.stranslatedstringstotal

View File

@ -221,10 +221,6 @@ msgstr "GUI Po-文件检查工具"
msgid "Identifier [%s] not found in %s" msgid "Identifier [%s] not found in %s"
msgstr "标识符[%s]未找到在%s" msgstr "标识符[%s]未找到在%s"
#: pocheckerconsts.signorefuzzytranslations
msgid "Ignore translated strings marked as \"fuzzy\""
msgstr "忽略翻译的被标记为“模糊不清”字符串"
#: pocheckerconsts.sincompatibleformatargs #: pocheckerconsts.sincompatibleformatargs
msgid "[Line: %d] Incompatible and/or invalid format() arguments for:" msgid "[Line: %d] Incompatible and/or invalid format() arguments for:"
msgstr "[行: %d]不兼容 和/或 无效format()参数对于:" msgstr "[行: %d]不兼容 和/或 无效format()参数对于:"
@ -422,9 +418,15 @@ msgid "The following %s orphaned .po file(s) found:"
msgstr "" msgstr ""
#: pocheckerconsts.stotalerrors #: pocheckerconsts.stotalerrors
msgid "Total errors found: %d" #, fuzzy
#| msgid "Total errors found: %d"
msgid "Total errors: %d"
msgstr "全部错误找到:%d" msgstr "全部错误找到:%d"
#: pocheckerconsts.stotalerrorsnonfuzzy
msgid "Total errors: %d (formatting errors in non-fuzzy strings: %d)"
msgstr ""
#: pocheckerconsts.stotalfuzzystrings #: pocheckerconsts.stotalfuzzystrings
msgid "Total fuzzy strings: %s" msgid "Total fuzzy strings: %s"
msgstr "" msgstr ""
@ -438,7 +440,9 @@ msgid "Total untranslated strings: %s"
msgstr "" msgstr ""
#: pocheckerconsts.stotalwarnings #: pocheckerconsts.stotalwarnings
msgid "Total warnings found: %d" #, fuzzy
#| msgid "Total warnings found: %d"
msgid "Total warnings: %d"
msgstr "全部警告找到:%d" msgstr "全部警告找到:%d"
#: pocheckerconsts.stranslatedstringstotal #: pocheckerconsts.stranslatedstringstotal

View File

@ -28,8 +28,9 @@ resourcestring
sLastSearchPath = 'Last search path:'; sLastSearchPath = 'Last search path:';
sLanguage = 'Language:'; sLanguage = 'Language:';
sTotalErrors = 'Total errors found: %d'; sTotalErrors = 'Total errors: %d';
sTotalWarnings = 'Total warnings found: %d'; sTotalErrorsNonFuzzy = 'Total errors: %d (formatting errors in non-fuzzy strings: %d)';
sTotalWarnings = 'Total warnings: %d';
sTotalUntranslatedStrings = 'Total untranslated strings: %s'; sTotalUntranslatedStrings = 'Total untranslated strings: %s';
sTotalFuzzyStrings = 'Total fuzzy strings: %s'; sTotalFuzzyStrings = 'Total fuzzy strings: %s';
sTotalTranslatedStrings = 'Total translated strings: %s (%.1f%%)'; sTotalTranslatedStrings = 'Total translated strings: %s (%.1f%%)';
@ -82,7 +83,6 @@ resourcestring
+'untranslated strings'; +'untranslated strings';
sCheckForDuplicateUntranslatedValues = 'Check for duplicate untranslated ' sCheckForDuplicateUntranslatedValues = 'Check for duplicate untranslated '
+'values'; +'values';
sIgnoreFuzzyTranslations = 'Ignore translated strings marked as "fuzzy"';
sIncompatibleFormatArgs = '[Line: %d] Incompatible and/or invalid format() arguments for:' ; sIncompatibleFormatArgs = '[Line: %d] Incompatible and/or invalid format() arguments for:' ;
sNrErrorsFound = 'Found %d errors.'; sNrErrorsFound = 'Found %d errors.';

View File

@ -23,7 +23,7 @@ object PoCheckerForm: TPoCheckerForm
AnchorSideRight.Control = MasterPoListBox AnchorSideRight.Control = MasterPoListBox
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 6 Left = 6
Height = 137 Height = 145
Top = 79 Top = 79
Width = 632 Width = 632
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
@ -62,7 +62,7 @@ object PoCheckerForm: TPoCheckerForm
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 25 Height = 25
Top = 222 Top = 230
Width = 117 Width = 117
AutoSize = True AutoSize = True
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@ -77,7 +77,7 @@ object PoCheckerForm: TPoCheckerForm
AnchorSideTop.Control = SelectBasicTestsBtn AnchorSideTop.Control = SelectBasicTestsBtn
Left = 129 Left = 129
Height = 25 Height = 25
Top = 222 Top = 230
Width = 104 Width = 104
AutoSize = True AutoSize = True
BorderSpacing.Left = 6 BorderSpacing.Left = 6
@ -92,7 +92,7 @@ object PoCheckerForm: TPoCheckerForm
AnchorSideTop.Control = SelectAllTestsBtn AnchorSideTop.Control = SelectAllTestsBtn
Left = 239 Left = 239
Height = 25 Height = 25
Top = 222 Top = 230
Width = 118 Width = 118
AutoSize = True AutoSize = True
BorderSpacing.Left = 6 BorderSpacing.Left = 6
@ -101,18 +101,6 @@ object PoCheckerForm: TPoCheckerForm
OnClick = UnselectAllTestsBtnClick OnClick = UnselectAllTestsBtnClick
TabOrder = 4 TabOrder = 4
end end
object IgnoreFuzzyCheckBox: TCheckBox
AnchorSideLeft.Control = TestListBox
AnchorSideTop.Control = SelectBasicTestsBtn
AnchorSideTop.Side = asrBottom
Left = 6
Height = 19
Top = 253
Width = 152
BorderSpacing.Top = 6
Caption = 'sIgnoreFuzzyTranslations'
TabOrder = 5
end
object StatusBar: TStatusBar object StatusBar: TStatusBar
Left = 0 Left = 0
Height = 23 Height = 23
@ -122,14 +110,14 @@ object PoCheckerForm: TPoCheckerForm
end end
object MasterPoListBox: TListBox object MasterPoListBox: TListBox
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideTop.Control = IgnoreFuzzyCheckBox AnchorSideTop.Control = SelectBasicTestsBtn
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = LangFilter AnchorSideBottom.Control = LangFilter
Left = 6 Left = 6
Height = 146 Height = 163
Top = 278 Top = 261
Width = 632 Width = 632
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Left = 6 BorderSpacing.Left = 6
@ -144,7 +132,7 @@ object PoCheckerForm: TPoCheckerForm
ScrollWidth = 630 ScrollWidth = 630
Sorted = True Sorted = True
Style = lbOwnerDrawFixed Style = lbOwnerDrawFixed
TabOrder = 6 TabOrder = 5
end end
object LangFilter: TComboBox object LangFilter: TComboBox
AnchorSideLeft.Control = MasterPoListBox AnchorSideLeft.Control = MasterPoListBox
@ -188,7 +176,7 @@ object PoCheckerForm: TPoCheckerForm
) )
OnChange = LangFilterChange OnChange = LangFilterChange
Style = csDropDownList Style = csDropDownList
TabOrder = 7 TabOrder = 6
Text = 'All languages' Text = 'All languages'
end end
object ClearMasterFilesBtn: TButton object ClearMasterFilesBtn: TButton
@ -204,7 +192,7 @@ object PoCheckerForm: TPoCheckerForm
BorderSpacing.Bottom = 6 BorderSpacing.Bottom = 6
Caption = 'Clear' Caption = 'Clear'
OnClick = ClearMasterFilesBtnClick OnClick = ClearMasterFilesBtnClick
TabOrder = 8 TabOrder = 7
end end
object UnselectAllMasterFilesBtn: TButton object UnselectAllMasterFilesBtn: TButton
AnchorSideLeft.Control = SelectAllMasterFilesBtn AnchorSideLeft.Control = SelectAllMasterFilesBtn
@ -221,7 +209,7 @@ object PoCheckerForm: TPoCheckerForm
Caption = 'Unselect all files' Caption = 'Unselect all files'
Enabled = False Enabled = False
OnClick = UnselectAllMasterFilesBtnClick OnClick = UnselectAllMasterFilesBtnClick
TabOrder = 10 TabOrder = 9
end end
object SelectAllMasterFilesBtn: TButton object SelectAllMasterFilesBtn: TButton
AnchorSideLeft.Control = ClearMasterFilesBtn AnchorSideLeft.Control = ClearMasterFilesBtn
@ -237,7 +225,7 @@ object PoCheckerForm: TPoCheckerForm
BorderSpacing.Bottom = 6 BorderSpacing.Bottom = 6
Caption = 'Select all files' Caption = 'Select all files'
OnClick = SelectAllMasterFilesBtnClick OnClick = SelectAllMasterFilesBtnClick
TabOrder = 9 TabOrder = 8
end end
object MainToolBar: TToolBar object MainToolBar: TToolBar
Left = 0 Left = 0

View File

@ -72,7 +72,6 @@ type
function GetTestTypesFromListBox: TPoTestTypes; function GetTestTypesFromListBox: TPoTestTypes;
function GetTestOptions: TPoTestOptions; function GetTestOptions: TPoTestOptions;
procedure SetTestTypeCheckBoxes(TestTypes: TPoTestTypes); procedure SetTestTypeCheckBoxes(TestTypes: TPoTestTypes);
procedure SetTestOptionCheckBoxes(TestOptions: TPoTestOptions);
procedure ShowError(const Msg: string); procedure ShowError(const Msg: string);
procedure ScanDirectory(ADir: String); procedure ScanDirectory(ADir: String);
function TryCreatepoFamilyList(MasterList: TStrings; const LangID: TLangID): Boolean; function TryCreatepoFamilyList(MasterList: TStrings; const LangID: TLangID): Boolean;
@ -95,7 +94,6 @@ type
{$ENDIF} {$ENDIF}
procedure ApplyTranslations; procedure ApplyTranslations;
published published
IgnoreFuzzyCheckBox: TCheckBox;
UnselectAllTestsBtn: TButton; UnselectAllTestsBtn: TButton;
SelectAllTestsBtn: TButton; SelectAllTestsBtn: TButton;
SelectBasicTestsBtn: TButton; SelectBasicTestsBtn: TButton;
@ -334,10 +332,6 @@ end;
function TPoCheckerForm.GetTestOptions: TPoTestOptions; function TPoCheckerForm.GetTestOptions: TPoTestOptions;
begin begin
Result := []; Result := [];
//if FindAllPOsCheckBox.Checked then
// Result := Result + [ptoFindAllChildren];
if IgnoreFuzzyCheckBox.Checked then
Result := Result + [ptoIgnoreFuzzyStrings];
end; end;
procedure TPoCheckerForm.SetTestTypeCheckBoxes(TestTypes: TPoTestTypes); procedure TPoCheckerForm.SetTestTypeCheckBoxes(TestTypes: TPoTestTypes);
@ -355,12 +349,6 @@ begin
end; end;
end; end;
procedure TPoCheckerForm.SetTestOptionCheckBoxes(TestOptions: TPoTestOptions);
begin
//FindAllPOsCheckBox.Checked := (ptoFindAllChildren in TestOptions);
IgnoreFuzzyCheckBox.Checked := (ptoIgnoreFuzzyStrings in TestOptions);
end;
procedure TPoCheckerForm.ShowError(const Msg: string); procedure TPoCheckerForm.ShowError(const Msg: string);
begin begin
MessageDlg('Po-checker', Msg, mtError, [mbOK], 0); MessageDlg('Po-checker', Msg, mtError, [mbOK], 0);
@ -515,7 +503,7 @@ procedure TPoCheckerForm.RunSelectedTests;
var var
TestTypes: TPoTestTypes; TestTypes: TPoTestTypes;
TestOptions: TPoTestOptions; TestOptions: TPoTestOptions;
ErrorCount, WarningCount: integer; ErrorCount, NonFuzzyErrorCount, WarningCount: integer;
TotalTranslatedCount, TotalUntranslatedCount, TotalFuzzyCount: Integer; TotalTranslatedCount, TotalUntranslatedCount, TotalFuzzyCount: Integer;
TotalPercTranslated: Double; TotalPercTranslated: Double;
SL: TStrings; SL: TStrings;
@ -538,7 +526,7 @@ begin
PoFamilyList.TestTypes := TestTypes; PoFamilyList.TestTypes := TestTypes;
PoFamilyList.TestOptions := TestOptions; PoFamilyList.TestOptions := TestOptions;
PoFamilyList.RunTests(ErrorCount, WarningCount, TotalTranslatedCount, TotalUntranslatedCount, TotalFuzzyCount, SL, StatL); PoFamilyList.RunTests(ErrorCount, NonFuzzyErrorCount, WarningCount, TotalTranslatedCount, TotalUntranslatedCount, TotalFuzzyCount, SL, StatL);
//debugln('RunSelectedTests: ', Format(sTotalErrors, [ErrorCount])); //debugln('RunSelectedTests: ', Format(sTotalErrors, [ErrorCount]));
//debugln(' ', Format(sTotalWarnings, [WarningCount])); //debugln(' ', Format(sTotalWarnings, [WarningCount]));
TotalPercTranslated := 100 * TotalTranslatedCount / (TotalTranslatedCount + TotalUntranslatedCount + TotalFuzzyCount); TotalPercTranslated := 100 * TotalTranslatedCount / (TotalTranslatedCount + TotalUntranslatedCount + TotalFuzzyCount);
@ -550,7 +538,10 @@ begin
SL.Insert(4, LangFilter.Text); SL.Insert(4, LangFilter.Text);
SL.Insert(5, ''); SL.Insert(5, '');
SL.Add(Format(sTotalErrors, [ErrorCount])); if NonFuzzyErrorCount > 0 then
SL.Add(Format(sTotalErrorsNonFuzzy, [ErrorCount, NonFuzzyErrorCount]))
else
SL.Add(Format(sTotalErrors, [ErrorCount]));
SL.Add(Format(sTotalWarnings, [WarningCount])); SL.Add(Format(sTotalWarnings, [WarningCount]));
SL.Add(Format(sTotalUntranslatedStrings, [IntToStr(TotalUntranslatedCount)])); SL.Add(Format(sTotalUntranslatedStrings, [IntToStr(TotalUntranslatedCount)]));
SL.Add(Format(sTotalFuzzyStrings, [IntToStr(TotalFuzzyCount)])); SL.Add(Format(sTotalFuzzyStrings, [IntToStr(TotalFuzzyCount)]));
@ -603,7 +594,6 @@ begin
SelectBasicTestsBtn.Enabled := HasSelection; SelectBasicTestsBtn.Enabled := HasSelection;
UnselectAllTestsBtn.Enabled := HasSelection; UnselectAllTestsBtn.Enabled := HasSelection;
UnselectAllMasterFilesBtn.Enabled := HasSelection; UnselectAllMasterFilesBtn.Enabled := HasSelection;
IgnoreFuzzyCheckBox.Enabled := HasSelection;
ClearMasterFilesBtn.Enabled := (MasterPoListBox.Items.Count > 0); ClearMasterFilesBtn.Enabled := (MasterPoListBox.Items.Count > 0);
SelectAllMasterFilesBtn.Enabled := (MasterPoListBox.Items.Count > 0); SelectAllMasterFilesBtn.Enabled := (MasterPoListBox.Items.Count > 0);
end; end;
@ -707,7 +697,6 @@ begin
BoundsRect := ARect; BoundsRect := ARect;
end; end;
SetTestTypeCheckBoxes(FPoCheckerSettings.TestTypes); SetTestTypeCheckBoxes(FPoCheckerSettings.TestTypes);
SetTestOptionCheckBoxes(FPoCheckerSettings.TestOptions);
SelectDirectoryDialog.Filename := FPoCheckerSettings.SelectDirectoryFilename; SelectDirectoryDialog.Filename := FPoCheckerSettings.SelectDirectoryFilename;
Abbr := FPoCheckerSettings.LangFilterLanguageAbbr; Abbr := FPoCheckerSettings.LangFilterLanguageAbbr;
ID := LangAbbrToLangId(Abbr); ID := LangAbbrToLangId(Abbr);
@ -914,7 +903,6 @@ begin
LocalizeLanguageNames; LocalizeLanguageNames;
Caption := sGUIPoFileCheckingTool; Caption := sGUIPoFileCheckingTool;
SelectTestLabel.Caption := sSelectTestTypes; SelectTestLabel.Caption := sSelectTestTypes;
IgnoreFuzzyCheckBox.Caption := sIgnoreFuzzyTranslations;
ScanDirToolButton.Caption := sScanDir; ScanDirToolButton.Caption := sScanDir;
RunToolButton.Caption := sRunSelectedTests; RunToolButton.Caption := sRunSelectedTests;
ClearMasterFilesBtn.Caption := sClearListBox; ClearMasterFilesBtn.Caption := sClearListBox;

View File

@ -156,8 +156,7 @@ const
'CheckForDuplicateUntranslatedValues' 'CheckForDuplicateUntranslatedValues'
); );
TestoptionNames: array[TPoTestOption] of String = ( TestoptionNames: array[TPoTestOption] of String = (
'FindAllChildren', 'FindAllChildren'
'IgnoreFuzzyStrings'
); );
pSelectDirectoryFilename = 'SelectDirectoryFilename/'; pSelectDirectoryFilename = 'SelectDirectoryFilename/';

View File

@ -21,7 +21,7 @@ Type
pttCheckMismatchedOriginals, pttCheckDuplicateOriginals); pttCheckMismatchedOriginals, pttCheckDuplicateOriginals);
TPoTestTypes = Set of TPoTestType; TPoTestTypes = Set of TPoTestType;
TPoTestOption = (ptoFindAllChildren, ptoIgnoreFuzzyStrings); TPoTestOption = (ptoFindAllChildren);
TPoTestOptions = set of TPoTestOption; TPoTestOptions = set of TPoTestOption;
const const
@ -69,15 +69,16 @@ Type
protected protected
procedure CheckNrOfItems(out ErrorCount: Integer; ErrorLog: TStrings); procedure CheckNrOfItems(out ErrorCount: Integer; ErrorLog: TStrings);
procedure CheckFormatArgs(out ErrorCount: Integer; ErrorLog: TStrings; IgnoreFuzzyStrings: Boolean); procedure CheckFormatArgs(out ErrorCount, NonFuzzyErrorCount: Integer; ErrorLog: TStrings);
procedure CheckMissingIdentifiers(out ErrorCount: Integer; ErrorLog: TStrings); procedure CheckMissingIdentifiers(out ErrorCount: Integer; ErrorLog: TStrings);
procedure CheckMismatchedOriginals(out ErrorCount: Integer; ErrorLog: TStrings); procedure CheckMismatchedOriginals(out ErrorCount: Integer; ErrorLog: TStrings);
procedure CheckDuplicateOriginals(out WarningCount: Integer; ErrorLog: TStrings); procedure CheckDuplicateOriginals(out WarningCount: Integer; ErrorLog: TStrings);
procedure CheckStatistics(ErrorCnt: Integer); procedure CheckStatistics(ErrorCnt: Integer);
public public
procedure RunTests(out ErrorCount, WarningCount, TranslatedCount, procedure RunTests(out ErrorCount, NonFuzzyErrorCount, WarningCount,
UntranslatedCount, FuzzyCount: Integer; ErrorLog, StatLog: TStrings); TranslatedCount, UntranslatedCount, FuzzyCount: Integer; ErrorLog, StatLog
: TStrings);
property Master: TPOFile read FMaster; property Master: TPOFile read FMaster;
property Child: TPOFile read FChild; property Child: TPOFile read FChild;
@ -542,7 +543,8 @@ begin
//debugln('TPoFamily.CheckNrOfItemsMismatch: ',Dbgs(ErrorCount),' Errors'); //debugln('TPoFamily.CheckNrOfItemsMismatch: ',Dbgs(ErrorCount),' Errors');
end; end;
procedure TPoFamily.CheckFormatArgs(out ErrorCount: Integer; ErrorLog: TStrings; IgnoreFuzzyStrings: Boolean); procedure TPoFamily.CheckFormatArgs(out ErrorCount, NonFuzzyErrorCount: Integer
; ErrorLog: TStrings);
var var
i: Integer; i: Integer;
CPoItem: TPOFileItem; CPoItem: TPOFileItem;
@ -552,7 +554,7 @@ begin
//debugln('TPoFamily.CheckFormatArgs'); //debugln('TPoFamily.CheckFormatArgs');
DoTestStart(PoTestTypeNames[pttCheckFormatArgs], ShortChildName); DoTestStart(PoTestTypeNames[pttCheckFormatArgs], ShortChildName);
ErrorCount := NoError; ErrorCount := NoError;
//for i := 0 to FMaster.Count - 1 do NonFuzzyErrorCount := NoError;
for i := 0 to FChild.Count - 1 do for i := 0 to FChild.Count - 1 do
begin begin
//debugln(' i = ',DbgS(i)); //debugln(' i = ',DbgS(i));
@ -561,10 +563,10 @@ begin
//CPoItem := FChild.FindPoItem(MPoItem.IdentifierLow); //CPoItem := FChild.FindPoItem(MPoItem.IdentifierLow);
if Assigned(CPoItem) then if Assigned(CPoItem) then
begin begin
IsFuzzy := (Pos('fuzzy', CPoItem.Flags) > 0); IsFuzzy := (Pos(sFuzzyFlag, CPoItem.Flags) > 0);
IsBadFormat := (Pos('badformat', CPoItem.Flags) > 0); IsBadFormat := (Pos(sBadFormatFlag, CPoItem.Flags) > 0);
//if (IgnoreFuzzyStrings and IsFuzzy) then debugln('Skipping fuzzy translation: ',CPoItem.Translation); //if (IgnoreFuzzyStrings and IsFuzzy) then debugln('Skipping fuzzy translation: ',CPoItem.Translation);
if (Length(CPoItem.Translation) > 0) and (not (IgnoreFuzzyStrings and IsFuzzy)) and IsBadFormat then if (Length(CPoItem.Translation) > 0) and IsBadFormat then
begin begin
if (ErrorCount = 0) then if (ErrorCount = 0) then
begin begin
@ -575,6 +577,8 @@ begin
ErrorLog.Add(''); ErrorLog.Add('');
end; end;
Inc(ErrorCount); Inc(ErrorCount);
if not IsFuzzy then
Inc(NonFuzzyErrorCount);
ErrorLog.Add(Format(sIncompatibleFormatArgs,[CPoItem.LineNr])); ErrorLog.Add(Format(sIncompatibleFormatArgs,[CPoItem.LineNr]));
ErrorLog.Add(Format(sFormatArgsID,[sCommentIdentifier, CPoItem.IdentifierLow])); ErrorLog.Add(Format(sFormatArgsID,[sCommentIdentifier, CPoItem.IdentifierLow]));
ErrorLog.Add(Format(sFormatArgsValues,[sMsgID,CPoItem.Original,sOriginal])); ErrorLog.Add(Format(sFormatArgsValues,[sMsgID,CPoItem.Original,sOriginal]));
@ -797,10 +801,10 @@ Pre conditions:
* Master and a matching Child must be assigned at start ot testing * Master and a matching Child must be assigned at start ot testing
* If a Child is assigned it must be child of Master * If a Child is assigned it must be child of Master
} }
procedure TPoFamily.RunTests(out ErrorCount, WarningCount, TranslatedCount, UntranslatedCount, FuzzyCount: Integer; ErrorLog, StatLog: TStrings); procedure TPoFamily.RunTests(out ErrorCount, NonFuzzyErrorCount, WarningCount, TranslatedCount, UntranslatedCount, FuzzyCount: Integer; ErrorLog, StatLog: TStrings);
var var
SL: TStringList; SL: TStringList;
CurrErrCnt, CurrWarnCnt, ThisErrCnt: Integer; CurrErrCnt, CurrNonFuzzyErrCnt, CurrWarnCnt, ThisErrCnt: Integer;
i: Integer; i: Integer;
CurrChildName: String; CurrChildName: String;
S: String; S: String;
@ -808,6 +812,7 @@ begin
SL := nil; SL := nil;
FPoFamilyStats.Clear; FPoFamilyStats.Clear;
ErrorCount := NoError; ErrorCount := NoError;
NonFuzzyErrorCount := NoError;
WarningCount := NoError; WarningCount := NoError;
TranslatedCount := 0; TranslatedCount := 0;
UntranslatedCount := 0; UntranslatedCount := 0;
@ -907,9 +912,10 @@ begin
if (pttCheckFormatArgs in FTestTypes) then if (pttCheckFormatArgs in FTestTypes) then
begin begin
CheckFormatArgs(CurrErrCnt, ErrorLog, (ptoIgnoreFuzzyStrings in FTestOptions)); CheckFormatArgs(CurrErrCnt, CurrNonFuzzyErrCnt, ErrorLog);
ErrorCount := CurrErrCnt + ErrorCount; ErrorCount := CurrErrCnt + ErrorCount;
ThisErrCnt := ThisErrCnt + CurrErrCnt; ThisErrCnt := ThisErrCnt + CurrErrCnt;
NonFuzzyErrorCount := CurrNonFuzzyErrCnt + NonFuzzyErrorCount;
end; end;

View File

@ -36,7 +36,9 @@ type
destructor Destroy; override; destructor Destroy; override;
procedure Add(PoFamily: TPofamily); procedure Add(PoFamily: TPofamily);
function Count: Integer; function Count: Integer;
procedure RunTests(out ErrorCount, WarningCount, TotalTranslatedCount, TotalUntranslatedCount, TotalFuzzyCount: Integer; ErrorLog, StatLog: TStrings); procedure RunTests(out ErrorCount, NonFuzzyErrorCount, WarningCount,
TotalTranslatedCount, TotalUntranslatedCount, TotalFuzzyCount: Integer;
ErrorLog, StatLog: TStrings);
property Items[Index: Integer]: TPoFamily read GetItem; // write SetItem; property Items[Index: Integer]: TPoFamily read GetItem; // write SetItem;
property PoFamilyStats: TPoFamilyStats read FPoFamilyStats; property PoFamilyStats: TPoFamilyStats read FPoFamilyStats;
property TestTypes: TPoTestTypes read FTestTypes write FTestTypes; property TestTypes: TPoTestTypes read FTestTypes write FTestTypes;
@ -116,10 +118,10 @@ begin
Result := FList.Count; Result := FList.Count;
end; end;
procedure TPoFamilyList.RunTests(out ErrorCount, WarningCount, TotalTranslatedCount, TotalUntranslatedCount, TotalFuzzyCount: Integer; procedure TPoFamilyList.RunTests(out ErrorCount, NonFuzzyErrorCount, WarningCount, TotalTranslatedCount, TotalUntranslatedCount, TotalFuzzyCount: Integer;
ErrorLog, StatLog: TStrings); ErrorLog, StatLog: TStrings);
var var
Index, ThisErrorCount, ThisWarningCount: Integer; Index, ThisErrorCount, ThisNonFuzzyErrorCount, ThisWarningCount: Integer;
ThisTranslatedCount, ThisUntranslatedCount, ThisFuzzyCount: Integer; ThisTranslatedCount, ThisUntranslatedCount, ThisFuzzyCount: Integer;
PoFamily: TPoFamily; PoFamily: TPoFamily;
begin begin
@ -130,6 +132,7 @@ begin
ErrorLog.Clear; ErrorLog.Clear;
StatLog.Clear; StatLog.Clear;
ErrorCount := NoError; ErrorCount := NoError;
NonFuzzyErrorCount := NoError;
WarningCount := NoError; WarningCount := NoError;
TotalTranslatedCount := 0; TotalTranslatedCount := 0;
TotalUntranslatedCount := 0; TotalUntranslatedCount := 0;
@ -142,9 +145,10 @@ begin
PoFamily.OnTestEnd := FOnTestEnd; PoFamily.OnTestEnd := FOnTestEnd;
PoFamily.TestTypes := FTesttypes; PoFamily.TestTypes := FTesttypes;
PoFamily.TestOptions := FTestOptions; PoFamily.TestOptions := FTestOptions;
PoFamily.RunTests(ThisErrorCount, ThisWarningCount, ThisTranslatedCount, ThisUntranslatedCount, ThisFuzzyCount, ErrorLog, StatLog); PoFamily.RunTests(ThisErrorCount, ThisNonFuzzyErrorCount, ThisWarningCount, ThisTranslatedCount, ThisUntranslatedCount, ThisFuzzyCount, ErrorLog, StatLog);
PoFamily.PoFamilyStats.AddItemsTo(FPoFamilyStats); PoFamily.PoFamilyStats.AddItemsTo(FPoFamilyStats);
ErrorCount := ErrorCount + ThisErrorCount; ErrorCount := ErrorCount + ThisErrorCount;
NonFuzzyErrorCount := NonFuzzyErrorCount + ThisNonFuzzyErrorCount;
WarningCount := WarningCount + ThisWarningCount; WarningCount := WarningCount + ThisWarningCount;
TotalTranslatedCount := TotalTranslatedCount + ThisTranslatedCount; TotalTranslatedCount := TotalTranslatedCount + ThisTranslatedCount;
TotalUntranslatedCount := TotalUntranslatedCount + ThisUntranslatedCount; TotalUntranslatedCount := TotalUntranslatedCount + ThisUntranslatedCount;