POChecker:

1) Made Results form multitabbed.
2) Detailed translation statistics are now always written to separate tab in Results form; corresponding item in test selection checklistbox is removed.
3) Detailed translation statistics are written in more compact form (less lines per element).
4) "Copy to clipboard"/"Save to file" buttons in Results form are replaced with context menu.
5) Regenerated translations and updated Russian translation.

git-svn-id: trunk@57599 -
This commit is contained in:
maxim 2018-04-03 22:15:51 +00:00
parent aef943e544
commit cb77def736
21 changed files with 1576 additions and 914 deletions

View File

@ -147,17 +147,13 @@ msgstr "Kontrola chybějících identifikátorů"
msgid "Check number of items"
msgstr "Zkontrolovat počet položek"
#: pocheckerconsts.scheckstatistics
msgid "Check percentage of (un)translated and fuzzy strings"
msgstr "Spočítat procentuální zastoupení (ne)přeložených a nepřesných řetězců"
#: pocheckerconsts.sclearlistbox
msgid "Clear"
msgstr ""
#: pocheckerconsts.scopycaption
msgid "Copy to clipboard"
msgstr "Kopírovat do schránky"
#: pocheckerconsts.scopy
msgid "&Copy"
msgstr ""
#: pocheckerconsts.screatingiconxofy
msgid "Creating icon nr. %d of %d"
@ -207,6 +203,10 @@ msgstr ""
msgid "Fuzzy strings (total: %s)"
msgstr ""
#: pocheckerconsts.sgeneralinfo
msgid "General Info"
msgstr ""
#: pocheckerconsts.sgrapstatformcaption
msgid "Graphical summary"
msgstr ""
@ -227,6 +227,14 @@ msgstr ""
msgid "[Line: %d] Incompatible and/or invalid format() arguments for:"
msgstr "[Řádek %d] Nekompatibilní/vadné argumenty funkce format():"
#: pocheckerconsts.slanguage
msgid "Language:"
msgstr ""
#: pocheckerconsts.slastsearchpath
msgid "Last search path:"
msgstr ""
#: pocheckerconsts.slineinfilename
msgid "[Line %d] in %s:"
msgstr "[Řádek %d] v %s:"
@ -343,9 +351,9 @@ msgstr "Výsledky"
msgid "&Run Selected Tests"
msgstr "&Spustit vybrané testy"
#: pocheckerconsts.ssavecaption
msgid "Save to file"
msgstr "Uložit do souboru"
#: pocheckerconsts.ssaveas
msgid "Save &As ..."
msgstr ""
#: pocheckerconsts.ssaveerror
msgid ""
@ -432,10 +440,8 @@ msgid "Translation"
msgstr "Překlad"
#: pocheckerconsts.stranslationstatistics
#, fuzzy
#| msgid "Translation statistics for:"
msgid "Translation statistics per language:"
msgstr "Statistiky překladu pro:"
msgid "Translation Statistics"
msgstr ""
#: pocheckerconsts.stroublesomefiles
msgid "Troublesome files"

View File

@ -143,17 +143,13 @@ msgstr "Prüfung auf fehlende Bezeichner"
msgid "Check number of items"
msgstr "Überprüfung der Anzahl der Einträge"
#: pocheckerconsts.scheckstatistics
msgid "Check percentage of (un)translated and fuzzy strings"
msgstr "Zeige Prozente (nicht) übersetzter und ungeklärter Zeichenketten"
#: pocheckerconsts.sclearlistbox
msgid "Clear"
msgstr "Leeren"
#: pocheckerconsts.scopycaption
msgid "Copy to clipboard"
msgstr "In Zwischenablage kopieren"
#: pocheckerconsts.scopy
msgid "&Copy"
msgstr ""
#: pocheckerconsts.screatingiconxofy
msgid "Creating icon nr. %d of %d"
@ -205,6 +201,10 @@ msgstr ""
msgid "Fuzzy strings (total: %s)"
msgstr "Ungeklärte Zeichenketten (insgesamt: %s)"
#: pocheckerconsts.sgeneralinfo
msgid "General Info"
msgstr ""
#: pocheckerconsts.sgrapstatformcaption
msgid "Graphical summary"
msgstr "Graphischer Überblick"
@ -225,6 +225,14 @@ msgstr "Als \"ungeklärt\" markierte Zeichenketten ignorieren"
msgid "[Line: %d] Incompatible and/or invalid format() arguments for:"
msgstr "[Zeile: %d] Inkompatible und/oder ungültige Format()-Argumente für:"
#: pocheckerconsts.slanguage
msgid "Language:"
msgstr ""
#: pocheckerconsts.slastsearchpath
msgid "Last search path:"
msgstr ""
#: pocheckerconsts.slineinfilename
msgid "[Line %d] in %s:"
msgstr "[Zeile %d] in %s:"
@ -341,9 +349,9 @@ msgstr "Ergebnisse"
msgid "&Run Selected Tests"
msgstr "Gewählte Tests sta&rten"
#: pocheckerconsts.ssavecaption
msgid "Save to file"
msgstr "In Datei speichern"
#: pocheckerconsts.ssaveas
msgid "Save &As ..."
msgstr ""
#: pocheckerconsts.ssaveerror
msgid ""
@ -430,8 +438,8 @@ msgid "Translation"
msgstr "Übersetzung"
#: pocheckerconsts.stranslationstatistics
msgid "Translation statistics per language:"
msgstr "Übersetzungsstatistik pro Sprache:"
msgid "Translation Statistics"
msgstr ""
#: pocheckerconsts.stroublesomefiles
msgid "Troublesome files"

View File

@ -143,17 +143,13 @@ msgstr "Compruebe identificadores faltantes"
msgid "Check number of items"
msgstr "Compruebe el número de elementos"
#: pocheckerconsts.scheckstatistics
msgid "Check percentage of (un)translated and fuzzy strings"
msgstr "Comprobar porcentaje de cadenas traducidas/no traducidas y confusas (fuzzy)"
#: pocheckerconsts.sclearlistbox
msgid "Clear"
msgstr "Limpiar"
#: pocheckerconsts.scopycaption
msgid "Copy to clipboard"
msgstr "Copiar en el portapapeles"
#: pocheckerconsts.scopy
msgid "&Copy"
msgstr ""
#: pocheckerconsts.screatingiconxofy
msgid "Creating icon nr. %d of %d"
@ -205,6 +201,10 @@ msgstr ""
msgid "Fuzzy strings (total: %s)"
msgstr ""
#: pocheckerconsts.sgeneralinfo
msgid "General Info"
msgstr ""
#: pocheckerconsts.sgrapstatformcaption
msgid "Graphical summary"
msgstr "Resumen gráfico"
@ -225,6 +225,14 @@ msgstr "Ignorar cadenas traducidas que están marcadas como \"fuzzy\" (confusas)
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:"
#: pocheckerconsts.slanguage
msgid "Language:"
msgstr ""
#: pocheckerconsts.slastsearchpath
msgid "Last search path:"
msgstr ""
#: pocheckerconsts.slineinfilename
msgid "[Line %d] in %s:"
msgstr "[Línea %d] en %s:"
@ -347,9 +355,9 @@ msgstr "Resultados"
msgid "&Run Selected Tests"
msgstr "&Ejecutar las Pruebas Seleccionadas"
#: pocheckerconsts.ssavecaption
msgid "Save to file"
msgstr "Guardar en archivo"
#: pocheckerconsts.ssaveas
msgid "Save &As ..."
msgstr ""
#: pocheckerconsts.ssaveerror
msgid ""
@ -442,8 +450,8 @@ msgid "Translation"
msgstr "Traducción"
#: pocheckerconsts.stranslationstatistics
msgid "Translation statistics per language:"
msgstr "Estadísticas de traducción por lenguaje"
msgid "Translation Statistics"
msgstr ""
#: pocheckerconsts.stroublesomefiles
msgid "Troublesome files"

View File

@ -143,17 +143,13 @@ msgstr "Vérifier les identificateurs manquants"
msgid "Check number of items"
msgstr "Vérifier le nombre d'éléments"
#: pocheckerconsts.scheckstatistics
msgid "Check percentage of (un)translated and fuzzy strings"
msgstr "Vérifier le pourcentage de chaînes floues et traduites ou non"
#: pocheckerconsts.sclearlistbox
msgid "Clear"
msgstr "Nettoyer"
#: pocheckerconsts.scopycaption
msgid "Copy to clipboard"
msgstr "Copier vers le presse-papier"
#: pocheckerconsts.scopy
msgid "&Copy"
msgstr ""
#: pocheckerconsts.screatingiconxofy
msgid "Creating icon nr. %d of %d"
@ -205,6 +201,10 @@ msgstr ""
msgid "Fuzzy strings (total: %s)"
msgstr "Chaînes floues (total : %s)"
#: pocheckerconsts.sgeneralinfo
msgid "General Info"
msgstr ""
#: pocheckerconsts.sgrapstatformcaption
msgid "Graphical summary"
msgstr "Résumé graphique"
@ -225,6 +225,14 @@ msgstr "Ignorer les chaînes traduites marquées comme \"floues\""
msgid "[Line: %d] Incompatible and/or invalid format() arguments for:"
msgstr "[Ligne : %d] Arguments de format () incompatibles et/ou incorrects pour :"
#: pocheckerconsts.slanguage
msgid "Language:"
msgstr ""
#: pocheckerconsts.slastsearchpath
msgid "Last search path:"
msgstr ""
#: pocheckerconsts.slineinfilename
msgid "[Line %d] in %s:"
msgstr "[Ligne %d] dans %s :"
@ -341,9 +349,9 @@ msgstr "Résultats"
msgid "&Run Selected Tests"
msgstr "&Exécuter les tests choisis"
#: pocheckerconsts.ssavecaption
msgid "Save to file"
msgstr "Enregistrer dans un fichier"
#: pocheckerconsts.ssaveas
msgid "Save &As ..."
msgstr ""
#: pocheckerconsts.ssaveerror
msgid ""
@ -430,8 +438,8 @@ msgid "Translation"
msgstr "Traduction"
#: pocheckerconsts.stranslationstatistics
msgid "Translation statistics per language:"
msgstr "Statistiques de traduction par langue :"
msgid "Translation Statistics"
msgstr ""
#: pocheckerconsts.stroublesomefiles
msgid "Troublesome files"

View File

@ -143,17 +143,13 @@ msgstr "Hiányzó azonosítók elenőrzése"
msgid "Check number of items"
msgstr "Elemek számának ellenőrzése"
#: pocheckerconsts.scheckstatistics
msgid "Check percentage of (un)translated and fuzzy strings"
msgstr "A lefordított és bizonytalan szövegek százalékának ellenőrzése"
#: pocheckerconsts.sclearlistbox
msgid "Clear"
msgstr "Kiürítés"
#: pocheckerconsts.scopycaption
msgid "Copy to clipboard"
msgstr "Másolás vágólapra"
#: pocheckerconsts.scopy
msgid "&Copy"
msgstr ""
#: pocheckerconsts.screatingiconxofy
msgid "Creating icon nr. %d of %d"
@ -205,6 +201,10 @@ msgstr ""
msgid "Fuzzy strings (total: %s)"
msgstr "Bizonytalan szövegek (összesen: %s)"
#: pocheckerconsts.sgeneralinfo
msgid "General Info"
msgstr ""
#: pocheckerconsts.sgrapstatformcaption
msgid "Graphical summary"
msgstr "Grafikus összefoglalás"
@ -225,6 +225,14 @@ msgstr "A \"bizonytalan\"-nak jelölt fordítások kihagyása"
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:"
#: pocheckerconsts.slanguage
msgid "Language:"
msgstr ""
#: pocheckerconsts.slastsearchpath
msgid "Last search path:"
msgstr ""
#: pocheckerconsts.slineinfilename
msgid "[Line %d] in %s:"
msgstr "[Sor %d] ebben: %s:"
@ -341,9 +349,9 @@ msgstr "Eredmények"
msgid "&Run Selected Tests"
msgstr "Kijelölt tesztek futtatása"
#: pocheckerconsts.ssavecaption
msgid "Save to file"
msgstr "Mentés fájlba"
#: pocheckerconsts.ssaveas
msgid "Save &As ..."
msgstr ""
#: pocheckerconsts.ssaveerror
msgid ""
@ -430,8 +438,8 @@ msgid "Translation"
msgstr "Fordítás"
#: pocheckerconsts.stranslationstatistics
msgid "Translation statistics per language:"
msgstr "Fordítási statisztika nyelvenként:"
msgid "Translation Statistics"
msgstr ""
#: pocheckerconsts.stroublesomefiles
msgid "Troublesome files"

View File

@ -147,17 +147,13 @@ msgstr "Verifica identificatori mancanti"
msgid "Check number of items"
msgstr "Verifica il numero di voci"
#: pocheckerconsts.scheckstatistics
msgid "Check percentage of (un)translated and fuzzy strings"
msgstr "Verifica le percentuali di stringhe tradotte o incerte"
#: pocheckerconsts.sclearlistbox
msgid "Clear"
msgstr "Azzera"
#: pocheckerconsts.scopycaption
msgid "Copy to clipboard"
msgstr "Copia negli appunti"
#: pocheckerconsts.scopy
msgid "&Copy"
msgstr ""
#: pocheckerconsts.screatingiconxofy
msgid "Creating icon nr. %d of %d"
@ -209,6 +205,10 @@ msgstr ""
msgid "Fuzzy strings (total: %s)"
msgstr ""
#: pocheckerconsts.sgeneralinfo
msgid "General Info"
msgstr ""
#: pocheckerconsts.sgrapstatformcaption
msgid "Graphical summary"
msgstr "Riassunto grafico"
@ -229,6 +229,14 @@ msgstr "Ignora le stringhe tradotte marcate come \"incerte\""
msgid "[Line: %d] Incompatible and/or invalid format() arguments for:"
msgstr "[Riga: %d] Argomenti di format()Incompatibili e/o non validi per:"
#: pocheckerconsts.slanguage
msgid "Language:"
msgstr ""
#: pocheckerconsts.slastsearchpath
msgid "Last search path:"
msgstr ""
#: pocheckerconsts.slineinfilename
msgid "[Line %d] in %s:"
msgstr "[Riga %d] in %s:"
@ -351,9 +359,9 @@ msgstr "Risultati"
msgid "&Run Selected Tests"
msgstr "A&vvia la verifica"
#: pocheckerconsts.ssavecaption
msgid "Save to file"
msgstr "Salva in un file"
#: pocheckerconsts.ssaveas
msgid "Save &As ..."
msgstr ""
#: pocheckerconsts.ssaveerror
msgid ""
@ -446,8 +454,8 @@ msgid "Translation"
msgstr "Traduzione"
#: pocheckerconsts.stranslationstatistics
msgid "Translation statistics per language:"
msgstr "Statistiche di traduzione per lingua:"
msgid "Translation Statistics"
msgstr ""
#: pocheckerconsts.stroublesomefiles
msgid "Troublesome files"

View File

@ -145,17 +145,13 @@ msgstr "欠けている識別子を検査"
msgid "Check number of items"
msgstr "項目数の検査"
#: pocheckerconsts.scheckstatistics
msgid "Check percentage of (un)translated and fuzzy strings"
msgstr "翻訳/未翻訳、未確定文字列の割合を検査"
#: pocheckerconsts.sclearlistbox
msgid "Clear"
msgstr ""
#: pocheckerconsts.scopycaption
msgid "Copy to clipboard"
msgstr "クリップボードへコピー"
#: pocheckerconsts.scopy
msgid "&Copy"
msgstr ""
#: pocheckerconsts.screatingiconxofy
msgid "Creating icon nr. %d of %d"
@ -205,6 +201,10 @@ msgstr ""
msgid "Fuzzy strings (total: %s)"
msgstr ""
#: pocheckerconsts.sgeneralinfo
msgid "General Info"
msgstr ""
#: pocheckerconsts.sgrapstatformcaption
msgid "Graphical summary"
msgstr ""
@ -225,6 +225,14 @@ msgstr ""
msgid "[Line: %d] Incompatible and/or invalid format() arguments for:"
msgstr "[行:%d] 互換性のないもしくは無効な format() の引数:"
#: pocheckerconsts.slanguage
msgid "Language:"
msgstr ""
#: pocheckerconsts.slastsearchpath
msgid "Last search path:"
msgstr ""
#: pocheckerconsts.slineinfilename
msgid "[Line %d] in %s:"
msgstr "[行 %d] (%s 内)"
@ -341,9 +349,9 @@ msgstr "結果"
msgid "&Run Selected Tests"
msgstr "選択したテストを実行(&R)"
#: pocheckerconsts.ssavecaption
msgid "Save to file"
msgstr "ファイルへ保存"
#: pocheckerconsts.ssaveas
msgid "Save &As ..."
msgstr ""
#: pocheckerconsts.ssaveerror
msgid ""
@ -430,10 +438,8 @@ msgid "Translation"
msgstr "訳文"
#: pocheckerconsts.stranslationstatistics
#, fuzzy
#| msgid "Translation statistics for:"
msgid "Translation statistics per language:"
msgstr "翻訳状況:"
msgid "Translation Statistics"
msgstr ""
#: pocheckerconsts.stroublesomefiles
msgid "Troublesome files"

View File

@ -144,17 +144,13 @@ msgstr "Tikrinti ar netrūksta identifikatorių"
msgid "Check number of items"
msgstr "Tikrinti ar tinkamas elementų kiekis"
#: pocheckerconsts.scheckstatistics
msgid "Check percentage of (un)translated and fuzzy strings"
msgstr "Tikrinti kiek procentų yra (ne-)verstų ir neaiškių vertimų"
#: pocheckerconsts.sclearlistbox
msgid "Clear"
msgstr "Valyti"
#: pocheckerconsts.scopycaption
msgid "Copy to clipboard"
msgstr "Kopijuoti į iškarpinę"
#: pocheckerconsts.scopy
msgid "&Copy"
msgstr ""
#: pocheckerconsts.screatingiconxofy
msgid "Creating icon nr. %d of %d"
@ -206,6 +202,10 @@ msgstr ""
msgid "Fuzzy strings (total: %s)"
msgstr "Neaiškūs vertimai (viso: %s)"
#: pocheckerconsts.sgeneralinfo
msgid "General Info"
msgstr ""
#: pocheckerconsts.sgrapstatformcaption
msgid "Graphical summary"
msgstr "Grafinis apibendrinimas"
@ -226,6 +226,14 @@ msgstr "Įgnoruoti vertimus, kurie pažymėti „fuzzy“ žyme"
msgid "[Line: %d] Incompatible and/or invalid format() arguments for:"
msgstr "[Eilutė: %d] Nesuderinamų ir/arba klaidingų „format()“ argumentų turi:"
#: pocheckerconsts.slanguage
msgid "Language:"
msgstr ""
#: pocheckerconsts.slastsearchpath
msgid "Last search path:"
msgstr ""
#: pocheckerconsts.slineinfilename
msgid "[Line %d] in %s:"
msgstr "[Eilutė: %d] faile %s:"
@ -342,9 +350,9 @@ msgstr "Rezultatai"
msgid "&Run Selected Tests"
msgstr "&Vykdyti parinktus testavimus"
#: pocheckerconsts.ssavecaption
msgid "Save to file"
msgstr "Įrašyti faile"
#: pocheckerconsts.ssaveas
msgid "Save &As ..."
msgstr ""
#: pocheckerconsts.ssaveerror
msgid ""
@ -431,8 +439,8 @@ msgid "Translation"
msgstr "Vertimas"
#: pocheckerconsts.stranslationstatistics
msgid "Translation statistics per language:"
msgstr "Vertimo statistika kiekvienai kalbai:"
msgid "Translation Statistics"
msgstr ""
#: pocheckerconsts.stroublesomefiles
msgid "Troublesome files"

View File

@ -133,16 +133,12 @@ msgstr ""
msgid "Check number of items"
msgstr ""
#: pocheckerconsts.scheckstatistics
msgid "Check percentage of (un)translated and fuzzy strings"
msgstr ""
#: pocheckerconsts.sclearlistbox
msgid "Clear"
msgstr ""
#: pocheckerconsts.scopycaption
msgid "Copy to clipboard"
#: pocheckerconsts.scopy
msgid "&Copy"
msgstr ""
#: pocheckerconsts.screatingiconxofy
@ -188,6 +184,10 @@ msgstr ""
msgid "Fuzzy strings (total: %s)"
msgstr ""
#: pocheckerconsts.sgeneralinfo
msgid "General Info"
msgstr ""
#: pocheckerconsts.sgrapstatformcaption
msgid "Graphical summary"
msgstr ""
@ -208,6 +208,14 @@ msgstr ""
msgid "[Line: %d] Incompatible and/or invalid format() arguments for:"
msgstr ""
#: pocheckerconsts.slanguage
msgid "Language:"
msgstr ""
#: pocheckerconsts.slastsearchpath
msgid "Last search path:"
msgstr ""
#: pocheckerconsts.slineinfilename
msgid "[Line %d] in %s:"
msgstr ""
@ -318,8 +326,8 @@ msgstr ""
msgid "&Run Selected Tests"
msgstr ""
#: pocheckerconsts.ssavecaption
msgid "Save to file"
#: pocheckerconsts.ssaveas
msgid "Save &As ..."
msgstr ""
#: pocheckerconsts.ssaveerror
@ -401,7 +409,7 @@ msgid "Translation"
msgstr ""
#: pocheckerconsts.stranslationstatistics
msgid "Translation statistics per language:"
msgid "Translation Statistics"
msgstr ""
#: pocheckerconsts.stroublesomefiles

View File

@ -143,17 +143,13 @@ msgstr "Verificar identificadores perdidos"
msgid "Check number of items"
msgstr "Verificar número de itens"
#: pocheckerconsts.scheckstatistics
msgid "Check percentage of (un)translated and fuzzy strings"
msgstr "Verificar percentual de strings (não)traduzidas e incertas"
#: pocheckerconsts.sclearlistbox
msgid "Clear"
msgstr "Limpar"
#: pocheckerconsts.scopycaption
msgid "Copy to clipboard"
msgstr "Copiar para área de transferência"
#: pocheckerconsts.scopy
msgid "&Copy"
msgstr ""
#: pocheckerconsts.screatingiconxofy
msgid "Creating icon nr. %d of %d"
@ -205,6 +201,10 @@ msgstr ""
msgid "Fuzzy strings (total: %s)"
msgstr "Strings incertas (total: %s)"
#: pocheckerconsts.sgeneralinfo
msgid "General Info"
msgstr ""
#: pocheckerconsts.sgrapstatformcaption
msgid "Graphical summary"
msgstr "Sumário gráfico"
@ -225,6 +225,14 @@ msgstr "Ignorar strings traduzidas marcadas como \"incertas\""
msgid "[Line: %d] Incompatible and/or invalid format() arguments for:"
msgstr "[Linha: %d] argumentos de format() incompatíveis ou inválidos para:"
#: pocheckerconsts.slanguage
msgid "Language:"
msgstr ""
#: pocheckerconsts.slastsearchpath
msgid "Last search path:"
msgstr ""
#: pocheckerconsts.slineinfilename
msgid "[Line %d] in %s:"
msgstr "[Linha %d] em %s:"
@ -341,9 +349,9 @@ msgstr "Resultados"
msgid "&Run Selected Tests"
msgstr "&Executar testes selecionados"
#: pocheckerconsts.ssavecaption
msgid "Save to file"
msgstr "Salvar para aquivo"
#: pocheckerconsts.ssaveas
msgid "Save &As ..."
msgstr ""
#: pocheckerconsts.ssaveerror
msgid ""
@ -430,8 +438,8 @@ msgid "Translation"
msgstr "Tradução"
#: pocheckerconsts.stranslationstatistics
msgid "Translation statistics per language:"
msgstr "Estatísticas de tradução por língua:"
msgid "Translation Statistics"
msgstr ""
#: pocheckerconsts.stroublesomefiles
msgid "Troublesome files"

View File

@ -125,7 +125,7 @@ msgstr "Невозможно записать файл%s%s%s%sВы можете
#: pocheckerconsts.scheckforduplicateuntranslatedvalues
msgid "Check for duplicate untranslated values"
msgstr "Поиск дублирующихся непереведённых строк"
msgstr "Поиск дублирующихся исходных строк"
#: pocheckerconsts.scheckforincompatibleformatarguments
msgid "Check for incompatible format arguments"
@ -133,7 +133,7 @@ msgstr "Поиск несовместимых аргументов формат
#: pocheckerconsts.scheckformismatchesinuntranslatedstrings
msgid "Check for mismatches in untranslated strings"
msgstr "Поиск несоответствий непереведённых строк"
msgstr "Поиск несоответствий исходных строк"
#: pocheckerconsts.scheckmissingidentifiers
msgid "Check missing identifiers"
@ -143,17 +143,13 @@ msgstr "Поиск отсутствующих идентификаторов"
msgid "Check number of items"
msgstr "Проверка числа строк"
#: pocheckerconsts.scheckstatistics
msgid "Check percentage of (un)translated and fuzzy strings"
msgstr "Вывод статистики по (не)переведённым и неточным строкам"
#: pocheckerconsts.sclearlistbox
msgid "Clear"
msgstr "Очистить"
#: pocheckerconsts.scopycaption
msgid "Copy to clipboard"
msgstr "Копировать в буфер обмена"
#: pocheckerconsts.scopy
msgid "&Copy"
msgstr "&Копировать"
#: pocheckerconsts.screatingiconxofy
msgid "Creating icon nr. %d of %d"
@ -205,6 +201,10 @@ msgstr ""
msgid "Fuzzy strings (total: %s)"
msgstr "Неточные переводы (всего: %s)"
#: pocheckerconsts.sgeneralinfo
msgid "General Info"
msgstr "Общие сведения"
#: pocheckerconsts.sgrapstatformcaption
msgid "Graphical summary"
msgstr "Сводка в графическом виде"
@ -225,6 +225,14 @@ msgstr "Не учитывать \"неточные\" строки перевод
msgid "[Line: %d] Incompatible and/or invalid format() arguments for:"
msgstr "[Строка: %d] Несовместимые и/или неверные аргументы для Format() в:"
#: pocheckerconsts.slanguage
msgid "Language:"
msgstr "Язык:"
#: pocheckerconsts.slastsearchpath
msgid "Last search path:"
msgstr "Последний путь поиска:"
#: pocheckerconsts.slineinfilename
msgid "[Line %d] in %s:"
msgstr "[Строка %d] в %s:"
@ -341,9 +349,9 @@ msgstr "Результаты"
msgid "&Run Selected Tests"
msgstr "&Запустить выбранные тесты"
#: pocheckerconsts.ssavecaption
msgid "Save to file"
msgstr "Сохранить в файл"
#: pocheckerconsts.ssaveas
msgid "Save &As ..."
msgstr "Сохранить &как ..."
#: pocheckerconsts.ssaveerror
msgid ""
@ -430,8 +438,8 @@ msgid "Translation"
msgstr "Перевод"
#: pocheckerconsts.stranslationstatistics
msgid "Translation statistics per language:"
msgstr "Статистика переводов по языкам:"
msgid "Translation Statistics"
msgstr "Статистика переводов"
#: pocheckerconsts.stroublesomefiles
msgid "Troublesome files"

View File

@ -144,17 +144,13 @@ msgstr "Перевірити відсутні ідентифікатори"
msgid "Check number of items"
msgstr "Перевірити кількість елементів"
#: pocheckerconsts.scheckstatistics
msgid "Check percentage of (un)translated and fuzzy strings"
msgstr "Перевірити відсоток (не)перекладених і неточних рядків"
#: pocheckerconsts.sclearlistbox
msgid "Clear"
msgstr "Очистити"
#: pocheckerconsts.scopycaption
msgid "Copy to clipboard"
msgstr "Копіювати в буфер"
#: pocheckerconsts.scopy
msgid "&Copy"
msgstr ""
#: pocheckerconsts.screatingiconxofy
msgid "Creating icon nr. %d of %d"
@ -206,6 +202,10 @@ msgstr ""
msgid "Fuzzy strings (total: %s)"
msgstr "Неповні рядки (всього: %s)"
#: pocheckerconsts.sgeneralinfo
msgid "General Info"
msgstr ""
#: pocheckerconsts.sgrapstatformcaption
msgid "Graphical summary"
msgstr "Графічний підсумок"
@ -226,6 +226,14 @@ msgstr "Знехтувати перекладені рядки, позначен
msgid "[Line: %d] Incompatible and/or invalid format() arguments for:"
msgstr "[Рядок: %d] Несумісні і/або неправильні аргументи format() для:"
#: pocheckerconsts.slanguage
msgid "Language:"
msgstr ""
#: pocheckerconsts.slastsearchpath
msgid "Last search path:"
msgstr ""
#: pocheckerconsts.slineinfilename
msgid "[Line %d] in %s:"
msgstr "[Рядок %d] в %s:"
@ -342,9 +350,9 @@ msgstr "Результати"
msgid "&Run Selected Tests"
msgstr "&Запустити вибрані тести"
#: pocheckerconsts.ssavecaption
msgid "Save to file"
msgstr "Зберегти в файл"
#: pocheckerconsts.ssaveas
msgid "Save &As ..."
msgstr ""
#: pocheckerconsts.ssaveerror
msgid ""
@ -431,8 +439,8 @@ msgid "Translation"
msgstr "Переклад"
#: pocheckerconsts.stranslationstatistics
msgid "Translation statistics per language:"
msgstr "Статистика перекладу для мови:"
msgid "Translation Statistics"
msgstr ""
#: pocheckerconsts.stroublesomefiles
msgid "Troublesome files"

View File

@ -146,17 +146,13 @@ msgstr "检查缺少标识符"
msgid "Check number of items"
msgstr "检查项目数量"
#: pocheckerconsts.scheckstatistics
msgid "Check percentage of (un)translated and fuzzy strings"
msgstr "检查翻译/未翻译和模糊字符串的比例"
#: pocheckerconsts.sclearlistbox
msgid "Clear"
msgstr "清除"
#: pocheckerconsts.scopycaption
msgid "Copy to clipboard"
msgstr "复制到剪切板"
#: pocheckerconsts.scopy
msgid "&Copy"
msgstr ""
#: pocheckerconsts.screatingiconxofy
#, fuzzy,badformat
@ -209,6 +205,10 @@ msgstr ""
msgid "Fuzzy strings (total: %s)"
msgstr ""
#: pocheckerconsts.sgeneralinfo
msgid "General Info"
msgstr ""
#: pocheckerconsts.sgrapstatformcaption
msgid "Graphical summary"
msgstr "图形化概要"
@ -229,6 +229,14 @@ msgstr "忽略翻译的被标记为“模糊不清”字符串"
msgid "[Line: %d] Incompatible and/or invalid format() arguments for:"
msgstr "[行: %d]不兼容 和/或 无效format()参数对于:"
#: pocheckerconsts.slanguage
msgid "Language:"
msgstr ""
#: pocheckerconsts.slastsearchpath
msgid "Last search path:"
msgstr ""
#: pocheckerconsts.slineinfilename
msgid "[Line %d] in %s:"
msgstr "[行: %d]在%s:"
@ -351,9 +359,9 @@ msgstr "结果"
msgid "&Run Selected Tests"
msgstr "运行选择的测试(&R)"
#: pocheckerconsts.ssavecaption
msgid "Save to file"
msgstr "保存到文件"
#: pocheckerconsts.ssaveas
msgid "Save &As ..."
msgstr ""
#: pocheckerconsts.ssaveerror
msgid ""
@ -446,8 +454,8 @@ msgid "Translation"
msgstr "翻译"
#: pocheckerconsts.stranslationstatistics
msgid "Translation statistics per language:"
msgstr "翻译统计每种语言"
msgid "Translation Statistics"
msgstr ""
#: pocheckerconsts.stroublesomefiles
msgid "Troublesome files"

View File

@ -26,6 +26,9 @@ resourcestring
sErrorOnCreate = 'Error creating an instance of TPoFamily:' + LineEnding + '%s';
sErrorOnCleanup = 'An unrecoverable error occurred' + LineEnding + '%s' + LineEnding + 'Please close the program';
sLastSearchPath = 'Last search path:';
sLanguage = 'Language:';
sTotalErrors = 'Total errors found: %d';
sTotalWarnings = 'Total warnings found: %d';
sTotalUntranslatedStrings = 'Total untranslated strings: %s';
@ -38,10 +41,12 @@ resourcestring
//Result form
sSaveError = 'Error saving file:' + LineEnding + '%s';
sSaveCaption = 'Save to file';
sResults = 'Results';
sCopyCaption = 'Copy to clipboard';
sShowStatGraph = 'Show statistics graph';
sGeneralInfo = 'General Info';
sTranslationStatistics = 'Translation Statistics';
sCopy = '&Copy';
sSaveAs ='Save &As ...';
//Graphical summary form
sGrapStatFormCaption = 'Graphical summary';
@ -71,7 +76,6 @@ resourcestring
sOriginal = 'Original';
sTranslation = 'Translation';
sErrorsByTest = 'Errors / warnings reported by %s for:';
sTranslationStatistics = 'Translation statistics per language:';
sCheckNumberOfItems = 'Check number of items';
sCheckForIncompatibleFormatArguments = 'Check for incompatible format '
+'arguments';
@ -80,8 +84,6 @@ resourcestring
+'untranslated strings';
sCheckForDuplicateUntranslatedValues = 'Check for duplicate untranslated '
+'values';
sCheckStatistics = 'Check percentage of (un)translated and fuzzy strings';
//sFindAllTranslatedPoFiles = 'Find all translated po-files';
sIgnoreFuzzyTranslations = 'Ignore translated strings marked as "fuzzy"';
sIncompatibleFormatArgs = '[Line: %d] Incompatible and/or invalid format() arguments for:' ;

View File

@ -14,7 +14,7 @@ object PoCheckerForm: TPoCheckerForm
OnDestroy = FormDestroy
OnShow = FormShow
ShowInTaskBar = stAlways
LCLVersion = '1.7'
LCLVersion = '1.9.0.0'
Visible = True
object TestListBox: TCheckListBox
AnchorSideLeft.Control = MasterPoListBox
@ -35,12 +35,11 @@ object PoCheckerForm: TPoCheckerForm
'sCheckMissingIdentifiers'
'sCheckForMismatchesInUntranslatedStrings'
'sCheckForDuplicateUntranslatedValues'
'sCheckStatistics'
)
ItemHeight = 17
TabOrder = 1
Data = {
06000000000000000000
050000000000000000
}
end
object SelectTestLabel: TLabel
@ -263,6 +262,7 @@ object PoCheckerForm: TPoCheckerForm
Width = 644
AutoSize = True
ButtonHeight = 50
ButtonWidth = 23
Caption = 'MainToolBar'
Images = TBImageList
ShowCaptions = True
@ -279,7 +279,6 @@ object PoCheckerForm: TPoCheckerForm
Left = 77
Height = 50
Top = 2
Width = 5
AutoSize = True
Caption = 'Div1ToolButton'
ShowCaption = False

View File

@ -168,7 +168,7 @@ var
i: integer;
begin
// Set / reset "basic" CheckListBox items.
for i := 0 to TestListBox.Count - 3 do
for i := 0 to TestListBox.Count - 2 do
TestListBox.Checked[i] := True;
end;
@ -521,6 +521,7 @@ var
TotalTranslatedCount, TotalUntranslatedCount, TotalFuzzyCount: Integer;
TotalPercTranslated: Double;
SL: TStrings;
StatL: TStrings;
ResultDlg: TResultDlgForm;
mr: TModalResult;
begin
@ -534,20 +535,36 @@ begin
NoErrLabel.Visible := False;
Application.ProcessMessages;
SL := TStringList.Create;
StatL := TStringList.Create;
mr := mrNone;
try
PoFamilyList.TestTypes := TestTypes;
PoFamilyList.TestOptions := TestOptions;
PoFamilyList.RunTests(ErrorCount, WarningCount, TotalTranslatedCount, TotalUntranslatedCount, TotalFuzzyCount, SL);
PoFamilyList.RunTests(ErrorCount, WarningCount, TotalTranslatedCount, TotalUntranslatedCount, TotalFuzzyCount, SL, StatL);
//debugln('RunSelectedTests: ', Format(sTotalErrors, [ErrorCount]));
//debugln(' ', Format(sTotalWarnings, [WarningCount]));
TotalPercTranslated := 100 * TotalTranslatedCount / (TotalTranslatedCount + TotalUntranslatedCount + TotalFuzzyCount);
SL.Insert(0, sLastSearchPath);
SL.Insert(1, SelectDirectoryDialog.FileName);
SL.Insert(2, '');
SL.Insert(3, sLanguage);
SL.Insert(4, LangFilter.Text);
SL.Insert(5, '');
SL.Add(Format(sTotalErrors, [ErrorCount]));
SL.Add(Format(sTotalWarnings, [WarningCount]));
SL.Add(Format(sTotalUntranslatedStrings, [IntToStr(TotalUntranslatedCount)]));
SL.Add(Format(sTotalFuzzyStrings, [IntToStr(TotalFuzzyCount)]));
SL.Add('');
SL.Add(Format(sTotalTranslatedStrings, [IntToStr(TotalTranslatedCount), TotalPercTranslated]));
StatL.Add(Format(sTotalUntranslatedStrings, [IntToStr(TotalUntranslatedCount)]));
StatL.Add(Format(sTotalFuzzyStrings, [IntToStr(TotalFuzzyCount)]));
StatL.Add('');
StatL.Add(Format(sTotalTranslatedStrings, [IntToStr(TotalTranslatedCount), TotalPercTranslated]));
ResultDlg := TResultDlgForm.Create(nil);
try
ResultDlg.FTotalTranslated := TotalTranslatedCount;
@ -555,7 +572,9 @@ begin
ResultDlg.FTotalFuzzy := TotalFuzzyCount;
ResultDlg.FTotalPercTranslated := TotalPercTranslated;
ResultDlg.Log.Assign(SL);
FreeAndNil(SL); //No need to keep 2 copies of this data
FreeAndNil(SL);
ResultDlg.StatLog.Assign(StatL);
FreeAndNil(StatL);
ResultDlg.PoFamilyList := PoFamilyList;
ResultDlg.PoFamilyStats := PoFamilyList.PoFamilyStats;
ResultDlg.Settings := FPoCheckerSettings;
@ -567,6 +586,8 @@ begin
finally
if Assigned(SL) then
SL.Free;
if Assigned(StatL) then
StatL.Free;
ClearStatusBar;
end;
if mr = mrOpenEditorFile then WindowState:= wsMinimized;

View File

@ -153,8 +153,7 @@ const
'CheckForIncompatibleFormatArguments',
'CheckMissingIdentifiers',
'CheckForMismatchesInUntranslatedStrings',
'CheckForDuplicateUntranslatedValues',
'CheckStatistics'
'CheckForDuplicateUntranslatedValues'
);
TestoptionNames: array[TPoTestOption] of String = (
'FindAllChildren',

View File

@ -18,7 +18,7 @@ uses
Type
TPoTestType = (pttCheckNrOfItems, pttCheckFormatArgs, pttCheckMissingIdentifiers,
pttCheckMismatchedOriginals, pttCheckDuplicateOriginals, pttCheckStatistics);
pttCheckMismatchedOriginals, pttCheckDuplicateOriginals);
TPoTestTypes = Set of TPoTestType;
TPoTestOption = (ptoFindAllChildren, ptoIgnoreFuzzyStrings);
@ -32,8 +32,7 @@ const
sCheckForIncompatibleFormatArguments,
sCheckMissingIdentifiers,
sCheckForMismatchesInUntranslatedStrings,
sCheckForDuplicateUntranslatedValues,
sCheckStatistics
sCheckForDuplicateUntranslatedValues
);
Type
@ -77,7 +76,8 @@ Type
procedure CheckStatistics(ErrorCnt: Integer);
public
procedure RunTests(out ErrorCount, WarningCount, TranslatedCount, UntranslatedCount, FuzzyCount: Integer; ErrorLog: TStrings);
procedure RunTests(out ErrorCount, WarningCount, TranslatedCount,
UntranslatedCount, FuzzyCount: Integer; ErrorLog, StatLog: TStrings);
property Master: TPOFile read FMaster;
property Child: TPOFile read FChild;
@ -272,7 +272,6 @@ begin
PoTestTypeNames[pttCheckMissingIdentifiers] := sCheckMissingIdentifiers;
PoTestTypeNames[pttCheckMismatchedOriginals] := sCheckForMismatchesInUntranslatedStrings;
PoTestTypeNames[pttCheckDuplicateOriginals] := sCheckForDuplicateUntranslatedValues;
PoTestTypeNames[pttCheckStatistics] := sCheckStatistics;
end;
@ -429,9 +428,6 @@ var
end;
begin
if (FList.Count = 0) then Exit;
ALog.Add(Divider);
ALog.Add(sTranslationStatistics);
ALog.Add('');
for i := 0 to FList.Count - 1 do
begin
Stat := TStat(FList.Items[i]);
@ -442,7 +438,6 @@ begin
ALog.Add('');
ALog.Add('');
end;
ALog.Add(Divider);
end;
{ TPoFamily }
@ -785,7 +780,6 @@ var
NrTranslated, NrUntranslated, NrFuzzy, NrTotal: Integer;
begin
//debugln('TPoFamily.CheckStatistics');
DoTestStart(sCheckStatistics, ShortChildName);
NrTranslated := FChild.NrTranslated;
NrUntranslated := FChild.NrUntranslated;
NrFuzzy := FChild.NrFuzzy;
@ -794,7 +788,6 @@ begin
begin
FPoFamilyStats.Add(ChildName, NrTotal, NrTranslated, NrUntranslated, NrFuzzy, ErrorCnt);
end;
DoTestEnd(PoTestTypeNames[pttCheckFormatArgs], 0);
//debugln('TPoFamily.CheckIncompatibleFormatArgs: ',Dbgs(ErrorCount),' Errors');
end;
@ -804,7 +797,7 @@ Pre conditions:
* Master and a matching Child must be assigned at start ot testing
* If a Child is assigned it must be child of Master
}
procedure TPoFamily.RunTests(out ErrorCount, WarningCount, TranslatedCount, UntranslatedCount, FuzzyCount: Integer; ErrorLog: TStrings);
procedure TPoFamily.RunTests(out ErrorCount, WarningCount, TranslatedCount, UntranslatedCount, FuzzyCount: Integer; ErrorLog, StatLog: TStrings);
var
SL: TStringList;
CurrErrCnt, CurrWarnCnt, ThisErrCnt: Integer;
@ -947,11 +940,9 @@ begin
end;
}
end;
//Add statistics at the end of the log
if (pttCheckStatistics in FTestTypes) and (FPoFamilyStats.Count > 0) then
begin
FPoFamilyStats.AddStatisticsToLog(ErrorLog);
end;
//Generate statistics
if FPoFamilyStats.Count > 0 then
FPoFamilyStats.AddStatisticsToLog(StatLog);
finally
SL.Free;
end;

View File

@ -36,7 +36,7 @@ type
destructor Destroy; override;
procedure Add(PoFamily: TPofamily);
function Count: Integer;
procedure RunTests(out ErrorCount, WarningCount, TotalTranslatedCount, TotalUntranslatedCount, TotalFuzzyCount: Integer; ErrorLog: TStrings);
procedure RunTests(out ErrorCount, WarningCount, TotalTranslatedCount, TotalUntranslatedCount, TotalFuzzyCount: Integer; ErrorLog, StatLog: TStrings);
property Items[Index: Integer]: TPoFamily read GetItem; // write SetItem;
property PoFamilyStats: TPoFamilyStats read FPoFamilyStats;
property TestTypes: TPoTestTypes read FTestTypes write FTestTypes;
@ -117,46 +117,38 @@ begin
end;
procedure TPoFamilyList.RunTests(out ErrorCount, WarningCount, TotalTranslatedCount, TotalUntranslatedCount, TotalFuzzyCount: Integer;
ErrorLog: TStrings);
ErrorLog, StatLog: TStrings);
var
Index, ThisErrorCount, ThisWarningCount: Integer;
ThisTranslatedCount, ThisUntranslatedCount, ThisFuzzyCount: Integer;
PoFamily: TPoFamily;
//ThisLog: TStringList;
begin
if (FLangID = lang_all) then
Include(FTestOptions,ptoFindAllChildren)
else
Exclude(FTestOptions,ptoFindAllChildren);
ErrorLog.Clear;
//ThisLog := TStringList.Create;
StatLog.Clear;
ErrorCount := NoError;
WarningCount := NoError;
TotalTranslatedCount := 0;
TotalUntranslatedCount := 0;
TotalFuzzyCount := 0;
FPoFamilyStats.Clear;
try
for Index := 0 to FList.Count - 1 do
begin
PoFamily := GetItem(Index);
PoFamily.OnTestStart := FOnTestStart;
PoFamily.OnTestEnd := FOnTestEnd;
PoFamily.TestTypes := FTesttypes;
PoFamily.TestOptions := FTestOptions;
PoFamily.RunTests(ThisErrorCount, ThisWarningCount, ThisTranslatedCount, ThisUntranslatedCount, ThisFuzzyCount, ErrorLog);
PoFamily.PoFamilyStats.AddItemsTo(FPoFamilyStats);
ErrorCount := ErrorCount + ThisErrorCount;
WarningCount := WarningCount + ThisWarningCount;
TotalTranslatedCount := TotalTranslatedCount + ThisTranslatedCount;
TotalUntranslatedCount := TotalUntranslatedCount + ThisUntranslatedCount;
TotalFuzzyCount := TotalFuzzyCount + ThisFuzzyCount;
//ThisLog.AddStrings(ErrorLog)
end;
finally
//ThisLog.Free;
for Index := 0 to FList.Count - 1 do
begin
PoFamily := GetItem(Index);
PoFamily.OnTestStart := FOnTestStart;
PoFamily.OnTestEnd := FOnTestEnd;
PoFamily.TestTypes := FTesttypes;
PoFamily.TestOptions := FTestOptions;
PoFamily.RunTests(ThisErrorCount, ThisWarningCount, ThisTranslatedCount, ThisUntranslatedCount, ThisFuzzyCount, ErrorLog, StatLog);
PoFamily.PoFamilyStats.AddItemsTo(FPoFamilyStats);
ErrorCount := ErrorCount + ThisErrorCount;
WarningCount := WarningCount + ThisWarningCount;
TotalTranslatedCount := TotalTranslatedCount + ThisTranslatedCount;
TotalUntranslatedCount := TotalUntranslatedCount + ThisUntranslatedCount;
TotalFuzzyCount := TotalFuzzyCount + ThisFuzzyCount;
end;
end;

File diff suppressed because it is too large Load Diff

View File

@ -5,9 +5,10 @@ unit ResultDlg;
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
ExtCtrls, Buttons, ClipBrd, LCLType, LCLProc, SynEdit, SynHighlighterPo,
PoFamilies, PoFamilyLists, GraphStat, PoCheckerConsts, PoCheckerSettings;
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
Buttons, ClipBrd, LCLType, LCLProc, ComCtrls, Menus, SynEdit,
SynHighlighterPo, PoFamilies, PoFamilyLists, GraphStat, PoCheckerConsts,
PoCheckerSettings, Types;
type
@ -15,27 +16,33 @@ type
TResultDlgForm = class(TForm)
GraphStatBtn: TBitBtn;
CopyBtn: TBitBtn;
SaveBtn: TBitBtn;
CopyMenuItem: TMenuItem;
SaveAsMenuItem: TMenuItem;
MemoPopupMenu: TPopupMenu;
StatMemo: TSynEdit;
ResultPageControl: TPageControl;
CloseBtn: TBitBtn;
Panel1: TPanel;
SaveDialog: TSaveDialog;
FLog: TStringList;
FStatLog: TStringList;
LogMemo: TSynEdit;
procedure CopyBtnClick(Sender: TObject);
GeneralTabSheet: TTabSheet;
StatisticsTabSheet: TTabSheet;
procedure CopyMenuItemClick(Sender: TObject);
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure FormShow(Sender: TObject);
procedure GraphStatBtnClick(Sender: TObject);
procedure SaveBtnClick(Sender: TObject);
procedure SaveAsMenuItemClick(Sender: TObject);
private
PoHL: TSynPoSyn;
FPoFamilyList: TPoFamilyList;
FPoFamilyStats: TPoFamilyStats;
FSettings: TPoCheckerSettings;
procedure SaveToFile;
procedure GetCurrentMemo(var CurrentMemo: TSynEdit);
procedure LoadConfig;
procedure SaveConfig;
public
@ -46,6 +53,7 @@ type
FTotalFuzzy: Integer;
FTotalPercTranslated: Double;
property Log: TStringList read FLog write FLog;
property StatLog: TStringList read FStatLog write FStatLog;
property PoFamilyList: TPoFamilyList read FPoFamilyList write FPoFamilyList;
property PoFamilyStats: TPoFamilyStats read FPoFamilyStats write FPoFamilyStats;
property Settings: TPoCheckerSettings read FSettings write FSettings;
@ -60,13 +68,17 @@ implementation
procedure TResultDlgForm.FormCreate(Sender: TObject);
begin
Caption := sResults;
GeneralTabSheet.Caption := sGeneralInfo;
StatisticsTabSheet.Caption := sTranslationStatistics;
CopyMenuItem.Caption := sCopy;
SaveAsMenuItem.Caption := sSaveAs;
LogMemo.Lines.Clear;
LogMemo.Align := alClient;
StatMemo.Lines.Clear;
FLog := TStringList.Create;
FStatLog := TStringList.Create;
PoHL := TSynPoSyn.Create(Self);
LogMemo.Highlighter := PoHL;
SaveBtn.Caption := sSaveCaption;
CopyBtn.Caption := sCopyCaption;
GraphStatBtn.Caption := sShowStatGraph;
FTotalTranslated := 0;
FTotalUntranslated := 0;
@ -77,26 +89,35 @@ procedure TResultDlgForm.FormClose(Sender: TObject;
var CloseAction: TCloseAction);
begin
FLog.Clear;
FStatLog.Clear;
end;
procedure TResultDlgForm.CopyBtnClick(Sender: TObject);
procedure TResultDlgForm.CopyMenuItemClick(Sender: TObject);
var
CurMemo: TSynEdit;
begin
ClipBoard.AsText := LogMemo.Text;
GetCurrentMemo(CurMemo);
if CurMemo <> nil then
ClipBoard.AsText := CurMemo.Text;
end;
procedure TResultDlgForm.FormDestroy(Sender: TObject);
begin
FLog.Free;
FStatLog.Free;
SaveConfig;
end;
procedure TResultDlgForm.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
CurMemo: TSynEdit;
begin
if (Key = VK_Tab) and (Shift = []) and LogMemo.Focused then
GetCurrentMemo(CurMemo);
if (Key = VK_Tab) and (Shift = []) and (Assigned(CurMemo) and CurMemo.Focused) then
begin
//Workaroud: cannot tab out of LogMemo
CopyBtn.SetFocus;
//Workaroud: cannot tab out of LogMemo/StatMemo
GraphStatBtn.SetFocus;
//debugln('Tab');
Key := 0;
end;
@ -105,6 +126,7 @@ end;
procedure TResultDlgForm.FormShow(Sender: TObject);
begin
LogMemo.Lines.Assign(FLog);
StatMemo.Lines.Assign(FStatLog);
GraphStatBtn.Visible := (PoFamilyStats <> nil) and (PoFamilyStats.Count > 0);
LoadConfig;
WindowState := Settings.ResultsFormWindowState;
@ -134,27 +156,28 @@ begin
end;
end;
procedure TResultDlgForm.SaveBtnClick(Sender: TObject);
procedure TResultDlgForm.SaveAsMenuItemClick(Sender: TObject);
var
CurMemo: TSynEdit;
begin
if SaveDialog.Execute then
GetCurrentMemo(CurMemo);
if (CurMemo <> nil) and (SaveDialog.Execute) then
begin
try
LogMemo.Lines.SaveToFile(SaveDialog.FileName);
CurMemo.Lines.SaveToFile(SaveDialog.FileName);
except
on E: EStreamError do MessageDlg('POChecker',Format(sSaveError,[SaveDialog.FileName]),mtError, [mbOk],0);
end;
end;
end;
procedure TResultDlgForm.SaveToFile;
procedure TResultDlgForm.GetCurrentMemo(var CurrentMemo: TSynEdit);
begin
if SaveDialog.Execute then
begin
try
LogMemo.Lines.SaveToFile(SaveDialog.FileName);
except
MessageDlg('POChecker',Format(sSaveError,[SaveDialog.FileName]), mtError, [mbOk], 0);
end;
case ResultPageControl.PageIndex of
0: CurrentMemo := LogMemo;
1: CurrentMemo := StatMemo;
else
CurrentMemo := nil;
end;
end;
@ -171,9 +194,15 @@ begin
BoundsRect := ARect;
end;
if Settings.DisableAntialiasing then
LogMemo.Font.Quality := fqNonAntialiased
begin
LogMemo.Font.Quality := fqNonAntialiased;
StatMemo.Font.Quality := fqNonAntialiased;
end
else
begin
LogMemo.Font.Quality := fqDefault;
StatMemo.Font.Quality := fqDefault;
end;
end;
procedure TResultDlgForm.SaveConfig;