forked from qt-creator/qt-creator
ClangTools: Tr::tr
Change-Id: I61e2d961225e9699bffcee8e54bc201eeb9a70d9 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -39803,7 +39803,7 @@ skal være et repository krævet SSH-autentifikation (se dokumentation på SSH o
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::SelectableFilesDialog</name>
|
||||
<name>::ClangTools</name>
|
||||
<message>
|
||||
<source>Analyzer Configuration</source>
|
||||
<translation>Analysator-konfiguration</translation>
|
||||
@@ -39832,9 +39832,6 @@ skal være et repository krævet SSH-autentifikation (se dokumentation på SSH o
|
||||
<source>Analyze</source>
|
||||
<translation>Analysér</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::ClangToolsBasicSettings</name>
|
||||
<message>
|
||||
<source>Form</source>
|
||||
<translation>Formular</translation>
|
||||
@@ -39843,20 +39840,10 @@ skal være et repository krævet SSH-autentifikation (se dokumentation på SSH o
|
||||
<source>Build the project before analysis</source>
|
||||
<translation>Byg projektet inden analyse</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolsConfigWidget</name>
|
||||
<message>
|
||||
<source>General</source>
|
||||
<translation>Generelt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Simultaneous processes:</source>
|
||||
<translation>Samtidige processer:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ProjectSettingsWidget</name>
|
||||
<message>
|
||||
<source>Suppressed diagnostics:</source>
|
||||
<translation>Undertrykt diagnostik:</translation>
|
||||
@@ -40190,14 +40177,11 @@ Spordataene er tabt.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangTidyClazyRunner</name>
|
||||
<name>::ClangTools</name>
|
||||
<message>
|
||||
<source>Clang-Tidy and Clazy</source>
|
||||
<translation>Clang-Tidy og Clazy</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangTidyClazyTool</name>
|
||||
<message>
|
||||
<source>Clang-Tidy and Clazy Issues</source>
|
||||
<translation>Clang-Tidy- og Clazy-problemstillinger</translation>
|
||||
@@ -40218,10 +40202,6 @@ Spordataene er tabt.</translation>
|
||||
<source>Clang-Tidy and Clazy use a customized Clang executable from the Clang project to search for errors and warnings.</source>
|
||||
<translation>Clang-Tidy og Clazy brug en brugerdefineret Clang-eksekverbar fra Clang-projektet til at søge efter fejl og advarsler.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clang-Tidy and Clazy</source>
|
||||
<translation>Clang-Tidy og Clazy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clang-Tidy and Clazy...</source>
|
||||
<translation>Clang-Tidy og Clazy...</translation>
|
||||
@@ -40261,9 +40241,6 @@ Spordataene er tabt.</translation>
|
||||
<numerusform>%n problemstillinger fundet.</numerusform>
|
||||
</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolRunControl</name>
|
||||
<message>
|
||||
<source>Release</source>
|
||||
<translation>Udgiv</translation>
|
||||
@@ -40312,9 +40289,6 @@ Spordataene er tabt.</translation>
|
||||
<source>: Not all files could be analyzed.</source>
|
||||
<translation>: Kunne ikke analysere alle filer.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolRunner</name>
|
||||
<message>
|
||||
<source>An error occurred with the %1 process.</source>
|
||||
<translation>Der opstod en fejl med %1-processen.</translation>
|
||||
@@ -40337,9 +40311,6 @@ Procesfejl: %2
|
||||
Output:
|
||||
%3</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolsDiagnosticModel</name>
|
||||
<message>
|
||||
<source>Issue</source>
|
||||
<translation>Problemstilling</translation>
|
||||
@@ -40376,9 +40347,6 @@ Output:
|
||||
<source>Applied</source>
|
||||
<translation>Anvendt</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Diagnostic</name>
|
||||
<message>
|
||||
<source>Category:</source>
|
||||
<translation>Kategori:</translation>
|
||||
@@ -40399,9 +40367,6 @@ Output:
|
||||
<source>Location:</source>
|
||||
<translation>Placering:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::ExplainingStep</name>
|
||||
<message>
|
||||
<source>Message:</source>
|
||||
<translation>Meddelelse:</translation>
|
||||
@@ -40410,41 +40375,18 @@ Output:
|
||||
<source>Extended message:</source>
|
||||
<translation>Udvidet meddelelse:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Location:</source>
|
||||
<translation>Placering:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::DiagnosticView</name>
|
||||
<message>
|
||||
<source>Suppress This Diagnostic</source>
|
||||
<translation>Undertryk denne diagnostik</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LogFileReader</name>
|
||||
<message>
|
||||
<source>File "%1" does not exist or is not readable.</source>
|
||||
<translation>Filen "%1" findes ikke eller er ikke læsbar.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolsOptionsPage</name>
|
||||
<message>
|
||||
<source>Clang Tools</source>
|
||||
<translation>Clang-værktøjer</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolsPlugin</name>
|
||||
<message>
|
||||
<source>Clang Tools</source>
|
||||
<translation>Clang-værktøjer</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::SuppressedDiagnosticsModel</name>
|
||||
<message>
|
||||
<source>File</source>
|
||||
<translation>Fil</translation>
|
||||
|
@@ -41242,7 +41242,7 @@ Are you sure?</source>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::SelectableFilesDialog</name>
|
||||
<name>::ClangTools</name>
|
||||
<message>
|
||||
<source>Files to Analyze</source>
|
||||
<translation>Zu analysierende Dateien</translation>
|
||||
@@ -41308,7 +41308,7 @@ Are you sure?</source>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolRunner</name>
|
||||
<name>::ClangTools</name>
|
||||
<message>
|
||||
<source>An error occurred with the %1 process.</source>
|
||||
<translation>Im %1-Prozess trat ein Fehler auf.</translation>
|
||||
@@ -41331,9 +41331,6 @@ Prozessfehler: %2
|
||||
Ausgabe:
|
||||
%3</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Diagnostic</name>
|
||||
<message>
|
||||
<source>Category:</source>
|
||||
<translation>Kategorie:</translation>
|
||||
@@ -41362,20 +41359,10 @@ Ausgabe:
|
||||
<source>Documentation:</source>
|
||||
<translation>Dokumentation:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::ExplainingStep</name>
|
||||
<message>
|
||||
<source>Message:</source>
|
||||
<translation>Meldung:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Location:</source>
|
||||
<translation>Ort:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::DiagnosticView</name>
|
||||
<message>
|
||||
<source>Filter...</source>
|
||||
<translation>Filter...</translation>
|
||||
@@ -41412,9 +41399,6 @@ Ausgabe:
|
||||
<source>Disable This Check</source>
|
||||
<translation>Diesen Check deaktivieren</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LogFileReader</name>
|
||||
<message>
|
||||
<source>File "%1" does not exist or is not readable.</source>
|
||||
<translation>Die Datei "%1" fehlt oder ist nicht lesbar.</translation>
|
||||
@@ -41423,16 +41407,6 @@ Ausgabe:
|
||||
<source>Error: Failed to parse YAML file "%1": %2.</source>
|
||||
<translation>Fehler: Die YAML-Datei "%1" konnte nicht ausgewertet werden: %2.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolsOptionsPage</name>
|
||||
<message>
|
||||
<source>Clang Tools</source>
|
||||
<translation>Clang-Werkzeuge</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolsPlugin</name>
|
||||
<message>
|
||||
<source>Clang Tools</source>
|
||||
<translation>Clang-Werkzeuge</translation>
|
||||
@@ -41441,9 +41415,6 @@ Ausgabe:
|
||||
<source>Analyze File</source>
|
||||
<translation>Datei analysieren</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::SuppressedDiagnosticsModel</name>
|
||||
<message>
|
||||
<source>File</source>
|
||||
<translation>Datei</translation>
|
||||
@@ -43463,7 +43434,7 @@ You might find further explanations in the Application Output view.</source>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClazyChecks</name>
|
||||
<name>::ClangTools</name>
|
||||
<message>
|
||||
<source>See <a href="https://github.com/KDE/clazy">Clazy's homepage</a> for more information.</source>
|
||||
<translation>Weitere Informationen finden Sie auf der <a href="https://github.com/KDE/clazy">Homepage von Clazy</a>.</translation>
|
||||
@@ -43494,9 +43465,6 @@ Setzen Sie erst eine gültige ausführbare Datei.</translation>
|
||||
<source>Enable lower levels automatically</source>
|
||||
<translation>Niedrigere Stufen automatisch aktivieren</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::FilterDialog</name>
|
||||
<message>
|
||||
<source>Filter Diagnostics</source>
|
||||
<translation>Meldungen filtern</translation>
|
||||
@@ -43517,9 +43485,6 @@ Setzen Sie erst eine gültige ausführbare Datei.</translation>
|
||||
<source>Select the diagnostics to display.</source>
|
||||
<translation>Wählen Sie die anzuzeigenden Meldungen.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::RunSettingsWidget</name>
|
||||
<message>
|
||||
<source>Build the project before analysis</source>
|
||||
<translation>Projekt vor der Analyse erstellen</translation>
|
||||
@@ -43536,9 +43501,6 @@ Setzen Sie erst eine gültige ausführbare Datei.</translation>
|
||||
<source>Parallel jobs:</source>
|
||||
<translation>Parallele Jobs:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::TidyChecks</name>
|
||||
<message>
|
||||
<source>Select Checks</source>
|
||||
<translation>Prüfungen auswählen</translation>
|
||||
@@ -44390,21 +44352,15 @@ Doppelklicken Sie einen Eintrag um ihn zu ändern.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangTidyRunner</name>
|
||||
<name>::ClangTools</name>
|
||||
<message>
|
||||
<source>Clang-Tidy</source>
|
||||
<translation>Clang-Tidy</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClazyStandaloneRunner</name>
|
||||
<message>
|
||||
<source>Clazy</source>
|
||||
<translation>Clazy</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangTool</name>
|
||||
<message>
|
||||
<source>Analyze Project...</source>
|
||||
<translation>Projekt analysieren...</translation>
|
||||
@@ -44437,10 +44393,6 @@ Doppelklicken Sie einen Eintrag um ihn zu ändern.</translation>
|
||||
<source>Collapse All</source>
|
||||
<translation>Alle einklappen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Filter Diagnostics</source>
|
||||
<translation>Meldungen filtern</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Apply Fixits</source>
|
||||
<translation>Korrekturen anwenden</translation>
|
||||
@@ -44582,13 +44534,6 @@ Doppelklicken Sie einen Eintrag um ihn zu ändern.</translation>
|
||||
<source>Info About Build the Project Before Analysis</source>
|
||||
<translation>Information über das Erstellen des Projekts vor der Analyse</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolRunWorker</name>
|
||||
<message>
|
||||
<source>Failed to build the project.</source>
|
||||
<translation>Das Projekt konnte nicht erstellt werden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No code model data available for project.</source>
|
||||
<translation>Für das Projekt sind keine Codemodell-Daten vorhanden.</translation>
|
||||
@@ -44636,16 +44581,6 @@ Doppelklicken Sie einen Eintrag um ihn zu ändern.</translation>
|
||||
<source>%1 finished: Processed %2 files successfully, %3 failed.</source>
|
||||
<translation>%1 beendet: %2 Dateien erfolgreich verarbeitet, %3 fehlgeschlagen.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::BaseChecksTreeModel</name>
|
||||
<message>
|
||||
<source>Web Page</source>
|
||||
<translation>Webseite</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClazyChecksTreeModel</name>
|
||||
<message>
|
||||
<source>Manual Level: Very few false positives</source>
|
||||
<translation>Manuelle Stufe: Sehr wenige Fehlalarme</translation>
|
||||
@@ -44670,13 +44605,6 @@ Doppelklicken Sie einen Eintrag um ihn zu ändern.</translation>
|
||||
<source>Level %1</source>
|
||||
<translation>Stufe %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::DiagnosticConfigsWidget</name>
|
||||
<message>
|
||||
<source>Checks</source>
|
||||
<translation>Prüfungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clang-Tidy Checks</source>
|
||||
<translation>Clang-Tidy Checks</translation>
|
||||
@@ -44685,10 +44613,6 @@ Doppelklicken Sie einen Eintrag um ihn zu ändern.</translation>
|
||||
<source>Clazy Checks</source>
|
||||
<translation>Clazy Checks</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit Checks as String...</source>
|
||||
<translation>Prüfungen als Zeichenkette bearbeiten...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>View Checks as String...</source>
|
||||
<translation>Prüfungen als Zeichenkette anzeigen...</translation>
|
||||
@@ -50907,7 +50831,7 @@ in "%2" aus.
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolsProjectSettingsWidget</name>
|
||||
<name>::ClangTools</name>
|
||||
<message>
|
||||
<source>Restore Global Settings</source>
|
||||
<translation>Globale Einstellungen wiederherstellen</translation>
|
||||
@@ -50928,9 +50852,6 @@ in "%2" aus.
|
||||
<source>Suppressed diagnostics</source>
|
||||
<translation>Unterdrückte Meldungen</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangToolsDiagnosticModel</name>
|
||||
<message>
|
||||
<source>No Fixits</source>
|
||||
<translation>Keine Korrekturen</translation>
|
||||
@@ -50955,9 +50876,6 @@ in "%2" aus.
|
||||
<source>Applied</source>
|
||||
<translation>Angewendet</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::TidyOptionsDialog</name>
|
||||
<message>
|
||||
<source>Options for %1</source>
|
||||
<translation>Einstellungen für %1</translation>
|
||||
@@ -50982,23 +50900,14 @@ in "%2" aus.
|
||||
<source><new option></source>
|
||||
<translation><Neue Einstellung></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::TidyChecksTreeModel</name>
|
||||
<message>
|
||||
<source>Options</source>
|
||||
<translation>Einstellungen</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Clang Tools</name>
|
||||
<message>
|
||||
<source>Custom Configuration</source>
|
||||
<translation>Benutzerdefinierte Konfiguration</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::DiagnosticMark</name>
|
||||
<message>
|
||||
<source>Copy to Clipboard</source>
|
||||
<translation>In die Zwischenablage kopieren</translation>
|
||||
@@ -51007,16 +50916,10 @@ in "%2" aus.
|
||||
<source>Disable Diagnostic</source>
|
||||
<translation>Meldung deaktivieren</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::FilterChecksModel</name>
|
||||
<message>
|
||||
<source>Check</source>
|
||||
<translation>Check</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::SettingsWidget</name>
|
||||
<message>
|
||||
<source>Clang-Tidy Executable</source>
|
||||
<translation>Ausführbare Datei für Clang-Tidy</translation>
|
||||
|
@@ -1774,7 +1774,7 @@ Međutim, korištenje opuštenih i proširenih pravila također znači da nije m
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::SelectableFilesDialog</name>
|
||||
<name>::ClangTools</name>
|
||||
<message>
|
||||
<source>Analyzer Configuration</source>
|
||||
<translation>Konfiguracija analizatora</translation>
|
||||
@@ -1803,27 +1803,14 @@ Međutim, korištenje opuštenih i proširenih pravila također znači da nije m
|
||||
<source>Analyze</source>
|
||||
<translation>Analiziraj</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolsBasicSettings</name>
|
||||
<message>
|
||||
<source>Build the project before analysis</source>
|
||||
<translation>Izgradi projekt prije analize</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolsConfigWidget</name>
|
||||
<message>
|
||||
<source>General</source>
|
||||
<translation>Opće</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Simultaneous processes:</source>
|
||||
<translation>Istovremeni procesi:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ProjectSettingsWidget</name>
|
||||
<message>
|
||||
<source>Suppressed diagnostics:</source>
|
||||
<translation>Izostavljene dijagnoze:</translation>
|
||||
@@ -16067,14 +16054,11 @@ Check the test environment.</source>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangTidyClazyRunner</name>
|
||||
<name>::ClangTools</name>
|
||||
<message>
|
||||
<source>Clang-Tidy and Clazy</source>
|
||||
<translation>Clang-Tidy i Clazy</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangTidyClazyTool</name>
|
||||
<message>
|
||||
<source>Clang-Tidy and Clazy Diagnostics</source>
|
||||
<translation>Dijagnoze za Clang-Tidy i Clazy</translation>
|
||||
@@ -16115,10 +16099,6 @@ Check the test environment.</source>
|
||||
<source>Clang-Tidy and Clazy...</source>
|
||||
<translation>Clang-Tidy i Clazy …</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clang-Tidy and Clazy</source>
|
||||
<translation>Clang-Tidy i Clazy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clang-Tidy and Clazy tool stopped by user.</source>
|
||||
<translation>Clang-Tidy i Clazy alat je zaustavljen od korisnika.</translation>
|
||||
@@ -16159,9 +16139,6 @@ Check the test environment.</source>
|
||||
<source>Finished - No diagnostics</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolRunControl</name>
|
||||
<message>
|
||||
<source>Release</source>
|
||||
<translation>Objavi</translation>
|
||||
@@ -16214,9 +16191,6 @@ Check the test environment.</source>
|
||||
<source>%1: Not all files could be analyzed.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolRunner</name>
|
||||
<message>
|
||||
<source>An error occurred with the %1 process.</source>
|
||||
<translation>Dogodila se greška s procesom %1.</translation>
|
||||
@@ -16239,9 +16213,6 @@ Greška procesa: %2
|
||||
Izlaz:
|
||||
%3</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolsDiagnosticModel</name>
|
||||
<message>
|
||||
<source>Diagnostic</source>
|
||||
<translation>Dijagnoza</translation>
|
||||
@@ -16270,9 +16241,6 @@ Izlaz:
|
||||
<source>Applied</source>
|
||||
<translation>Primijenjeno</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Diagnostic</name>
|
||||
<message>
|
||||
<source>Category:</source>
|
||||
<translation>Kategorija:</translation>
|
||||
@@ -16297,9 +16265,6 @@ Izlaz:
|
||||
<source>Fixit status:</source>
|
||||
<translation>Stanje ispravljanja:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::ExplainingStep</name>
|
||||
<message>
|
||||
<source>Message:</source>
|
||||
<translation>Poruka:</translation>
|
||||
@@ -16308,27 +16273,14 @@ Izlaz:
|
||||
<source>Extended message:</source>
|
||||
<translation>Proširena poruka:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Location:</source>
|
||||
<translation>Mjesto:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::DiagnosticView</name>
|
||||
<message>
|
||||
<source>Suppress This Diagnostic</source>
|
||||
<translation>Izostavi ovu dijagnozu</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LogFileReader</name>
|
||||
<message>
|
||||
<source>File "%1" does not exist or is not readable.</source>
|
||||
<translation>Datoteka "%1" ne postoji ili nije čitljiva.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolsOptionsPage</name>
|
||||
<message>
|
||||
<source>Clang Tools</source>
|
||||
<translation>Clang alati</translation>
|
||||
@@ -16342,14 +16294,7 @@ Izlaz:
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolsPlugin</name>
|
||||
<message>
|
||||
<source>Clang Tools</source>
|
||||
<translation>Clang alati</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::SuppressedDiagnosticsModel</name>
|
||||
<name>::ClangTools</name>
|
||||
<message>
|
||||
<source>File</source>
|
||||
<translation>Datoteka</translation>
|
||||
@@ -16358,10 +16303,6 @@ Izlaz:
|
||||
<source>Context</source>
|
||||
<translation>Sadržaj</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Diagnostic</source>
|
||||
<translation>Dijagnoza</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Function "%1"</source>
|
||||
<translation>Funkcija "%1"</translation>
|
||||
|
@@ -42953,7 +42953,7 @@ Output:
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ProjectSettingsWidget</name>
|
||||
<name>::ClangTools</name>
|
||||
<message>
|
||||
<source>Use Global Settings</source>
|
||||
<translation>グローバル設定を使用する</translation>
|
||||
@@ -42970,16 +42970,10 @@ Output:
|
||||
<source>Remove All</source>
|
||||
<translation>すべて削除</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClazyChecks</name>
|
||||
<message>
|
||||
<source>Filters</source>
|
||||
<translation type="unfinished">フィルタ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::FilterDialog</name>
|
||||
<message>
|
||||
<source>Select All</source>
|
||||
<translation>すべてを選択</translation>
|
||||
@@ -42988,9 +42982,6 @@ Output:
|
||||
<source>Clear Selection</source>
|
||||
<translation>選択状態を解除</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::RunSettingsWidget</name>
|
||||
<message>
|
||||
<source>Parallel jobs:</source>
|
||||
<translation>並列ジョブ数:</translation>
|
||||
@@ -45188,7 +45179,7 @@ The name of the release build configuration created by default for a qmake proje
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangTool</name>
|
||||
<name>::ClangTools</name>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>クリア</translation>
|
||||
@@ -45205,9 +45196,6 @@ The name of the release build configuration created by default for a qmake proje
|
||||
<source>Run %1 in %2 Mode?</source>
|
||||
<translation>%1 を%2モードで実行しますか?</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolRunWorker</name>
|
||||
<message>
|
||||
<source>Analyzing</source>
|
||||
<translation>解析中</translation>
|
||||
@@ -45216,9 +45204,6 @@ The name of the release build configuration created by default for a qmake proje
|
||||
<source>Failed to analyze "%1": %2</source>
|
||||
<translation>"%1" の解析に失敗しました: %2</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolRunner</name>
|
||||
<message>
|
||||
<source>%1 crashed.</source>
|
||||
<translation>%1 がクラッシュしました。</translation>
|
||||
@@ -45233,9 +45218,6 @@ Output:
|
||||
出力:
|
||||
%3</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::ExplainingStep</name>
|
||||
<message>
|
||||
<source>Message:</source>
|
||||
<translation>メッセージ:</translation>
|
||||
@@ -45244,9 +45226,6 @@ Output:
|
||||
<source>Location:</source>
|
||||
<translation>パス:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::DiagnosticView</name>
|
||||
<message>
|
||||
<source>Filter...</source>
|
||||
<translation>フィルタ...</translation>
|
||||
@@ -45255,16 +45234,10 @@ Output:
|
||||
<source>Suppress This Diagnostic</source>
|
||||
<translation>この診断を抑制する</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LogFileReader</name>
|
||||
<message>
|
||||
<source>File "%1" does not exist or is not readable.</source>
|
||||
<translation>ファイル "%1" が存在しないか読み込み可能ではありません。</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::SuppressedDiagnosticsModel</name>
|
||||
<message>
|
||||
<source>File</source>
|
||||
<translation>ファイル</translation>
|
||||
@@ -45273,9 +45246,6 @@ Output:
|
||||
<source>Diagnostic</source>
|
||||
<translation>診断</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Diagnostic</name>
|
||||
<message>
|
||||
<source>Category:</source>
|
||||
<translation>カテゴリ:</translation>
|
||||
@@ -45284,27 +45254,14 @@ Output:
|
||||
<source>Description:</source>
|
||||
<translation>説明:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Location:</source>
|
||||
<translation>パス:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::TidyOptionsDialog</name>
|
||||
<message>
|
||||
<source>Value</source>
|
||||
<translation>値</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::TidyChecksTreeModel</name>
|
||||
<message>
|
||||
<source>Options</source>
|
||||
<translation>オプション</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::DiagnosticMark</name>
|
||||
<message>
|
||||
<source>Copy to Clipboard</source>
|
||||
<translation>クリップボードにコピーする</translation>
|
||||
|
@@ -6594,7 +6594,7 @@ However, using the relaxed and extended rules means also that no highlighting/co
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Diagnostic</name>
|
||||
<name>::ClangTools</name>
|
||||
<message>
|
||||
<source>Category:</source>
|
||||
<translation>Категория:</translation>
|
||||
@@ -6619,34 +6619,18 @@ However, using the relaxed and extended rules means also that no highlighting/co
|
||||
<source>Steps:</source>
|
||||
<translation>Этапы:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::ExplainingStep</name>
|
||||
<message>
|
||||
<source>Message:</source>
|
||||
<translation>Сообщение:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Location:</source>
|
||||
<translation>Размещение:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::BaseChecksTreeModel</name>
|
||||
<message>
|
||||
<source>Web Page</source>
|
||||
<translation>Веб-страница</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangTidyRunner</name>
|
||||
<message>
|
||||
<source>Clang-Tidy</source>
|
||||
<translation>Clang-Tidy</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangTool</name>
|
||||
<message>
|
||||
<source>In general, the project should be built before starting the analysis to ensure that the code to analyze is valid.<br/><br/>Building the project might also run code generators that update the source files as necessary.</source>
|
||||
<translation>Проект должен быть собран перед анализом, чтобы убедиться, что анализируемый код верен.<br/><br/>Сборка проекта так же может запускать кодогенераторы, которые обновляют при необходимости исходники.</translation>
|
||||
@@ -6807,9 +6791,6 @@ However, using the relaxed and extended rules means also that no highlighting/co
|
||||
<source>No diagnostics.</source>
|
||||
<translation>Нет диагностик.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolRunWorker</name>
|
||||
<message>
|
||||
<source>The project configuration changed since the start of the %1. Please re-run with current configuration.</source>
|
||||
<translation>Настройки проекта изменились с момента запуска %1. Перезапустите с текущей конфигурацией.</translation>
|
||||
@@ -6822,10 +6803,6 @@ However, using the relaxed and extended rules means also that no highlighting/co
|
||||
<source>Analyzing</source>
|
||||
<translation>Анализ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to build the project.</source>
|
||||
<translation>Не удалось собрать проект.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to create temporary directory: %1.</source>
|
||||
<translation>Не удалось создать временный каталог: %1.</translation>
|
||||
@@ -6854,9 +6831,6 @@ However, using the relaxed and extended rules means also that no highlighting/co
|
||||
<source>%1 finished: Processed %2 files successfully, %3 failed.</source>
|
||||
<translation>%1 завершено: успешно обработано %2 файл(ов) и %3 обработать не удалось.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolRunner</name>
|
||||
<message>
|
||||
<source>An error occurred with the %1 process.</source>
|
||||
<translation>У процесса %1 возникла ошибка.</translation>
|
||||
@@ -6879,9 +6853,6 @@ Output:
|
||||
Вывод:
|
||||
%3</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolsDiagnosticModel</name>
|
||||
<message>
|
||||
<source>No Fixits</source>
|
||||
<translation>Нет исправлений</translation>
|
||||
@@ -6906,16 +6877,6 @@ Output:
|
||||
<source>Applied</source>
|
||||
<translation>Применено</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolsOptionsPage</name>
|
||||
<message>
|
||||
<source>Clang Tools</source>
|
||||
<translation>Инструменты Clang</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolsPlugin</name>
|
||||
<message>
|
||||
<source>Clang Tools</source>
|
||||
<translation>Инструменты Clang</translation>
|
||||
@@ -6924,9 +6885,6 @@ Output:
|
||||
<source>Analyze File</source>
|
||||
<translation>Проанализировать файл</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClazyChecks</name>
|
||||
<message>
|
||||
<source>See <a href="https://github.com/KDE/clazy">Clazy's homepage</a> for more information.</source>
|
||||
<translation>Подробнее на <a href="https://github.com/KDE/clazy">домашней странице Clazy</a>.</translation>
|
||||
@@ -6957,9 +6915,6 @@ Set a valid executable first.</source>
|
||||
<translation>Не удалось получить поддерживаемые проверки от программы clazy-standalone.
|
||||
Сначала необходимо задать её в настройках.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClazyChecksTreeModel</name>
|
||||
<message>
|
||||
<source>Manual Level: Very few false positives</source>
|
||||
<translation>Ручной уровень: немного ложных срабатываний</translation>
|
||||
@@ -6984,20 +6939,10 @@ Set a valid executable first.</source>
|
||||
<source>Level %1</source>
|
||||
<translation>Уровень %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClazyStandaloneRunner</name>
|
||||
<message>
|
||||
<source>Clazy</source>
|
||||
<translation>Clazy</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::DiagnosticConfigsWidget</name>
|
||||
<message>
|
||||
<source>Checks</source>
|
||||
<translation>Проверки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clang-Tidy Checks</source>
|
||||
<translation>Проверки Clang-Tidy</translation>
|
||||
@@ -7030,9 +6975,6 @@ Set a valid executable first.</source>
|
||||
<numerusform>Проверки (%n включённых)</numerusform>
|
||||
</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::DiagnosticView</name>
|
||||
<message>
|
||||
<source>Filter...</source>
|
||||
<translation>Фильтр...</translation>
|
||||
@@ -7049,28 +6991,14 @@ Set a valid executable first.</source>
|
||||
<source>Filter out This Diagnostic Kind</source>
|
||||
<translation>Скрыть этот тип проблем</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Web Page</source>
|
||||
<translation>Веб-страница</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Suppress This Diagnostic</source>
|
||||
<translation>Игнорировать эту проблему</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::FilterChecksModel</name>
|
||||
<message>
|
||||
<source>Check</source>
|
||||
<translation>Проверка</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::FilterDialog</name>
|
||||
<message>
|
||||
<source>Filter Diagnostics</source>
|
||||
<translation>Фильтр проблем</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select the diagnostics to display.</source>
|
||||
<translation>Укажите проблемы для отображения.</translation>
|
||||
@@ -7087,9 +7015,6 @@ Set a valid executable first.</source>
|
||||
<source>Clear Selection</source>
|
||||
<translation>Снять выделение</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ProjectSettingsWidget</name>
|
||||
<message>
|
||||
<source>Remove Selected</source>
|
||||
<translation>Удалить выбранное</translation>
|
||||
@@ -7122,9 +7047,6 @@ Set a valid executable first.</source>
|
||||
<source><a href="target">Open Global Settings</a></source>
|
||||
<translation><a href="target">Открыть глобальные настройки</a></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::RunSettingsWidget</name>
|
||||
<message>
|
||||
<source>Form</source>
|
||||
<translation></translation>
|
||||
@@ -7141,9 +7063,6 @@ Set a valid executable first.</source>
|
||||
<source>Parallel jobs:</source>
|
||||
<translation>Распараллелить на:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::SelectableFilesDialog</name>
|
||||
<message>
|
||||
<source>Files to Analyze</source>
|
||||
<translation>Анализируемые файлы</translation>
|
||||
@@ -7156,9 +7075,6 @@ Set a valid executable first.</source>
|
||||
<source>Analyze</source>
|
||||
<translation>Анализировать</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::SettingsWidget</name>
|
||||
<message>
|
||||
<source>Executables</source>
|
||||
<translation>Программы</translation>
|
||||
@@ -7179,9 +7095,6 @@ Set a valid executable first.</source>
|
||||
<source>Clazy Executable</source>
|
||||
<translation>Программа Clazy</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::SuppressedDiagnosticsModel</name>
|
||||
<message>
|
||||
<source>File</source>
|
||||
<translation>Файл</translation>
|
||||
@@ -7190,9 +7103,6 @@ Set a valid executable first.</source>
|
||||
<source>Diagnostic</source>
|
||||
<translation>Проблема</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::TidyChecks</name>
|
||||
<message>
|
||||
<source>Select Checks</source>
|
||||
<translation>Выберите проверки</translation>
|
||||
@@ -7201,10 +7111,6 @@ Set a valid executable first.</source>
|
||||
<source>Use .clang-tidy config file</source>
|
||||
<translation>Использовать файл .clang-tidy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit Checks as String...</source>
|
||||
<translation>Изменить проверки...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not query the supported checks from the clang-tidy executable.
|
||||
Set a valid executable first.</source>
|
||||
@@ -24399,7 +24305,7 @@ Error: %5</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LogFileReader</name>
|
||||
<name>::ClangTools</name>
|
||||
<message>
|
||||
<source>File "%1" does not exist or is not readable.</source>
|
||||
<translation>Файл «%1» не существует или не читается.</translation>
|
||||
|
@@ -6809,7 +6809,7 @@ Make sure that CMAKE_BUILD_TYPE variable matches the "Build type" fiel
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Clang Tools</name>
|
||||
<name>::ClangTools</name>
|
||||
<message>
|
||||
<source>Custom Configuration</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@@ -7034,7 +7034,7 @@ However, using the relaxed and extended rules means also that no highlighting/co
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Diagnostic</name>
|
||||
<name>::ClangTools</name>
|
||||
<message>
|
||||
<source>Category:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@@ -7063,34 +7063,18 @@ However, using the relaxed and extended rules means also that no highlighting/co
|
||||
<source>Documentation:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::ExplainingStep</name>
|
||||
<message>
|
||||
<source>Message:</source>
|
||||
<translation type="unfinished">消息:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Location:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::BaseChecksTreeModel</name>
|
||||
<message>
|
||||
<source>Web Page</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangTidyRunner</name>
|
||||
<message>
|
||||
<source>Clang-Tidy</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangTool</name>
|
||||
<message>
|
||||
<source>Analyze Project...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@@ -7265,13 +7249,6 @@ However, using the relaxed and extended rules means also that no highlighting/co
|
||||
<source>Info About Build the Project Before Analysis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolRunWorker</name>
|
||||
<message>
|
||||
<source>Failed to build the project.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No code model data available for project.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@@ -7318,9 +7295,6 @@ However, using the relaxed and extended rules means also that no highlighting/co
|
||||
<source>%1 finished: Processed %2 files successfully, %3 failed.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolRunner</name>
|
||||
<message>
|
||||
<source>An error occurred with the %1 process.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@@ -7340,16 +7314,6 @@ Output:
|
||||
%3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolsOptionsPage</name>
|
||||
<message>
|
||||
<source>Clang Tools</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolsPlugin</name>
|
||||
<message>
|
||||
<source>Clang Tools</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@@ -7358,9 +7322,6 @@ Output:
|
||||
<source>Analyze File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolsProjectSettingsWidget</name>
|
||||
<message>
|
||||
<source>Restore Global Settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@@ -7381,9 +7342,6 @@ Output:
|
||||
<source>Suppressed diagnostics</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClazyChecks</name>
|
||||
<message>
|
||||
<source>See <a href="https://github.com/KDE/clazy">Clazy's homepage</a> for more information.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@@ -7413,9 +7371,6 @@ Output:
|
||||
Set a valid executable first.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClazyChecksTreeModel</name>
|
||||
<message>
|
||||
<source>Manual Level: Very few false positives</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@@ -7440,20 +7395,10 @@ Set a valid executable first.</source>
|
||||
<source>Level %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClazyStandaloneRunner</name>
|
||||
<message>
|
||||
<source>Clazy</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::DiagnosticConfigsWidget</name>
|
||||
<message>
|
||||
<source>Checks</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clang-Tidy Checks</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@@ -7482,9 +7427,6 @@ Set a valid executable first.</source>
|
||||
<numerusform></numerusform>
|
||||
</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::DiagnosticMark</name>
|
||||
<message>
|
||||
<source>Copy to Clipboard</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@@ -7493,9 +7435,6 @@ Set a valid executable first.</source>
|
||||
<source>Disable Diagnostic</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::DiagnosticView</name>
|
||||
<message>
|
||||
<source>Filter...</source>
|
||||
<translation type="unfinished">过滤器...</translation>
|
||||
@@ -7512,10 +7451,6 @@ Set a valid executable first.</source>
|
||||
<source>Filter out This Diagnostic Kind</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Web Page</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Suppress Selected Diagnostics</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@@ -7532,20 +7467,10 @@ Set a valid executable first.</source>
|
||||
<source>Disable This Check</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::FilterChecksModel</name>
|
||||
<message>
|
||||
<source>Check</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::FilterDialog</name>
|
||||
<message>
|
||||
<source>Filter Diagnostics</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select All</source>
|
||||
<translation type="unfinished">全选</translation>
|
||||
@@ -7562,9 +7487,6 @@ Set a valid executable first.</source>
|
||||
<source>Select the diagnostics to display.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::RunSettingsWidget</name>
|
||||
<message>
|
||||
<source>Build the project before analysis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@@ -7581,9 +7503,6 @@ Set a valid executable first.</source>
|
||||
<source>Parallel jobs:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::SelectableFilesDialog</name>
|
||||
<message>
|
||||
<source>Files outside of the base directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@@ -7596,9 +7515,6 @@ Set a valid executable first.</source>
|
||||
<source>Analyze</source>
|
||||
<translation type="unfinished">分析</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::SettingsWidget</name>
|
||||
<message>
|
||||
<source>Clang-Tidy Executable</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@@ -7619,9 +7535,6 @@ Set a valid executable first.</source>
|
||||
<source>Clazy-Standalone:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::SuppressedDiagnosticsModel</name>
|
||||
<message>
|
||||
<source>File</source>
|
||||
<translation type="unfinished">文件</translation>
|
||||
@@ -7630,9 +7543,6 @@ Set a valid executable first.</source>
|
||||
<source>Diagnostic</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::TidyChecks</name>
|
||||
<message>
|
||||
<source>Select Checks</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@@ -7641,25 +7551,15 @@ Set a valid executable first.</source>
|
||||
<source>Use .clang-tidy config file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit Checks as String...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not query the supported checks from the clang-tidy executable.
|
||||
Set a valid executable first.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::TidyChecksTreeModel</name>
|
||||
<message>
|
||||
<source>Options</source>
|
||||
<translation type="unfinished">选项</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::TidyOptionsDialog</name>
|
||||
<message>
|
||||
<source>Options for %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@@ -7684,9 +7584,6 @@ Set a valid executable first.</source>
|
||||
<source><new option></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangToolsDiagnosticModel</name>
|
||||
<message>
|
||||
<source>No Fixits</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@@ -24017,7 +23914,7 @@ Error: %5</source>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LogFileReader</name>
|
||||
<name>::ClangTools</name>
|
||||
<message>
|
||||
<source>File "%1" does not exist or is not readable.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@@ -3,6 +3,8 @@
|
||||
|
||||
#include "clangselectablefilesdialog.h"
|
||||
|
||||
#include "clangtoolstr.h"
|
||||
|
||||
#include <coreplugin/actionmanager/actionmanager.h>
|
||||
#include <coreplugin/find/itemviewfind.h>
|
||||
#include <cppeditor/projectinfo.h>
|
||||
@@ -100,8 +102,7 @@ public:
|
||||
linkDirNode(m_root, projectDirTree);
|
||||
|
||||
// Add files outside of the base directory to a separate node
|
||||
Tree *externalFilesNode = createDirNode(SelectableFilesDialog::tr(
|
||||
"Files outside of the base directory"),
|
||||
Tree *externalFilesNode = createDirNode(Tr::tr("Files outside of the base directory"),
|
||||
"/");
|
||||
linkDirNode(m_root, externalFilesNode);
|
||||
for (const FileInfo &fileInfo : outOfBaseDirFiles)
|
||||
@@ -250,7 +251,7 @@ SelectableFilesDialog::SelectableFilesDialog(Project *project,
|
||||
, m_fileInfoProviders(fileInfoProviders)
|
||||
, m_project(project)
|
||||
{
|
||||
setWindowTitle(tr("Files to Analyze"));
|
||||
setWindowTitle(Tr::tr("Files to Analyze"));
|
||||
resize(700, 600);
|
||||
|
||||
m_fileFilterComboBox = new QComboBox(this);
|
||||
@@ -286,7 +287,7 @@ SelectableFilesDialog::SelectableFilesDialog(Project *project,
|
||||
connect(m_fileFilterComboBox, &QComboBox::currentIndexChanged,
|
||||
this, &SelectableFilesDialog::onFileFilterChanged);
|
||||
|
||||
auto analyzeButton = new QPushButton(tr("Analyze"), this);
|
||||
auto analyzeButton = new QPushButton(Tr::tr("Analyze"), this);
|
||||
analyzeButton->setEnabled(m_filesModel->hasCheckedFiles());
|
||||
|
||||
// Buttons
|
||||
|
@@ -13,6 +13,7 @@
|
||||
#include "clangtoolslogfilereader.h"
|
||||
#include "clangtoolsprojectsettings.h"
|
||||
#include "clangtoolssettings.h"
|
||||
#include "clangtoolstr.h"
|
||||
#include "clangtoolsutils.h"
|
||||
#include "filterdialog.h"
|
||||
|
||||
@@ -355,11 +356,11 @@ ClangTool::ClangTool(const QString &name, Utils::Id id)
|
||||
setObjectName(name);
|
||||
m_diagnosticModel = new ClangToolsDiagnosticModel(this);
|
||||
|
||||
auto action = new QAction(tr("Analyze Project with %1...").arg(name), this);
|
||||
auto action = new QAction(Tr::tr("Analyze Project with %1...").arg(name), this);
|
||||
action->setIcon(Utils::Icons::RUN_SELECTED_TOOLBAR.icon());
|
||||
m_startAction = action;
|
||||
|
||||
action = new QAction(tr("Analyze Current File with %1").arg(name), this);
|
||||
action = new QAction(Tr::tr("Analyze Current File with %1").arg(name), this);
|
||||
action->setIcon(Utils::Icons::RUN_FILE.icon());
|
||||
m_startOnCurrentFileAction = action;
|
||||
|
||||
@@ -404,7 +405,7 @@ ClangTool::ClangTool(const QString &name, Utils::Id id)
|
||||
action = new QAction(this);
|
||||
action->setDisabled(true);
|
||||
action->setIcon(Utils::Icons::PREV_TOOLBAR.icon());
|
||||
action->setToolTip(tr("Go to previous diagnostic."));
|
||||
action->setToolTip(Tr::tr("Go to previous diagnostic."));
|
||||
connect(action, &QAction::triggered, m_diagnosticView, &DetailedErrorView::goBack);
|
||||
m_goBack = action;
|
||||
|
||||
@@ -412,14 +413,14 @@ ClangTool::ClangTool(const QString &name, Utils::Id id)
|
||||
action = new QAction(this);
|
||||
action->setDisabled(true);
|
||||
action->setIcon(Utils::Icons::NEXT_TOOLBAR.icon());
|
||||
action->setToolTip(tr("Go to next diagnostic."));
|
||||
action->setToolTip(Tr::tr("Go to next diagnostic."));
|
||||
connect(action, &QAction::triggered, m_diagnosticView, &DetailedErrorView::goNext);
|
||||
m_goNext = action;
|
||||
|
||||
// Load diagnostics from file
|
||||
action = new QAction(this);
|
||||
action->setIcon(Utils::Icons::OPENFILE_TOOLBAR.icon());
|
||||
action->setToolTip(tr("Load diagnostics from YAML files exported with \"-export-fixes\"."));
|
||||
action->setToolTip(Tr::tr("Load diagnostics from YAML files exported with \"-export-fixes\"."));
|
||||
connect(action, &QAction::triggered, this, &ClangTool::loadDiagnosticsFromFiles);
|
||||
m_loadExported = action;
|
||||
|
||||
@@ -427,7 +428,7 @@ ClangTool::ClangTool(const QString &name, Utils::Id id)
|
||||
action = new QAction(this);
|
||||
action->setDisabled(true);
|
||||
action->setIcon(Utils::Icons::CLEAN_TOOLBAR.icon());
|
||||
action->setToolTip(tr("Clear"));
|
||||
action->setToolTip(Tr::tr("Clear"));
|
||||
connect(action, &QAction::triggered, this, [this] {
|
||||
reset();
|
||||
update();
|
||||
@@ -439,13 +440,13 @@ ClangTool::ClangTool(const QString &name, Utils::Id id)
|
||||
action->setDisabled(true);
|
||||
action->setCheckable(true);
|
||||
action->setIcon(Utils::Icons::EXPAND_ALL_TOOLBAR.icon());
|
||||
action->setToolTip(tr("Expand All"));
|
||||
action->setToolTip(Tr::tr("Expand All"));
|
||||
connect(action, &QAction::toggled, this, [this](bool checked){
|
||||
if (checked) {
|
||||
m_expandCollapse->setToolTip(tr("Collapse All"));
|
||||
m_expandCollapse->setToolTip(Tr::tr("Collapse All"));
|
||||
m_diagnosticView->expandAll();
|
||||
} else {
|
||||
m_expandCollapse->setToolTip(tr("Expand All"));
|
||||
m_expandCollapse->setToolTip(Tr::tr("Expand All"));
|
||||
m_diagnosticView->collapseAll();
|
||||
}
|
||||
});
|
||||
@@ -455,7 +456,7 @@ ClangTool::ClangTool(const QString &name, Utils::Id id)
|
||||
action = m_showFilter = new QAction(this);
|
||||
action->setIcon(
|
||||
Utils::Icon({{":/utils/images/filtericon.png", Utils::Theme::IconsBaseColor}}).icon());
|
||||
action->setToolTip(tr("Filter Diagnostics"));
|
||||
action->setToolTip(Tr::tr("Filter Diagnostics"));
|
||||
action->setCheckable(true);
|
||||
connect(action, &QAction::triggered, this, &ClangTool::filter);
|
||||
|
||||
@@ -470,7 +471,7 @@ ClangTool::ClangTool(const QString &name, Utils::Id id)
|
||||
|
||||
// Apply fixits button
|
||||
m_applyFixitsButton = new QToolButton;
|
||||
m_applyFixitsButton->setText(tr("Apply Fixits"));
|
||||
m_applyFixitsButton->setText(Tr::tr("Apply Fixits"));
|
||||
m_applyFixitsButton->setEnabled(false);
|
||||
|
||||
connect(m_diagnosticModel, &ClangToolsDiagnosticModel::fixitStatusChanged,
|
||||
@@ -502,14 +503,14 @@ ClangTool::ClangTool(const QString &name, Utils::Id id)
|
||||
// Open Project Settings
|
||||
action = new QAction(this);
|
||||
action->setIcon(Utils::Icons::SETTINGS_TOOLBAR.icon());
|
||||
//action->setToolTip(tr("Open Project Settings")); // TODO: Uncomment in master.
|
||||
//action->setToolTip(Tr::tr("Open Project Settings")); // TODO: Uncomment in master.
|
||||
connect(action, &QAction::triggered, [] {
|
||||
ProjectExplorerPlugin::activateProjectPanel(Constants::PROJECT_PANEL_ID);
|
||||
});
|
||||
m_openProjectSettings = action;
|
||||
|
||||
ActionContainer *menu = ActionManager::actionContainer(Debugger::Constants::M_DEBUG_ANALYZER);
|
||||
const QString toolTip = tr("Clang-Tidy and Clazy use a customized Clang executable from the "
|
||||
const QString toolTip = Tr::tr("Clang-Tidy and Clazy use a customized Clang executable from the "
|
||||
"Clang project to search for diagnostics.");
|
||||
|
||||
QVBoxLayout *mainLayout = new QVBoxLayout;
|
||||
@@ -519,7 +520,7 @@ ClangTool::ClangTool(const QString &name, Utils::Id id)
|
||||
mainLayout->addWidget(m_diagnosticView);
|
||||
auto mainWidget = new QWidget;
|
||||
mainWidget->setObjectName("ClangTidyClazyIssuesView");
|
||||
mainWidget->setWindowTitle(tr("Clang-Tidy and Clazy"));
|
||||
mainWidget->setWindowTitle(Tr::tr("Clang-Tidy and Clazy"));
|
||||
mainWidget->setLayout(mainLayout);
|
||||
|
||||
m_perspective.addWindow(mainWidget, Perspective::SplitVertical, nullptr);
|
||||
@@ -582,15 +583,15 @@ void ClangTool::startTool(ClangTool::FileSelection fileSelection)
|
||||
|
||||
static bool continueDespiteReleaseBuild(const QString &toolName)
|
||||
{
|
||||
const QString wrongMode = ClangTool::tr("Release");
|
||||
const QString title = ClangTool::tr("Run %1 in %2 Mode?").arg(toolName, wrongMode);
|
||||
const QString wrongMode = Tr::tr("Release");
|
||||
const QString title = Tr::tr("Run %1 in %2 Mode?").arg(toolName, wrongMode);
|
||||
const QString problem
|
||||
= ClangTool::tr(
|
||||
= Tr::tr(
|
||||
"You are trying to run the tool \"%1\" on an application in %2 mode. The tool is "
|
||||
"designed to be used in Debug mode since enabled assertions can reduce the number of "
|
||||
"false positives.")
|
||||
.arg(toolName, wrongMode);
|
||||
const QString question = ClangTool::tr(
|
||||
const QString question = Tr::tr(
|
||||
"Do you want to continue and run the tool in %1 mode?")
|
||||
.arg(wrongMode);
|
||||
const QString message = QString("<html><head/><body>"
|
||||
@@ -638,7 +639,7 @@ void ClangTool::startTool(ClangTool::FileSelection fileSelection,
|
||||
m_runControl->setTarget(project->activeTarget());
|
||||
m_stopAction->disconnect();
|
||||
connect(m_stopAction, &QAction::triggered, m_runControl, [this] {
|
||||
emit m_runControl->appendMessage(tr("%1 tool stopped by user.").arg(m_name),
|
||||
emit m_runControl->appendMessage(Tr::tr("%1 tool stopped by user.").arg(m_name),
|
||||
NormalMessageFormat);
|
||||
m_runControl->initiateStop();
|
||||
setState(State::StoppedByUser);
|
||||
@@ -694,7 +695,7 @@ FileInfos ClangTool::collectFileInfos(Project *project, FileSelection fileSelect
|
||||
// early bailout
|
||||
if (selectionType && *selectionType == FileSelectionType::CurrentFile
|
||||
&& !EditorManager::currentDocument()) {
|
||||
TaskHub::addTask(Task::Error, tr("Cannot analyze current file: No files open."),
|
||||
TaskHub::addTask(Task::Error, Tr::tr("Cannot analyze current file: No files open."),
|
||||
taskCategory());
|
||||
TaskHub::requestPopup();
|
||||
return {};
|
||||
@@ -729,7 +730,7 @@ FileInfos ClangTool::collectFileInfos(Project *project, FileSelection fileSelect
|
||||
if (!fileInfo.file.isEmpty())
|
||||
return {fileInfo};
|
||||
TaskHub::addTask(Task::Error,
|
||||
tr("Cannot analyze current file: \"%1\" is not a known source file.")
|
||||
Tr::tr("Cannot analyze current file: \"%1\" is not a known source file.")
|
||||
.arg(filePath.toUserOutput()),
|
||||
taskCategory());
|
||||
TaskHub::requestPopup();
|
||||
@@ -756,9 +757,9 @@ void ClangTool::loadDiagnosticsFromFiles()
|
||||
// Ask user for files
|
||||
const FilePaths filePaths
|
||||
= FileUtils::getOpenFilePaths(nullptr,
|
||||
tr("Select YAML Files with Diagnostics"),
|
||||
Tr::tr("Select YAML Files with Diagnostics"),
|
||||
FileUtils::homePath(),
|
||||
tr("YAML Files (*.yml *.yaml);;All Files (*)"));
|
||||
Tr::tr("YAML Files (*.yml *.yaml);;All Files (*)"));
|
||||
if (filePaths.isEmpty())
|
||||
return;
|
||||
|
||||
@@ -778,7 +779,7 @@ void ClangTool::loadDiagnosticsFromFiles()
|
||||
|
||||
// Show errors
|
||||
if (!errors.isEmpty()) {
|
||||
AsynchronousMessageBox::critical(tr("Error Loading Diagnostics"), errors);
|
||||
AsynchronousMessageBox::critical(Tr::tr("Error Loading Diagnostics"), errors);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -861,24 +862,24 @@ static CheckResult canAnalyze()
|
||||
if (config.isEnabled(ClangToolType::Tidy)
|
||||
&& !toolExecutable(ClangToolType::Tidy).isExecutableFile()) {
|
||||
return {CheckResult::InvalidTidyExecutable,
|
||||
ClangTool::tr("Set a valid Clang-Tidy executable.")};
|
||||
Tr::tr("Set a valid Clang-Tidy executable.")};
|
||||
}
|
||||
|
||||
if (config.isEnabled(ClangToolType::Clazy)
|
||||
&& !toolExecutable(ClangToolType::Clazy).isExecutableFile()) {
|
||||
return {CheckResult::InvalidClazyExecutable,
|
||||
ClangTool::tr("Set a valid Clazy-Standalone executable.")};
|
||||
Tr::tr("Set a valid Clazy-Standalone executable.")};
|
||||
}
|
||||
|
||||
if (Project *project = SessionManager::startupProject()) {
|
||||
if (!canAnalyzeProject(project)) {
|
||||
return {CheckResult::ProjectNotSuitable,
|
||||
ClangTool::tr("Project \"%1\" is not a C/C++ project.")
|
||||
Tr::tr("Project \"%1\" is not a C/C++ project.")
|
||||
.arg(project->displayName())};
|
||||
}
|
||||
} else {
|
||||
return {CheckResult::ProjectNotOpen,
|
||||
ClangTool::tr("Open a C/C++ project to start analyzing.")};
|
||||
Tr::tr("Open a C/C++ project to start analyzing.")};
|
||||
}
|
||||
|
||||
return {CheckResult::ReadyToAnalyze, {}};
|
||||
@@ -978,14 +979,14 @@ void ClangTool::filterOutCurrentKind()
|
||||
|
||||
void ClangTool::onBuildFailed()
|
||||
{
|
||||
m_infoBarWidget->setError(InfoBarWidget::Error, tr("Failed to build the project."),
|
||||
m_infoBarWidget->setError(InfoBarWidget::Error, Tr::tr("Failed to build the project."),
|
||||
[this] { showOutputPane(); });
|
||||
setState(State::PreparationFailed);
|
||||
}
|
||||
|
||||
void ClangTool::onStartFailed()
|
||||
{
|
||||
m_infoBarWidget->setError(InfoBarWidget::Error, makeLink(tr("Failed to start the analyzer.")),
|
||||
m_infoBarWidget->setError(InfoBarWidget::Error, makeLink(Tr::tr("Failed to start the analyzer.")),
|
||||
[this] { showOutputPane(); });
|
||||
setState(State::PreparationFailed);
|
||||
}
|
||||
@@ -1047,7 +1048,7 @@ FileInfoProviders ClangTool::fileInfoProviders(ProjectExplorer::Project *project
|
||||
static FileInfoSelection editeddFilesSelection;
|
||||
|
||||
return {
|
||||
{ClangTool::tr("All Files"),
|
||||
{Tr::tr("All Files"),
|
||||
allFileInfos,
|
||||
FileInfoSelection{s->selectedDirs(), s->selectedFiles()},
|
||||
FileInfoProvider::Limited,
|
||||
@@ -1056,13 +1057,13 @@ FileInfoProviders ClangTool::fileInfoProviders(ProjectExplorer::Project *project
|
||||
s->setSelectedFiles(selection.files);
|
||||
}},
|
||||
|
||||
{ClangTool::tr("Opened Files"),
|
||||
{Tr::tr("Opened Files"),
|
||||
fileInfosMatchingOpenedDocuments(allFileInfos),
|
||||
openedFilesSelection,
|
||||
FileInfoProvider::All,
|
||||
[](const FileInfoSelection &selection) { openedFilesSelection = selection; }},
|
||||
|
||||
{ClangTool::tr("Edited Files"),
|
||||
{Tr::tr("Edited Files"),
|
||||
fileInfosMatchingEditedDocuments(allFileInfos),
|
||||
editeddFilesSelection,
|
||||
FileInfoProvider::All,
|
||||
@@ -1127,7 +1128,7 @@ void ClangTool::updateForCurrentState()
|
||||
// Info bar: errors
|
||||
if (m_filesFailed > 0) {
|
||||
const QString currentErrorText = m_infoBarWidget->errorText();
|
||||
const QString newErrorText = makeLink(tr("Failed to analyze %n file(s).", nullptr,
|
||||
const QString newErrorText = makeLink(Tr::tr("Failed to analyze %n file(s).", nullptr,
|
||||
m_filesFailed));
|
||||
if (newErrorText != currentErrorText)
|
||||
m_infoBarWidget->setError(InfoBarWidget::Warning, newErrorText,
|
||||
@@ -1144,9 +1145,9 @@ void ClangTool::updateForCurrentState()
|
||||
case State::AnalyzerRunning:
|
||||
showProgressIcon = true;
|
||||
if (m_filesCount == 0) {
|
||||
infoText = tr("Analyzing..."); // Not yet fully started/initialized
|
||||
infoText = Tr::tr("Analyzing..."); // Not yet fully started/initialized
|
||||
} else {
|
||||
infoText = tr("Analyzing... %1 of %n file(s) processed.", nullptr, m_filesCount)
|
||||
infoText = Tr::tr("Analyzing... %1 of %n file(s) processed.", nullptr, m_filesCount)
|
||||
.arg(m_filesSucceeded + m_filesFailed);
|
||||
}
|
||||
break;
|
||||
@@ -1157,13 +1158,13 @@ void ClangTool::updateForCurrentState()
|
||||
case State::PreparationFailed:
|
||||
break; // OK, we just show an error.
|
||||
case State::StoppedByUser:
|
||||
infoText = tr("Analysis stopped by user.");
|
||||
infoText = Tr::tr("Analysis stopped by user.");
|
||||
break;
|
||||
case State::AnalyzerFinished:
|
||||
infoText = tr("Finished processing %n file(s).", nullptr, m_filesCount);
|
||||
infoText = Tr::tr("Finished processing %n file(s).", nullptr, m_filesCount);
|
||||
break;
|
||||
case State::ImportFinished:
|
||||
infoText = tr("Diagnostics imported.");
|
||||
infoText = Tr::tr("Diagnostics imported.");
|
||||
break;
|
||||
}
|
||||
m_infoBarWidget->setInfoText(infoText);
|
||||
@@ -1173,7 +1174,7 @@ void ClangTool::updateForCurrentState()
|
||||
// Info bar: diagnostic stats
|
||||
QString diagText;
|
||||
if (issuesFound) {
|
||||
diagText = tr("%1 diagnostics. %2 fixits, %3 selected.")
|
||||
diagText = Tr::tr("%1 diagnostics. %2 fixits, %3 selected.")
|
||||
.arg(issuesVisible)
|
||||
.arg(m_diagnosticFilterModel->fixitsScheduable())
|
||||
.arg(m_diagnosticFilterModel->fixitsScheduled());
|
||||
@@ -1181,16 +1182,16 @@ void ClangTool::updateForCurrentState()
|
||||
&& m_state != State::Initial
|
||||
&& m_state != State::PreparationStarted
|
||||
&& m_state != State::PreparationFailed) {
|
||||
diagText = tr("No diagnostics.");
|
||||
diagText = Tr::tr("No diagnostics.");
|
||||
}
|
||||
m_infoBarWidget->setDiagText(diagText);
|
||||
}
|
||||
|
||||
ClangTidyTool::ClangTidyTool() : ClangTool(tr("Clang-Tidy"), "ClangTidy.Perspective")
|
||||
ClangTidyTool::ClangTidyTool() : ClangTool(Tr::tr("Clang-Tidy"), "ClangTidy.Perspective")
|
||||
{
|
||||
m_instance = this;
|
||||
}
|
||||
ClazyTool::ClazyTool() : ClangTool(tr("Clazy"), "Clazy.Perspective")
|
||||
ClazyTool::ClazyTool() : ClangTool(Tr::tr("Clazy"), "Clazy.Perspective")
|
||||
{
|
||||
m_instance = this;
|
||||
}
|
||||
|
@@ -5,6 +5,7 @@
|
||||
|
||||
#include "clangtool.h"
|
||||
#include "clangtoolrunner.h"
|
||||
#include "clangtoolstr.h"
|
||||
#include "executableinfo.h"
|
||||
|
||||
#include <coreplugin/progressmanager/taskprogress.h>
|
||||
@@ -126,7 +127,7 @@ void ClangToolRunWorker::start()
|
||||
|
||||
if (m_projectBuilder && !m_projectBuilder->success()) {
|
||||
emit buildFailed();
|
||||
reportFailure(tr("Failed to build the project."));
|
||||
reportFailure(Tr::tr("Failed to build the project."));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -134,7 +135,7 @@ void ClangToolRunWorker::start()
|
||||
Project *project = runControl()->project();
|
||||
m_projectInfo = CppEditor::CppModelManager::instance()->projectInfo(project);
|
||||
if (!m_projectInfo) {
|
||||
reportFailure(tr("No code model data available for project."));
|
||||
reportFailure(Tr::tr("No code model data available for project."));
|
||||
return;
|
||||
}
|
||||
m_projectFiles = Utils::toSet(project->files(Project::AllFiles));
|
||||
@@ -144,7 +145,7 @@ void ClangToolRunWorker::start()
|
||||
// If it's more than a release/debug build configuration change, e.g.
|
||||
// a version control checkout, files might be not valid C++ anymore
|
||||
// or even gone, so better stop here.
|
||||
reportFailure(tr("The project configuration changed since the start of "
|
||||
reportFailure(Tr::tr("The project configuration changed since the start of "
|
||||
"the %1. Please re-run with current configuration.")
|
||||
.arg(toolName));
|
||||
emit startFailed();
|
||||
@@ -154,13 +155,13 @@ void ClangToolRunWorker::start()
|
||||
// Create log dir
|
||||
if (!m_temporaryDir.isValid()) {
|
||||
reportFailure(
|
||||
tr("Failed to create temporary directory: %1.").arg(m_temporaryDir.errorString()));
|
||||
Tr::tr("Failed to create temporary directory: %1.").arg(m_temporaryDir.errorString()));
|
||||
emit startFailed();
|
||||
return;
|
||||
}
|
||||
|
||||
const Utils::FilePath projectFile = m_projectInfo->projectFilePath();
|
||||
appendMessage(tr("Running %1 on %2 with configuration \"%3\".")
|
||||
appendMessage(Tr::tr("Running %1 on %2 with configuration \"%3\".")
|
||||
.arg(toolName, projectFile.toUserOutput(), m_diagnosticConfig.displayName()),
|
||||
Utils::NormalMessageFormat);
|
||||
|
||||
@@ -189,7 +190,7 @@ void ClangToolRunWorker::start()
|
||||
m_environment, unit};
|
||||
const auto setupHandler = [this, unit, tool] {
|
||||
const QString filePath = FilePath::fromString(unit.file).toUserOutput();
|
||||
appendMessage(tr("Analyzing \"%1\" [%2].").arg(filePath, clangToolName(tool)),
|
||||
appendMessage(Tr::tr("Analyzing \"%1\" [%2].").arg(filePath, clangToolName(tool)),
|
||||
Utils::StdOutFormat);
|
||||
return true;
|
||||
};
|
||||
@@ -201,7 +202,7 @@ void ClangToolRunWorker::start()
|
||||
connect(m_taskTree.get(), &TaskTree::done, this, &ClangToolRunWorker::finalize);
|
||||
connect(m_taskTree.get(), &TaskTree::errorOccurred, this, &ClangToolRunWorker::finalize);
|
||||
auto progress = new Core::TaskProgress(m_taskTree.get());
|
||||
progress->setDisplayName(tr("Analyzing"));
|
||||
progress->setDisplayName(Tr::tr("Analyzing"));
|
||||
reportStarted();
|
||||
m_elapsed.start();
|
||||
m_taskTree->start();
|
||||
@@ -229,7 +230,7 @@ void ClangToolRunWorker::onDone(const AnalyzeOutputData &output)
|
||||
m_filesAnalyzed.remove(output.fileToAnalyze);
|
||||
m_filesNotAnalyzed.insert(output.fileToAnalyze);
|
||||
|
||||
const QString message = tr("Failed to analyze \"%1\": %2")
|
||||
const QString message = Tr::tr("Failed to analyze \"%1\": %2")
|
||||
.arg(output.fileToAnalyze, output.errorMessage);
|
||||
appendMessage(message, Utils::StdErrFormat);
|
||||
appendMessage(output.errorDetails, Utils::StdErrFormat);
|
||||
@@ -246,7 +247,7 @@ void ClangToolRunWorker::onDone(const AnalyzeOutputData &output)
|
||||
m_filesAnalyzed.remove(output.fileToAnalyze);
|
||||
m_filesNotAnalyzed.insert(output.fileToAnalyze);
|
||||
qCDebug(LOG) << "onRunnerFinishedWithSuccess: Error reading log file:" << errorMessage;
|
||||
appendMessage(tr("Failed to analyze \"%1\": %2").arg(output.fileToAnalyze, errorMessage),
|
||||
appendMessage(Tr::tr("Failed to analyze \"%1\": %2").arg(output.fileToAnalyze, errorMessage),
|
||||
Utils::StdErrFormat);
|
||||
} else {
|
||||
if (!m_filesNotAnalyzed.contains(output.fileToAnalyze))
|
||||
@@ -266,19 +267,19 @@ void ClangToolRunWorker::finalize()
|
||||
m_taskTree.release()->deleteLater();
|
||||
const QString toolName = m_tool->name();
|
||||
if (m_filesNotAnalyzed.size() != 0) {
|
||||
appendMessage(tr("Error: Failed to analyze %n files.", nullptr, m_filesNotAnalyzed.size()),
|
||||
appendMessage(Tr::tr("Error: Failed to analyze %n files.", nullptr, m_filesNotAnalyzed.size()),
|
||||
ErrorMessageFormat);
|
||||
Target *target = runControl()->target();
|
||||
if (target && target->activeBuildConfiguration() && !target->activeBuildConfiguration()->buildDirectory().exists()
|
||||
&& !m_runSettings.buildBeforeAnalysis()) {
|
||||
appendMessage(
|
||||
tr("Note: You might need to build the project to generate or update source "
|
||||
Tr::tr("Note: You might need to build the project to generate or update source "
|
||||
"files. To build automatically, enable \"Build the project before analysis\"."),
|
||||
NormalMessageFormat);
|
||||
}
|
||||
}
|
||||
|
||||
appendMessage(tr("%1 finished: "
|
||||
appendMessage(Tr::tr("%1 finished: "
|
||||
"Processed %2 files successfully, %3 failed.")
|
||||
.arg(toolName)
|
||||
.arg(m_filesAnalyzed.size())
|
||||
|
@@ -5,6 +5,7 @@
|
||||
|
||||
#include "clangtoolsdiagnosticview.h"
|
||||
#include "clangtoolsprojectsettings.h"
|
||||
#include "clangtoolstr.h"
|
||||
#include "clangtoolsutils.h"
|
||||
#include "diagnosticmark.h"
|
||||
|
||||
@@ -190,11 +191,11 @@ static QString createExplainingStepToolTipString(const ExplainingStep &step)
|
||||
QList<StringPair> lines;
|
||||
|
||||
if (!step.message.isEmpty()) {
|
||||
lines.push_back({QCoreApplication::translate("ClangTools::ExplainingStep", "Message:"),
|
||||
lines.push_back({Tr::tr("Message:"),
|
||||
step.message.toHtmlEscaped()});
|
||||
}
|
||||
|
||||
lines.push_back({QCoreApplication::translate("ClangTools::ExplainingStep", "Location:"),
|
||||
lines.push_back({Tr::tr("Location:"),
|
||||
createFullLocationString(step.location)});
|
||||
|
||||
QString html = QLatin1String("<html>"
|
||||
|
@@ -6,6 +6,7 @@
|
||||
#include "clangtoolsdiagnosticmodel.h"
|
||||
#include "clangtoolsprojectsettings.h"
|
||||
#include "clangtoolssettings.h"
|
||||
#include "clangtoolstr.h"
|
||||
#include "clangtoolsutils.h"
|
||||
#include "diagnosticconfigswidget.h"
|
||||
|
||||
@@ -118,19 +119,19 @@ DiagnosticView::DiagnosticView(QWidget *parent)
|
||||
Utils::Theme::PanelTextColorMid}},
|
||||
Utils::Icon::Tint).icon();
|
||||
|
||||
m_showFilter = new QAction(tr("Filter..."), this);
|
||||
m_showFilter = new QAction(Tr::tr("Filter..."), this);
|
||||
m_showFilter->setIcon(filterIcon);
|
||||
connect(m_showFilter, &QAction::triggered,
|
||||
this, &DiagnosticView::showFilter);
|
||||
m_clearFilter = new QAction(tr("Clear Filter"), this);
|
||||
m_clearFilter = new QAction(Tr::tr("Clear Filter"), this);
|
||||
m_clearFilter->setIcon(filterIcon);
|
||||
connect(m_clearFilter, &QAction::triggered,
|
||||
this, &DiagnosticView::clearFilter);
|
||||
m_filterForCurrentKind = new QAction(tr("Filter for This Diagnostic Kind"), this);
|
||||
m_filterForCurrentKind = new QAction(Tr::tr("Filter for This Diagnostic Kind"), this);
|
||||
m_filterForCurrentKind->setIcon(filterIcon);
|
||||
connect(m_filterForCurrentKind, &QAction::triggered,
|
||||
this, &DiagnosticView::filterForCurrentKind);
|
||||
m_filterOutCurrentKind = new QAction(tr("Filter out This Diagnostic Kind"), this);
|
||||
m_filterOutCurrentKind = new QAction(Tr::tr("Filter out This Diagnostic Kind"), this);
|
||||
m_filterOutCurrentKind->setIcon(filterIcon);
|
||||
connect(m_filterOutCurrentKind, &QAction::triggered,
|
||||
this, &DiagnosticView::filterOutCurrentKind);
|
||||
@@ -141,7 +142,7 @@ DiagnosticView::DiagnosticView(QWidget *parent)
|
||||
m_separator2 = new QAction(this);
|
||||
m_separator2->setSeparator(true);
|
||||
|
||||
m_help = new QAction(tr("Web Page"), this);
|
||||
m_help = new QAction(Tr::tr("Web Page"), this);
|
||||
m_help->setIcon(Utils::Icons::ONLINE.icon());
|
||||
connect(m_help, &QAction::triggered,
|
||||
this, &DiagnosticView::showHelp);
|
||||
@@ -333,11 +334,11 @@ QList<QAction *> DiagnosticView::customActions() const
|
||||
m_filterForCurrentKind->setEnabled(isDiagnosticItem && !hasMultiSelection);
|
||||
m_filterOutCurrentKind->setEnabled(isDiagnosticItem && !hasMultiSelection);
|
||||
m_suppressAction->setEnabled(isDiagnosticItem || hasMultiSelection);
|
||||
m_suppressAction->setText(hasMultiSelection ? tr("Suppress Selected Diagnostics")
|
||||
: tr("Suppress This Diagnostic"));
|
||||
m_suppressAction->setText(hasMultiSelection ? Tr::tr("Suppress Selected Diagnostics")
|
||||
: Tr::tr("Suppress This Diagnostic"));
|
||||
m_disableChecksAction->setEnabled(disableChecksEnabled());
|
||||
m_disableChecksAction->setText(hasMultiSelection ? tr("Disable These Checks")
|
||||
: tr("Disable This Check"));
|
||||
m_disableChecksAction->setText(hasMultiSelection ? Tr::tr("Disable These Checks")
|
||||
: Tr::tr("Disable This Check"));
|
||||
|
||||
return {
|
||||
m_help,
|
||||
|
@@ -22,7 +22,7 @@ static bool checkFilePath(const Utils::FilePath &filePath, QString *errorMessage
|
||||
if (!fi.exists() || !fi.isReadable()) {
|
||||
if (errorMessage) {
|
||||
*errorMessage
|
||||
= QString(QT_TRANSLATE_NOOP("LogFileReader",
|
||||
= QString(QT_TRANSLATE_NOOP("::ClangTools",
|
||||
"File \"%1\" does not exist or is not readable."))
|
||||
.arg(filePath.toUserOutput());
|
||||
}
|
||||
@@ -255,7 +255,7 @@ Diagnostics readExportedDiagnostics(const Utils::FilePath &logFilePath,
|
||||
} catch (std::exception &e) {
|
||||
if (errorMessage) {
|
||||
*errorMessage = QString(
|
||||
QT_TRANSLATE_NOOP("LogFileReader",
|
||||
QT_TRANSLATE_NOOP("::ClangTools",
|
||||
"Error: Failed to parse YAML file \"%1\": %2."))
|
||||
.arg(logFilePath.toUserOutput(), QString::fromUtf8(e.what()));
|
||||
}
|
||||
|
@@ -7,6 +7,7 @@
|
||||
#include "clangtoolsconstants.h"
|
||||
#include "clangtoolsprojectsettings.h"
|
||||
#include "clangtoolsprojectsettingswidget.h"
|
||||
#include "clangtoolstr.h"
|
||||
#include "documentclangtoolrunner.h"
|
||||
#include "documentquickfixfactory.h"
|
||||
#include "settingswidget.h"
|
||||
@@ -92,7 +93,7 @@ bool ClangToolsPlugin::initialize(const QStringList &arguments, QString *errorSt
|
||||
Q_UNUSED(arguments)
|
||||
Q_UNUSED(errorString)
|
||||
|
||||
TaskHub::addCategory(taskCategory(), tr("Clang Tools"));
|
||||
TaskHub::addCategory(taskCategory(), Tr::tr("Clang Tools"));
|
||||
|
||||
// Import tidy/clazy diagnostic configs from CppEditor now
|
||||
// instead of at opening time of the settings page
|
||||
@@ -105,7 +106,7 @@ bool ClangToolsPlugin::initialize(const QStringList &arguments, QString *errorSt
|
||||
auto panelFactory = m_projectPanelFactoryInstance = new ProjectPanelFactory;
|
||||
panelFactory->setPriority(100);
|
||||
panelFactory->setId(Constants::PROJECT_PANEL_ID);
|
||||
panelFactory->setDisplayName(tr("Clang Tools"));
|
||||
panelFactory->setDisplayName(Tr::tr("Clang Tools"));
|
||||
panelFactory->setCreateWidgetFunction(
|
||||
[](Project *project) { return new ClangToolsProjectSettingsWidget(project); });
|
||||
ProjectPanelFactory::registerFactory(panelFactory);
|
||||
@@ -170,7 +171,7 @@ void ClangToolsPlugin::registerAnalyzeActions()
|
||||
const auto button = new QToolButton;
|
||||
button->setPopupMode(QToolButton::InstantPopup);
|
||||
button->setIcon(icon);
|
||||
button->setToolTip(tr("Analyze File..."));
|
||||
button->setToolTip(Tr::tr("Analyze File..."));
|
||||
widget->toolBar()->addWidget(button);
|
||||
const auto toolsMenu = new QMenu(widget);
|
||||
button->setMenu(toolsMenu);
|
||||
|
@@ -7,6 +7,7 @@
|
||||
#include "clangtoolsconstants.h"
|
||||
#include "clangtoolsprojectsettings.h"
|
||||
#include "clangtoolssettings.h"
|
||||
#include "clangtoolstr.h"
|
||||
#include "runsettingswidget.h"
|
||||
|
||||
#include <coreplugin/icore.h>
|
||||
@@ -52,20 +53,20 @@ ClangToolsProjectSettingsWidget::ClangToolsProjectSettingsWidget(ProjectExplorer
|
||||
m_projectSettings(ClangToolsProjectSettings::getSettings(project))
|
||||
{
|
||||
setGlobalSettingsId(ClangTools::Constants::SETTINGS_PAGE_ID);
|
||||
m_restoreGlobal = new QPushButton(tr("Restore Global Settings"));
|
||||
m_restoreGlobal = new QPushButton(Tr::tr("Restore Global Settings"));
|
||||
|
||||
const auto gotoClangTidyModeLabel
|
||||
= new QLabel("<a href=\"target\">" + tr("Go to Clang-Tidy") + "</a>");
|
||||
= new QLabel("<a href=\"target\">" + Tr::tr("Go to Clang-Tidy") + "</a>");
|
||||
const auto gotoClazyModeLabel
|
||||
= new QLabel("<a href=\"target\">" + tr("Go to Clazy") + "</a>");
|
||||
= new QLabel("<a href=\"target\">" + Tr::tr("Go to Clazy") + "</a>");
|
||||
|
||||
m_runSettingsWidget = new ClangTools::Internal::RunSettingsWidget(this);
|
||||
|
||||
m_diagnosticsView = new QTreeView;
|
||||
m_diagnosticsView->setSelectionMode(QAbstractItemView::SingleSelection);
|
||||
|
||||
m_removeSelectedButton = new QPushButton(tr("Remove Selected"), this);
|
||||
m_removeAllButton = new QPushButton(tr("Remove All"));
|
||||
m_removeSelectedButton = new QPushButton(Tr::tr("Remove Selected"), this);
|
||||
m_removeAllButton = new QPushButton(Tr::tr("Remove All"));
|
||||
|
||||
using namespace Utils::Layouting;
|
||||
Column {
|
||||
@@ -74,7 +75,7 @@ ClangToolsProjectSettingsWidget::ClangToolsProjectSettingsWidget(ProjectExplorer
|
||||
m_runSettingsWidget,
|
||||
|
||||
Group {
|
||||
title(tr("Suppressed diagnostics")),
|
||||
title(Tr::tr("Suppressed diagnostics")),
|
||||
Row {
|
||||
m_diagnosticsView,
|
||||
Column {
|
||||
@@ -197,9 +198,9 @@ QVariant SuppressedDiagnosticsModel::headerData(int section, Qt::Orientation ori
|
||||
{
|
||||
if (role == Qt::DisplayRole && orientation == Qt::Horizontal) {
|
||||
if (section == ColumnFile)
|
||||
return tr("File");
|
||||
return Tr::tr("File");
|
||||
if (section == ColumnDescription)
|
||||
return tr("Diagnostic");
|
||||
return Tr::tr("Diagnostic");
|
||||
}
|
||||
return QVariant();
|
||||
}
|
||||
|
@@ -38,17 +38,17 @@ static QString fixitStatus(FixitStatus status)
|
||||
{
|
||||
switch (status) {
|
||||
case FixitStatus::NotAvailable:
|
||||
return QCoreApplication::translate("ClangToolsDiagnosticModel", "No Fixits");
|
||||
return Tr::tr("No Fixits");
|
||||
case FixitStatus::NotScheduled:
|
||||
return QCoreApplication::translate("ClangToolsDiagnosticModel", "Not Scheduled");
|
||||
return Tr::tr("Not Scheduled");
|
||||
case FixitStatus::Invalidated:
|
||||
return QCoreApplication::translate("ClangToolsDiagnosticModel", "Invalidated");
|
||||
return Tr::tr("Invalidated");
|
||||
case FixitStatus::Scheduled:
|
||||
return QCoreApplication::translate("ClangToolsDiagnosticModel", "Scheduled");
|
||||
return Tr::tr("Scheduled");
|
||||
case FixitStatus::FailedToApply:
|
||||
return QCoreApplication::translate("ClangToolsDiagnosticModel", "Failed to Apply");
|
||||
return Tr::tr("Failed to Apply");
|
||||
case FixitStatus::Applied:
|
||||
return QCoreApplication::translate("ClangToolsDiagnosticModel", "Applied");
|
||||
return Tr::tr("Applied");
|
||||
}
|
||||
return QString();
|
||||
}
|
||||
@@ -62,31 +62,31 @@ QString createDiagnosticToolTipString(
|
||||
QList<StringPair> lines;
|
||||
|
||||
if (!diagnostic.category.isEmpty()) {
|
||||
lines.push_back({QCoreApplication::translate("ClangTools::Diagnostic", "Category:"),
|
||||
lines.push_back({Tr::tr("Category:"),
|
||||
diagnostic.category.toHtmlEscaped()});
|
||||
}
|
||||
|
||||
if (!diagnostic.type.isEmpty()) {
|
||||
lines.push_back({QCoreApplication::translate("ClangTools::Diagnostic", "Type:"),
|
||||
lines.push_back({Tr::tr("Type:"),
|
||||
diagnostic.type.toHtmlEscaped()});
|
||||
}
|
||||
|
||||
if (!diagnostic.description.isEmpty()) {
|
||||
lines.push_back({QCoreApplication::translate("ClangTools::Diagnostic", "Description:"),
|
||||
lines.push_back({Tr::tr("Description:"),
|
||||
diagnostic.description.toHtmlEscaped()});
|
||||
}
|
||||
|
||||
lines.push_back({QCoreApplication::translate("ClangTools::Diagnostic", "Location:"),
|
||||
lines.push_back({Tr::tr("Location:"),
|
||||
createFullLocationString(diagnostic.location)});
|
||||
|
||||
if (status) {
|
||||
lines.push_back({QCoreApplication::translate("ClangTools::Diagnostic", "Fixit status:"),
|
||||
lines.push_back({Tr::tr("Fixit status:"),
|
||||
fixitStatus(*status)});
|
||||
}
|
||||
|
||||
if (showSteps && !diagnostic.explainingSteps.isEmpty()) {
|
||||
StringPair steps;
|
||||
steps.first = QCoreApplication::translate("ClangTools::Diagnostic", "Steps:");
|
||||
steps.first = Tr::tr("Steps:");
|
||||
for (const ExplainingStep &step : diagnostic.explainingSteps) {
|
||||
if (!steps.second.isEmpty())
|
||||
steps.second += "<br>";
|
||||
@@ -100,7 +100,7 @@ QString createDiagnosticToolTipString(
|
||||
|
||||
const QString url = documentationUrl(diagnostic.name);
|
||||
if (!url.isEmpty()) {
|
||||
lines.push_back({QCoreApplication::translate("ClangTools::Diagnostic", "Documentation:"),
|
||||
lines.push_back({Tr::tr("Documentation:"),
|
||||
QString("<a href=\"%1\">%1</a>").arg(url)});
|
||||
}
|
||||
|
||||
@@ -129,7 +129,7 @@ QString createFullLocationString(const Debugger::DiagnosticLocation &location)
|
||||
|
||||
QString hintAboutBuildBeforeAnalysis()
|
||||
{
|
||||
return ClangTool::tr(
|
||||
return Tr::tr(
|
||||
"In general, the project should be built before starting the analysis to ensure that the "
|
||||
"code to analyze is valid.<br/><br/>"
|
||||
"Building the project might also run code generators that update the source files as "
|
||||
@@ -140,7 +140,7 @@ void showHintAboutBuildBeforeAnalysis()
|
||||
{
|
||||
Utils::CheckableMessageBox::doNotShowAgainInformation(
|
||||
Core::ICore::dialogParent(),
|
||||
ClangTool::tr("Info About Build the Project Before Analysis"),
|
||||
Tr::tr("Info About Build the Project Before Analysis"),
|
||||
hintAboutBuildBeforeAnalysis(),
|
||||
Core::ICore::settings(),
|
||||
"ClangToolsDisablingBuildBeforeAnalysisHint");
|
||||
@@ -228,8 +228,7 @@ ClangDiagnosticConfig builtinConfig()
|
||||
{
|
||||
ClangDiagnosticConfig config;
|
||||
config.setId(Constants::DIAG_CONFIG_TIDY_AND_CLAZY);
|
||||
config.setDisplayName(QCoreApplication::translate("ClangDiagnosticConfigsModel",
|
||||
"Default Clang-Tidy and Clazy checks"));
|
||||
config.setDisplayName(Tr::tr("Default Clang-Tidy and Clazy checks"));
|
||||
config.setIsReadOnly(true);
|
||||
config.setClangOptions({"-w"}); // Do not emit any clang-only warnings
|
||||
config.setClangTidyMode(ClangDiagnosticConfig::TidyMode::UseDefaultChecks);
|
||||
|
@@ -6,6 +6,7 @@
|
||||
#include "clangtoolsdiagnostic.h"
|
||||
#include "clangtoolsprojectsettings.h"
|
||||
#include "clangtoolssettings.h"
|
||||
#include "clangtoolstr.h"
|
||||
#include "clangtoolsutils.h"
|
||||
#include "executableinfo.h"
|
||||
|
||||
@@ -54,8 +55,6 @@ QString removeClazyCheck(const QString &checks, const QString &check);
|
||||
|
||||
class TidyChecksWidget : public QWidget
|
||||
{
|
||||
Q_DECLARE_TR_FUNCTIONS(ClangTools::Internal::TidyChecks)
|
||||
|
||||
public:
|
||||
QComboBox *tidyMode;
|
||||
QPushButton *plainTextEditButton;
|
||||
@@ -67,10 +66,10 @@ public:
|
||||
TidyChecksWidget()
|
||||
{
|
||||
tidyMode = new QComboBox;
|
||||
tidyMode->addItem(tr("Select Checks"));
|
||||
tidyMode->addItem(tr("Use .clang-tidy config file"));
|
||||
tidyMode->addItem(Tr::tr("Select Checks"));
|
||||
tidyMode->addItem(Tr::tr("Use .clang-tidy config file"));
|
||||
|
||||
plainTextEditButton = new QPushButton(tr("Edit Checks as String..."));
|
||||
plainTextEditButton = new QPushButton(Tr::tr("Edit Checks as String..."));
|
||||
|
||||
filterLineEdit = new FancyLineEdit;
|
||||
|
||||
@@ -83,7 +82,7 @@ public:
|
||||
invalidExecutableLabel->setAlignment(Qt::AlignLeft|Qt::AlignTop);
|
||||
invalidExecutableLabel->setType(InfoLabel::Warning);
|
||||
invalidExecutableLabel->setElideMode(Qt::ElideNone);
|
||||
invalidExecutableLabel->setText(tr("Could not query the supported checks from the "
|
||||
invalidExecutableLabel->setText(Tr::tr("Could not query the supported checks from the "
|
||||
"clang-tidy executable.\nSet a valid executable first."));
|
||||
|
||||
auto invalidExecutablePage = new QWidget;
|
||||
@@ -113,8 +112,6 @@ public:
|
||||
|
||||
class ClazyChecksWidget : public QWidget
|
||||
{
|
||||
Q_DECLARE_TR_FUNCTIONS(ClangTools::Internal::ClazyChecks)
|
||||
|
||||
public:
|
||||
QStackedWidget *stackedWidget;
|
||||
FancyLineEdit *filterLineEdit;
|
||||
@@ -130,26 +127,26 @@ public:
|
||||
|
||||
auto label = new QLabel;
|
||||
label->setOpenExternalLinks(true);
|
||||
label->setText(tr("See <a href=\"https://github.com/KDE/clazy\">"
|
||||
label->setText(Tr::tr("See <a href=\"https://github.com/KDE/clazy\">"
|
||||
"Clazy's homepage</a> for more information."));
|
||||
|
||||
auto groupBox = new QGroupBox(tr("Filters"));
|
||||
auto groupBox = new QGroupBox(Tr::tr("Filters"));
|
||||
QSizePolicy sp(QSizePolicy::Maximum, QSizePolicy::Preferred);
|
||||
sp.setHorizontalStretch(1);
|
||||
groupBox->setSizePolicy(sp);
|
||||
|
||||
filterLineEdit = new FancyLineEdit;
|
||||
|
||||
topicsResetButton = new QPushButton(tr("Reset Topic Filter"));
|
||||
topicsResetButton = new QPushButton(Tr::tr("Reset Topic Filter"));
|
||||
topicsView = new QListView;
|
||||
|
||||
checksGroupBox = new QGroupBox(tr("Checks"));
|
||||
checksGroupBox = new QGroupBox(Tr::tr("Checks"));
|
||||
sp.setHorizontalPolicy(QSizePolicy::MinimumExpanding);
|
||||
sp.setHorizontalStretch(100);
|
||||
checksGroupBox->setSizePolicy(sp);
|
||||
|
||||
enableLowerLevelsCheckBox = new QCheckBox(tr("Enable lower levels automatically"));
|
||||
enableLowerLevelsCheckBox->setToolTip(tr("When enabling a level explicitly, "
|
||||
enableLowerLevelsCheckBox = new QCheckBox(Tr::tr("Enable lower levels automatically"));
|
||||
enableLowerLevelsCheckBox->setToolTip(Tr::tr("When enabling a level explicitly, "
|
||||
"also enable lower levels (Clazy semantic)."));
|
||||
|
||||
checksView = new QTreeView;
|
||||
@@ -160,7 +157,7 @@ public:
|
||||
invalidExecutableLabel->setType(InfoLabel::Warning);
|
||||
invalidExecutableLabel->setElideMode(Qt::ElideNone);
|
||||
invalidExecutableLabel->setAlignment(Qt::AlignLeft|Qt::AlignTop);
|
||||
invalidExecutableLabel->setText(tr("Could not query the supported checks from the "
|
||||
invalidExecutableLabel->setText(Tr::tr("Could not query the supported checks from the "
|
||||
"clazy-standalone executable.\nSet a valid executable first."));
|
||||
|
||||
stackedWidget = new QStackedWidget;
|
||||
@@ -203,11 +200,11 @@ public:
|
||||
TidyOptionsDialog(const QString &check, const ClangDiagnosticConfig::TidyCheckOptions &options,
|
||||
QWidget *parent = nullptr) : QDialog(parent)
|
||||
{
|
||||
setWindowTitle(tr("Options for %1").arg(check));
|
||||
setWindowTitle(Tr::tr("Options for %1").arg(check));
|
||||
resize(600, 300);
|
||||
|
||||
m_optionsWidget.setColumnCount(2);
|
||||
m_optionsWidget.setHeaderLabels({tr("Option"), tr("Value")});
|
||||
m_optionsWidget.setHeaderLabels({Tr::tr("Option"), Tr::tr("Value")});
|
||||
const auto addItem = [this](const QString &option, const QString &value) {
|
||||
const auto item = new QTreeWidgetItem(&m_optionsWidget, QStringList{option, value});
|
||||
item->setFlags(item->flags() | Qt::ItemIsEditable);
|
||||
@@ -217,8 +214,8 @@ public:
|
||||
addItem(it.key(), it.value());
|
||||
m_optionsWidget.resizeColumnToContents(0);
|
||||
|
||||
const auto addButton = new QPushButton(tr("Add Option"));
|
||||
const auto removeButton = new QPushButton(tr("Remove Option"));
|
||||
const auto addButton = new QPushButton(Tr::tr("Add Option"));
|
||||
const auto removeButton = new QPushButton(Tr::tr("Remove Option"));
|
||||
const auto buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok
|
||||
| QDialogButtonBox::Cancel);
|
||||
|
||||
@@ -236,7 +233,7 @@ public:
|
||||
}.attachTo(this);
|
||||
|
||||
connect(addButton, &QPushButton::clicked, this, [this, addItem] {
|
||||
const auto item = addItem(tr("<new option>"), {});
|
||||
const auto item = addItem(Tr::tr("<new option>"), {});
|
||||
m_optionsWidget.editItem(item);
|
||||
});
|
||||
connect(removeButton, &QPushButton::clicked, this, [this] {
|
||||
@@ -440,7 +437,7 @@ public:
|
||||
if (fullIndex.column() == LinkColumn) {
|
||||
switch (role) {
|
||||
case Qt::DisplayRole:
|
||||
return tr("Web Page");
|
||||
return Tr::tr("Web Page");
|
||||
case Qt::FontRole: {
|
||||
QFont font = QApplication::font();
|
||||
font.setUnderline(true);
|
||||
@@ -601,7 +598,7 @@ public:
|
||||
if (hasChildren(fullIndex))
|
||||
return {};
|
||||
if (role == Qt::DisplayRole)
|
||||
return tr("Options");
|
||||
return Tr::tr("Options");
|
||||
if (role == Qt::FontRole || role == Qt::ForegroundRole) {
|
||||
return BaseChecksTreeModel::data(fullIndex.sibling(fullIndex.row(), LinkColumn),
|
||||
role);
|
||||
@@ -789,18 +786,18 @@ private:
|
||||
{
|
||||
switch (level) {
|
||||
case -1:
|
||||
return tr("Manual Level: Very few false positives");
|
||||
return Tr::tr("Manual Level: Very few false positives");
|
||||
case 0:
|
||||
return tr("Level 0: No false positives");
|
||||
return Tr::tr("Level 0: No false positives");
|
||||
case 1:
|
||||
return tr("Level 1: Very few false positives");
|
||||
return Tr::tr("Level 1: Very few false positives");
|
||||
case 2:
|
||||
return tr("Level 2: More false positives");
|
||||
return Tr::tr("Level 2: More false positives");
|
||||
case 3:
|
||||
return tr("Level 3: Experimental checks");
|
||||
return Tr::tr("Level 3: Experimental checks");
|
||||
default:
|
||||
QTC_CHECK(false && "No clazy level description");
|
||||
return tr("Level %1").arg(QString::number(level));
|
||||
return Tr::tr("Level %1").arg(QString::number(level));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1048,7 +1045,7 @@ DiagnosticConfigsWidget::DiagnosticConfigsWidget(const ClangDiagnosticConfigs &c
|
||||
const bool readOnly = currentConfig().isReadOnly();
|
||||
|
||||
QDialog dialog;
|
||||
dialog.setWindowTitle(tr("Checks"));
|
||||
dialog.setWindowTitle(Tr::tr("Checks"));
|
||||
|
||||
const QString initialChecks = m_tidyTreeModel->selectedChecks();
|
||||
|
||||
@@ -1090,8 +1087,8 @@ DiagnosticConfigsWidget::DiagnosticConfigsWidget(const ClangDiagnosticConfigs &c
|
||||
connectClangTidyItemChanged();
|
||||
connectClazyItemChanged();
|
||||
|
||||
tabWidget()->addTab(m_tidyChecks, tr("Clang-Tidy Checks"));
|
||||
tabWidget()->addTab(m_clazyChecks, tr("Clazy Checks"));
|
||||
tabWidget()->addTab(m_tidyChecks, Tr::tr("Clang-Tidy Checks"));
|
||||
tabWidget()->addTab(m_clazyChecks, Tr::tr("Clazy Checks"));
|
||||
}
|
||||
|
||||
DiagnosticConfigsWidget::~DiagnosticConfigsWidget()
|
||||
@@ -1136,8 +1133,8 @@ void DiagnosticConfigsWidget::syncClangTidyWidgets(const ClangDiagnosticConfig &
|
||||
|
||||
const bool enabled = !config.isReadOnly();
|
||||
m_tidyChecks->tidyMode->setEnabled(enabled);
|
||||
m_tidyChecks->plainTextEditButton->setText(enabled ? tr("Edit Checks as String...")
|
||||
: tr("View Checks as String..."));
|
||||
m_tidyChecks->plainTextEditButton->setText(enabled ? Tr::tr("Edit Checks as String...")
|
||||
: Tr::tr("View Checks as String..."));
|
||||
m_tidyTreeModel->setEnabled(enabled);
|
||||
connectClangTidyItemChanged();
|
||||
}
|
||||
@@ -1257,9 +1254,9 @@ void DiagnosticConfigsWidget::syncClazyChecksGroupBox()
|
||||
};
|
||||
const bool hasEnabledButHidden = m_clazyTreeModel->hasEnabledButNotVisibleChecks(isHidden);
|
||||
const int checksCount = m_clazyTreeModel->enabledChecks().count();
|
||||
const QString title = hasEnabledButHidden ? tr("Checks (%n enabled, some are filtered out)",
|
||||
const QString title = hasEnabledButHidden ? Tr::tr("Checks (%n enabled, some are filtered out)",
|
||||
nullptr, checksCount)
|
||||
: tr("Checks (%n enabled)", nullptr, checksCount);
|
||||
: Tr::tr("Checks (%n enabled)", nullptr, checksCount);
|
||||
m_clazyChecks->checksGroupBox->setTitle(title);
|
||||
}
|
||||
|
||||
@@ -1311,7 +1308,7 @@ void disableChecks(const QList<Diagnostic> &diagnostics)
|
||||
config = builtinConfig();
|
||||
config.setIsReadOnly(false);
|
||||
config.setId(Utils::Id::fromString(QUuid::createUuid().toString()));
|
||||
config.setDisplayName(QCoreApplication::translate("Clang Tools", "Custom Configuration"));
|
||||
config.setDisplayName(Tr::tr("Custom Configuration"));
|
||||
configs << config;
|
||||
RunSettings runSettings = settings->runSettings();
|
||||
runSettings.setDiagnosticConfigId(config.id());
|
||||
|
@@ -38,7 +38,7 @@ DiagnosticMark::DiagnosticMark(const Diagnostic &diagnostic)
|
||||
QList<QAction *> actions;
|
||||
QAction *action = new QAction();
|
||||
action->setIcon(QIcon::fromTheme("edit-copy", Utils::Icons::COPY.icon()));
|
||||
action->setToolTip(tr("Copy to Clipboard"));
|
||||
action->setToolTip(Tr::tr("Copy to Clipboard"));
|
||||
QObject::connect(action, &QAction::triggered, [diagnostic] {
|
||||
const QString text = createFullLocationString(diagnostic.location)
|
||||
+ ": "
|
||||
@@ -50,7 +50,7 @@ DiagnosticMark::DiagnosticMark(const Diagnostic &diagnostic)
|
||||
// Disable diagnostic action
|
||||
action = new QAction();
|
||||
action->setIcon(Utils::Icons::BROKEN.icon());
|
||||
action->setToolTip(tr("Disable Diagnostic"));
|
||||
action->setToolTip(Tr::tr("Disable Diagnostic"));
|
||||
QObject::connect(action, &QAction::triggered, [diagnostic] { disableChecks({diagnostic}); });
|
||||
actions << action;
|
||||
return actions;
|
||||
|
@@ -13,7 +13,6 @@ namespace Internal {
|
||||
|
||||
class DiagnosticMark : public TextEditor::TextMark
|
||||
{
|
||||
Q_DECLARE_TR_FUNCTIONS(ClangTools::Internal::DiagnosticMark)
|
||||
public:
|
||||
explicit DiagnosticMark(const Diagnostic &diagnostic);
|
||||
|
||||
|
@@ -3,6 +3,8 @@
|
||||
|
||||
#include "filterdialog.h"
|
||||
|
||||
#include "clangtoolstr.h"
|
||||
|
||||
#include <utils/algorithm.h>
|
||||
#include <utils/layoutbuilder.h>
|
||||
#include <utils/treemodel.h>
|
||||
@@ -54,7 +56,7 @@ public:
|
||||
return lhs.displayName < rhs.displayName;
|
||||
});
|
||||
|
||||
setHeader({tr("Check"), "#"});
|
||||
setHeader({Tr::tr("Check"), "#"});
|
||||
setRootItem(new Utils::StaticTreeItem(QString()));
|
||||
for (const Check &check : sortedChecks)
|
||||
m_root->appendChild(new CheckItem(check));
|
||||
@@ -65,11 +67,11 @@ FilterDialog::FilterDialog(const Checks &checks, QWidget *parent)
|
||||
: QDialog(parent)
|
||||
{
|
||||
resize(400, 400);
|
||||
setWindowTitle(tr("Filter Diagnostics"));
|
||||
setWindowTitle(Tr::tr("Filter Diagnostics"));
|
||||
|
||||
auto selectAll = new QPushButton(tr("Select All"));
|
||||
auto selectWithFixits = new QPushButton(tr("Select All with Fixits"));
|
||||
auto selectNone = new QPushButton(tr("Clear Selection"));
|
||||
auto selectAll = new QPushButton(Tr::tr("Select All"));
|
||||
auto selectWithFixits = new QPushButton(Tr::tr("Select All with Fixits"));
|
||||
auto selectNone = new QPushButton(Tr::tr("Clear Selection"));
|
||||
|
||||
auto buttonBox = new QDialogButtonBox(QDialogButtonBox::Cancel|QDialogButtonBox::Ok);
|
||||
|
||||
@@ -87,7 +89,7 @@ FilterDialog::FilterDialog(const Checks &checks, QWidget *parent)
|
||||
using namespace Utils::Layouting;
|
||||
|
||||
Column {
|
||||
tr("Select the diagnostics to display."),
|
||||
Tr::tr("Select the diagnostics to display."),
|
||||
Row { selectAll, selectWithFixits, selectNone, st },
|
||||
m_view,
|
||||
buttonBox,
|
||||
|
@@ -4,6 +4,7 @@
|
||||
#include "runsettingswidget.h"
|
||||
|
||||
#include "clangtoolssettings.h"
|
||||
#include "clangtoolstr.h"
|
||||
#include "clangtoolsutils.h"
|
||||
#include "diagnosticconfigswidget.h"
|
||||
#include "executableinfo.h"
|
||||
@@ -31,9 +32,9 @@ RunSettingsWidget::RunSettingsWidget(QWidget *parent)
|
||||
|
||||
m_diagnosticWidget = new ClangDiagnosticConfigsSelectionWidget;
|
||||
|
||||
m_buildBeforeAnalysis = new QCheckBox(tr("Build the project before analysis"));
|
||||
m_buildBeforeAnalysis = new QCheckBox(Tr::tr("Build the project before analysis"));
|
||||
|
||||
m_analyzeOpenFiles = new QCheckBox(tr("Analyze open files"));
|
||||
m_analyzeOpenFiles = new QCheckBox(Tr::tr("Analyze open files"));
|
||||
|
||||
m_parallelJobsSpinBox = new QSpinBox;
|
||||
m_parallelJobsSpinBox->setRange(1, 32);
|
||||
@@ -43,12 +44,12 @@ RunSettingsWidget::RunSettingsWidget(QWidget *parent)
|
||||
// FIXME: Let RunSettingsWidget inherit from QGroupBox?
|
||||
Column {
|
||||
Group {
|
||||
title(tr("Run Options")),
|
||||
title(Tr::tr("Run Options")),
|
||||
Column {
|
||||
m_diagnosticWidget,
|
||||
m_buildBeforeAnalysis,
|
||||
m_analyzeOpenFiles,
|
||||
Row { tr("Parallel jobs:"), m_parallelJobsSpinBox, st },
|
||||
Row { Tr::tr("Parallel jobs:"), m_parallelJobsSpinBox, st },
|
||||
}
|
||||
}
|
||||
}.attachTo(this, WithoutMargins);
|
||||
|
@@ -4,6 +4,7 @@
|
||||
#include "settingswidget.h"
|
||||
|
||||
#include "clangtoolsconstants.h"
|
||||
#include "clangtoolstr.h"
|
||||
#include "clangtoolsutils.h"
|
||||
#include "runsettingswidget.h"
|
||||
|
||||
@@ -46,8 +47,8 @@ SettingsWidget::SettingsWidget()
|
||||
}
|
||||
PathChooser *pathChooser = new PathChooser;
|
||||
pathChooser->setExpectedKind(PathChooser::ExistingCommand);
|
||||
pathChooser->setPromptDialogTitle(tool == ClangToolType::Tidy ? tr("Clang-Tidy Executable")
|
||||
: tr("Clazy Executable"));
|
||||
pathChooser->setPromptDialogTitle(tool == ClangToolType::Tidy ? Tr::tr("Clang-Tidy Executable")
|
||||
: Tr::tr("Clazy Executable"));
|
||||
pathChooser->setDefaultValue(placeHolderText);
|
||||
pathChooser->setFilePath(path);
|
||||
pathChooser->setHistoryCompleter(tool == ClangToolType::Tidy
|
||||
@@ -65,10 +66,10 @@ SettingsWidget::SettingsWidget()
|
||||
|
||||
Column {
|
||||
Group {
|
||||
title(tr("Executables")),
|
||||
title(Tr::tr("Executables")),
|
||||
Form {
|
||||
tr("Clang-Tidy:"), m_clangTidyPathChooser, br,
|
||||
tr("Clazy-Standalone:"), m_clazyStandalonePathChooser
|
||||
Tr::tr("Clang-Tidy:"), m_clangTidyPathChooser, br,
|
||||
Tr::tr("Clazy-Standalone:"), m_clazyStandalonePathChooser
|
||||
}
|
||||
},
|
||||
m_runSettingsWidget,
|
||||
@@ -113,9 +114,7 @@ FilePath SettingsWidget::clazyStandalonePath() const
|
||||
ClangToolsOptionsPage::ClangToolsOptionsPage()
|
||||
{
|
||||
setId(Constants::SETTINGS_PAGE_ID);
|
||||
setDisplayName(QCoreApplication::translate(
|
||||
"ClangTools::Internal::ClangToolsOptionsPage",
|
||||
"Clang Tools"));
|
||||
setDisplayName(Tr::tr("Clang Tools"));
|
||||
setCategory("T.Analyzer");
|
||||
setDisplayCategory(QCoreApplication::translate("Analyzer", "Analyzer"));
|
||||
setCategoryIconPath(Analyzer::Icons::SETTINGSCATEGORY_ANALYZER);
|
||||
|
Reference in New Issue
Block a user