UNPKG

i18ntk

Version:

i18n Tool Kit - Zero-dependency internationalization toolkit for setup, scanning, analysis, validation, auto translation, fixing, reporting, and runtime translation loading.

725 lines 165 kB
{ "meta": { "version": "3.1.2", "updated": "07.05.2026" }, "common": { "welcome": "Willkommen", "hello": "Hallo", "goodbye": "Auf Wiedersehen", "yes": "Ja", "no": "NEIN", "save": "Speichern", "cancel": "Stornieren", "delete": "Löschen", "edit": "Bearbeiten", "loading": "Laden...", "offlineTitle": "Du bist offline", "offlineMessage": "Bitte überprüfen Sie Ihre Internetverbindung", "tryReconnect": "Versuchen Sie, die Verbindung wiederherzustellen", "logout": "Abmelden", "login": "Login", "amount": "Menge", "success": "Erfolg", "error": "Fehler", "warning": "Warnung", "info": "Info:", "debug": "Debuggen", "progress": "Fortschritt:", "remaining": "Übrig:", "total": "Gesamt:", "completed": "7. Erfolgreich abgeschlossen!", "missing": "Fehlen", "partial": "Teilweise", "sameAsSource": "Gleich wie Quelle:", "formatMismatch": "Formatkonflikt:", "typeMismatch": "Typkonflikt:", "structureMismatch": "Strukturinkongruenz:", "invalidOption": "Ungültige Option", "separator": "===============================================", "initializationFailed": "❌ Initialisierung fehlgeschlagen: {error}", "stackTrace": "Stacktrace: {stack}", "pressEnterToContinue": "Drücken Sie die Eingabetaste, um fortzufahren...", "pressEnterToReturn": "Drücken Sie die Eingabetaste, um zum Hauptmenü zurückzukehren...", "stepCompleted": "Schritt '{stepName}' vollendet.", "stepFailed": "Schritt '{stepName}' fehlgeschlagen.", "runningStep": "Laufschritt: {stepName}", "command": "Befehl: {command}", "startingWorkflow": "Workflow wird gestartet...", "workflowCompleted": "Workflow abgeschlossen.", "checkReports": "Weitere Informationen finden Sie in den Berichten.", "errorExecutingCommand": "Fehler beim Ausführen des Befehls: {error}", "genericError": "❌ Fehler: {error}", "errors": { "errors": "Fehler:", "genericError": "❌ Fehler: {error}", "initializationFailed": "❌ Initialisierung fehlgeschlagen: {error}", "initializationCancelled": "❌ Initialisierung vom Benutzer abgebrochen.", "translationKeyNotFound": "Übersetzungsschlüssel nicht gefunden: {key}", "sourceDirectoryNotFound": "Quellverzeichnis nicht gefunden: {directory}", "configLoadingFailed": "Das Laden der Konfiguration ist fehlgeschlagen", "invalidSourceDirectory": "Ungültiges Quellverzeichnis: {directory}", "securityViolation": "Sicherheitsverletzung festgestellt", "authenticationFailed": "Die Authentifizierung ist fehlgeschlagen", "sourceEqualsI18nWarn": "⚠️ sourceDir entspricht i18nDir ({sourceDir}). Zurückfallen auf {fallback} zum Scannen von Quellen." }, "errorGeneratingStatusSummary": "Fehler beim Generieren der Statuszusammenfassung: {error}", "errorRunningDebugTool": "Fehler beim Ausführen des Debug-Tools '{displayName}': {error}", "errorReadingDebugLogs": "Fehler beim Lesen der Debug-Protokolle: {error}", "errorAnalyzingLogFile": "Fehler beim Analysieren der Protokolldatei: {error}", "errorAnalyzingTranslationKeys": "Fehler bei der Analyse der Übersetzungsschlüssel: {error}", "errorAnalyzingTranslationCompleteness": "Fehler bei der Analyse der Vollständigkeit der Übersetzung: {error}", "analyzingTranslationCompleteness": "Analyse der Vollständigkeit der Übersetzung in allen Sprachen ...", "i18nDirectoryNotFound": "⚠️ i18n-Verzeichnis nicht gefunden: {i18nDir}", "translationCompletenessAnalysisFailed": "⚠️ Die Vollständigkeitsanalyse der Übersetzung ist fehlgeschlagen: {error}", "failedToAnalyzeLanguage": "❌ Die Sprache konnte nicht analysiert werden {language}: {error}", "errorReadingI18nDirectory": "❌ Fehler beim Lesen des i18n-Verzeichnisses:", "languageCompletenessTitle": "📈 VOLLSTÄNDIGKEIT DER ÜBERSETZUNG NACH SPRACHE", "errorAnalyzingTranslationFormat": "Fehler beim Analysieren des Übersetzungsformats: {error}", "errorAnalyzingTranslationType": "Fehler beim Analysieren des Übersetzungstyps: {error}", "errorAnalyzingTranslationStructure": "Fehler bei der Analyse der Übersetzungsstruktur: {error}", "errorAnalyzingTranslationFormatMismatch": "Fehler bei der Analyse der Nichtübereinstimmung des Übersetzungsformats: {error}", "errorAnalyzingTranslationTypeMismatch": "Fehler bei der Analyse der Nichtübereinstimmung des Übersetzungstyps: {error}", "errorAnalyzingTranslationStructureMismatch": "Fehler bei der Analyse der Nichtübereinstimmung der Übersetzungsstruktur: {error}", "errorAnalyzingTranslationSameAsSource": "Fehler bei der Analyse der mit der Quelle identischen Übersetzung: {error}", "title": "Status", "nextStep1": "1. Nutzungsanalyse prüfen:", "nextStep2": "2. Übersetzungen validieren:", "nextStep3": "3. Vollständigkeit analysieren:", "nextStep4": "4. Vervollständigen Sie fehlende Übersetzungen:", "nextStep5": "5. Zusammenfassenden Bericht erstellen:", "nextStep6": "6. Übersetzungen überprüfen und abschließen:", "generating": "Zusammenfassender Bericht wird erstellt...", "review": "Übersetzungen überprüfen...", "finalizing": "Finalisierung der Übersetzungen...", "finalized": "Erfolgreich abgeschlossen!", "warnings": "Warnungen:", "completedKeys": "Ausgefüllte Schlüssel:", "missingKeys": "Fehlende Schlüssel:", "partialKeys": "Teilschlüssel:", "home": "Heim", "settings": "Einstellungen", "startingSettings": "🎛️ Einstellungs-CLI starten...", "confirm": "Bestätigen", "errorExiting": "Fehler beim Beenden." }, "errors": { "invalidOption": "❌ Ungültige Option: {option}. Bitte versuchen Sie es erneut.", "readlineClosed": "Der Eingabestream ist geschlossen; läuft im nicht-interaktiven Modus.", "noPackageJson": "Keine package.json gefunden. Das i18n-Framework kann nicht automatisch erkannt werden.", "noI18nDir": "Im Projektstammverzeichnis wurde kein i18n-Verzeichnis gefunden.", "noI18nConfig": "Im Projektstammverzeichnis wurde keine i18n-Konfigurationsdatei gefunden.", "errorReadingDebugLogs": "Fehler beim Lesen der Debug-Protokolle: {error}" }, "scanner": { "help_message": "Verwendung des I18n-Textscanners: Knoten i18ntk-scanner.js [Optionen] Optionen: --source-dir <dir> Zu scannendes Quellverzeichnis (Standard: ./src) --output <file> Ausgabedatei für Scanergebnisse (Standard: ./i18ntk-scanner-report.json) --framework <name> Framework zum Zielen (React, Vue, Angular, Vanilla) --patterns <patterns> Benutzerdefinierte Regex-Muster (durch Kommas getrennt) --include-tests Testdateien in den Scan einbeziehen --exclude-dirs <dirs> Auszuschließende Verzeichnisse (durch Kommas getrennt) --help Diese Hilfe anzeigen Beispiele: node i18ntk-scanner.js --source-dir=./src --framework=react node i18ntk-scanner.js --patterns 'console.log\\((.*?)\\)' --include-tests node i18ntk-scanner.js --output=./scan-results.json", "help_options": { "source_dir": "Quellverzeichnis zum Scannen nach i18n-Problemen", "output_dir": "Verzeichnis für Scanberichte und Ergebnisse", "framework": "Ziel-Framework (React, Vue, Angular, Vanilla)", "patterns": "Benutzerdefinierte Regex-Muster zur Texterkennung", "exclude": "Dateimuster, die vom Scan ausgeschlossen werden sollen", "output_report": "Erstellen Sie einen detaillierten Scanbericht", "min_length": "Mindesttextlänge, die bei der Übersetzung berücksichtigt werden muss", "max_length": "Maximale Textlänge, die bei der Übersetzung berücksichtigt werden soll", "include_tests": "Beziehen Sie Testdateien in den Scanvorgang ein" }, "starting": "🔍 Textscanner für Framework starten: {framework}", "sourceDirectory": "📁 Verzeichnis scannen: {sourceDir}", "frameworkDetected": "🎯 Erkanntes Framework: {framework}", "scanningFiles": "📊 Scannen {fileCount} Dateien...", "foundTexts": "📝 Gefunden {textCount} Texte, die übersetzt werden müssen", "generatingReport": "📊 Detaillierten Bericht erstellen...", "reportSaved": "💾 Scanbericht gespeichert unter: {reportPath}", "noTextsFound": "✅ Keine fest codierten englischen Texte gefunden", "scanComplete": "🎉 Scan erfolgreich abgeschlossen!", "analysisTitle": "🔍 ÜBERSETZUNGS-SCAN-ANALYSE", "fileSummary": "📄 {file}: {count} Texte gefunden", "textLocation": "📍Linie {line}: {text}", "foundText": "Gefunden {count} mögliche hartcodierte Textinstanzen", "context": "📝 Kontext: {context}", "severity": "⚠️ Schweregrad: {severity}", "recommendation": "💡 Empfehlung: {recommendation}", "welcome": { "title": "🎯 Willkommen beim Textscanner!", "description": "Dieses Tool durchsucht Ihren Quellcode nach hartcodiertem englischen Text, der möglicherweise übersetzt werden muss." }, "frameworkPrompt": { "title": "🎯 Wählen Sie Framework aus", "available": "Verfügbare Frameworks: React, Vue, Angular, Vanilla", "description": "Geben Sie den Framework-Typ ein (oder drücken Sie die Eingabetaste für die automatische Erkennung):", "input": "Rahmen:" }, "directoryPrompt": { "title": "📁 Wählen Sie das Quellverzeichnis", "current": "Aktuelles Verzeichnis: {dir}", "description": "Geben Sie das zu scannende Verzeichnis ein (oder drücken Sie die Eingabetaste, um das aktuelle Verzeichnis anzuzeigen):", "input": "Verzeichnis:" }, "options": { "includeTests": "Testdateien einbinden?", "excludeDirs": "Auszuschließende Verzeichnisse (durch Kommas getrennt):", "customPatterns": "Benutzerdefinierte Muster, nach denen gesucht werden soll (Regex):" }, "reportGenerated": "Scanbericht generiert: {path}" }, "fixer": { "help_message": "Verwendung des I18n-Übersetzungsfixers: node i18ntk-fixer.js [Optionen] Optionen: --source-dir <dir> Zu scannendes Quellverzeichnis (Standard: ./locales) --Sprachen <langs> Durch Kommas getrennte Liste der zu reparierenden Sprachen --markers <markers> Durch Kommas getrennte Markierungen, die als nicht übersetzt behandelt werden sollen --no-backup Automatische Backup-Erstellung überspringen --help Diese Hilfe anzeigen Beispiele: node i18ntk-fixer.js --sprachen de,fr node i18ntk-fixer.js --source-dir=./locales --markers NOT_TRANSLATED node i18ntk-fixer.js --no-backup", "starting": "🚀 Übersetzungskorrektur für Sprachen starten: {languages}", "sourceDirectory": "📁 Quellverzeichnis: {sourceDir}", "sourceLanguage": "🔤 Quellsprache: {sourceLanguage}", "markers": "🏷️ Zu reparierende Markierungen: {markers}", "scanningLanguage": "📊 Scannen {language}...", "noLanguages": "❌ Keine Sprachen zur Behebung angegeben.", "allComplete": "🎉 Alle Übersetzungen sind bereits fertig!", "fullReportSaved": "📊 Vollständiger Bericht gespeichert unter: {reportPath}", "reviewReport": "Bitte lesen Sie den Bericht, bevor Sie fortfahren.", "backupCreated": "💾 Backup erfolgreich erstellt.", "applyingFixes": "🔄 Korrekturen anwenden...", "fixingComplete": "✅ Übersetzungskorrektur abgeschlossen!", "operationCancelled": "❌ Vorgang vom Benutzer abgebrochen.", "analysisTitle": "🔍 ÜBERSETZUNGSBEHEBUNGSANALYSE", "analysisSeparator": "===============================================", "totalIssues": "Insgesamt gefundene Probleme: {totalIssues}", "missingTranslations": "Fehlende Übersetzungen: {missing}", "placeholderTranslations": "Platzhalterübersetzungen: {placeholder}", "noIssues": "✅ Keine Probleme gefunden. Alle Übersetzungen sind vollständig.", "detailedIssues": "📋 DETAILLIERTE PROBLEME:", "detailedSeparator": "--------------------------------------------------", "filePath": "📄 {file} → {path}", "missingKey": "❌ FEHLT: {source} → {new}", "placeholderKey": "⚠️ PLATZHALTER: „{target}\" → \"{new}\"", "moreIssues": "... Und {count} weitere Probleme. Vollständige Details finden Sie in der Berichtsdatei.", "confirmationTitle": "🤔 Möchten Sie mit diesen Korrekturen fortfahren?", "confirmationOptions": "Optionen:", "optionYes": "y – Ja, alle Korrekturen anwenden", "optionNo": "n – Nein, Vorgang abbrechen", "optionShow": "s – Detaillierte Probleme anzeigen", "choicePrompt": "Ihre Wahl (j/n/s):", "nonInteractiveMode": "⚡ Nicht-interaktiver Modus erkannt – Korrekturen automatisch anwenden ...", "reportGenerated": "📊 Fixer-Bericht erstellt: {path}", "summary": "Fixer-Zusammenfassung:", "welcome": { "title": "🎯 Willkommen beim Translation Fixer!", "description": "Dieses Tool hilft Ihnen, fehlerhafte Übersetzungen und Platzhalter in Ihren Gebietsschemadateien zu reparieren." }, "markerPrompt": { "title": "🏷️ Konfigurieren Sie Platzhaltermarkierungen", "description": "Geben Sie die Markierungen ein, die auf nicht übersetzten Text hinweisen (durch Kommas getrennt):", "currentDefaults": "Standardmarkierungen: {markers}", "input": "Markierungen (oder drücken Sie die Eingabetaste für Standardeinstellungen):" }, "languagePrompt": { "title": "🌍 Wählen Sie die zu reparierenden Sprachen aus", "available": "Verfügbare Sprachen: {languages}", "description": "Geben Sie die zu korrigierenden Sprachen ein (durch Kommas getrennt) oder drücken Sie die Eingabetaste für alle:", "input": "Sprachen:", "noLanguages": "Es wurden keine Sprachen zum Korrigieren gefunden." }, "directoryPrompt": { "title": "📁 Verzeichnis auswählen", "current": "Aktuelles Verzeichnis: {dir}", "description": "Geben Sie das Verzeichnis ein, das Ihre Gebietsschemadateien enthält (oder drücken Sie die Eingabetaste, um die aktuelle Datei anzuzeigen):", "input": "Verzeichnis:" }, "backupLocation": "Backup-Speicherort: {dir}", "completed": "Reparatur abgeschlossen.", "creatingBackup": "Backup erstellen in {dir}...", "dryRunMode": "Trockenlaufmodus: {mode}", "error": "Fixer fehlgeschlagen: {error}", "fixing": "Festsetzung {language}...", "foundLanguages": "Gefunden {count} Sprachen: {languages}", "languageFixed": "{language}: behoben {fixed} Taste(n), übersprungen {skipped}.", "running": "Übersetzungsfixer wird ausgeführt...", "totalFixed": "Gesamtfest: {count}" }, "autorun": { "stepAnalyzeTranslations": "Übersetzungen analysieren", "stepCompletedWithIcon": "✅ Abgeschlossen: {stepName}", "stepValidateTranslations": "Übersetzungen validieren", "stepRunning": "▶️ Schritt {stepNumber}/{totalSteps}: {stepName}", "separator": "===============================================", "stepFailed": "❌ Fehlgeschlagen: {stepName}", "errorLabel": "Fehler", "autoRunScriptTitle": "🧪 Auto-Run-Workflow", "usageTitle": "Verwendung", "runAllSteps": "Führen Sie Folgendes aus: Knoten i18ntk-autorun.js", "configureSettingsFirst": "Konfiguration: i18ntk-config.json oder CLI-Flags", "runSpecificSteps": "Verwenden Sie --steps=1,3 oder --list, um Schritte anzuzeigen", "showHelp": "--help für weitere Informationen", "examplesTitle": "Beispiele", "configExample": "Knoten i18ntk-autorun.js --ui-sprache=zh", "stepsExample1": "Knoten i18ntk-autorun.js --steps=analyze,validate", "stepsExample2": "Knoten i18ntk-autorun.js --list", "customSettingsConfiguration": "Benutzerdefinierte Autorun-Einstellungen", "availableSteps": "Verfügbare Schritte", "startingAutoRunWorkflow": "🚀 Autorun-Workflow starten...", "workflowIncludesSteps": "Der Workflow umfasst {count} Schritte:", "missingRequiredFile": "Fehlende erforderliche Datei: {file}", "workflowStopped": "Der Workflow wurde aufgrund eines Fehlers gestoppt.", "workflowCompleted": "🎉Arbeitsablauf abgeschlossen!", "successfulSteps": "Erfolgreiche Schritte: {count}", "failedSteps": "Fehlgeschlagene Schritte: {count}", "stepInitializeProject": "Projekt initialisieren", "stepCheckUsage": "Überprüfen Sie die Schlüsselverwendung", "stepGenerateSummary": "Zusammenfassenden Bericht erstellen", "runInitializationFirst": "Bitte führen Sie zuerst die Initialisierung durch.", "initializationCheckPassed": "Initialisierungsprüfung bestanden.", "runningStep": "Laufschritt: {stepName}", "commandLabel": "Befehl: {command}", "stepCompletedWithTime": "Schritt '{stepName}' abgeschlossen in {duration}MS.", "stepCompleted": "Schritt '{stepName}' vollendet.", "stepFailedWithError": "Schritt '{stepName}' ist mit folgendem Fehler fehlgeschlagen: {error}", "requiredStepFailed": "Der erforderliche Schritt ist fehlgeschlagen. Stoppen des Workflows.", "optionalStepFailed": "Der optionale Schritt ist fehlgeschlagen. Fortsetzung des Arbeitsablaufs.", "stepRequired": "(Erforderlich)", "stepOptional": "(Optional)", "startingExecution": "Ausführung beginnt...", "pressEnterToContinue": "Drücken Sie die Eingabetaste, um fortzufahren...", "runningSelectedSteps": "Ausgewählte Schritte ausführen...", "invalidStepNumber": "Ungültige Schrittnummer: {stepNum}", "executionReport": "Ausführungsbericht:", "requiredFailedSteps": "Erforderliche Schritte fehlgeschlagen: {count}", "stepDetails": "Schrittdetails:", "reportSavedTo": "Bericht gespeichert unter: {path}", "overallStatusSuccess": "ERFOLG", "overallStatusFailed": "FEHLGESCHLAGEN", "overallStatus": "Gesamtstatus: {status}", "pressEnterForDefaults": "Drücken Sie die Eingabetaste, um die Standardeinstellungen für jede Eingabeaufforderung zu verwenden.", "sourceDirPrompt": "Geben Sie das Quellverzeichnis ein (Standard: {default}):", "sourceLangPrompt": "Quellsprache eingeben (Standard: {default}):", "targetLangsPrompt": "Geben Sie Zielsprachen ein (durch Kommas getrennt, Standard: {default}):", "translationMarkerPrompt": "Übersetzungsmarkierung eingeben (Standard: {default}):", "outputDirPrompt": "Geben Sie das Ausgabeverzeichnis für Berichte ein (Standard: {default}):", "settingsUpdatedSuccessfully": "Einstellungen erfolgreich aktualisiert!", "errorConfiguringSettings": "Fehler beim Konfigurieren der Einstellungen: {error}", "configurationComplete": "Konfiguration abgeschlossen.", "runAutoRunCommand": "Jetzt können Sie den Autorun-Befehl ausführen.", "configurationFailed": "Konfiguration fehlgeschlagen: {error}", "noValidStepNumbers": "Keine gültigen Schrittnummern angegeben.", "autoRunFailed": "Autorun fehlgeschlagen: {error}", "stepCompleteTranslations": "Vollständige Übersetzungen", "stepAnalyzeSizing": "Analysieren Sie die Größe", "stepCompletedIcon": "✅", "stepRunningWithNumber": "[{stepNumber}/{totalSteps}] Schritt '{stepName}' läuft...", "stepFailedIcon": "❌", "translationLoadWarning": "Warnung: Konnte nicht geladen werden {lang} Übersetzungen", "configReadError": "Fehler beim Lesen {file}" }, "analyze": { "help_message": "Verwendung des I18n-Übersetzungsanalysators: Knoten i18ntk-analyze.js [Optionen] Optionen: --source-dir <dir> Zu scannendes Quellverzeichnis (Standard: ./src) --i18n-dir <dir> I18n-Verzeichnis (Standard: ./src/locales) --output-report Detaillierten Bericht erstellen --output-dir <dir> Ausgabeverzeichnis für Berichte (Standard: ./reports) --help Diese Hilfe anzeigen Beispiele: node i18ntk-analyze.js --output-report node i18ntk-analyze.js --source-dir=./app --i18n-dir=./locales node i18ntk-analyze.js --output-dir=./analysis --output-report", "source_directory": "📁 Quellverzeichnis: {sourceDir}", "i18n_directory": "🌐 I18n-Verzeichnis: {i18nDir}", "loading_translation_files": "📋 Übersetzungsdateien werden geladen...", "sourceDirectoryLabel": "📁 Quellverzeichnis: {sourceDir}", "sourceLanguageLabel": "🌍 Ausgangssprache: {sourceLanguage}", "strictModeLabel": "⚙️ Strenger Modus: {mode}", "found_translation_files_count": "✅ Gefunden {count} Übersetzungsdateien", "analyzing_translations": "🔍 Übersetzungen analysieren...", "analysis_completed_successfully": "🎉 Analyse erfolgreich abgeschlossen!", "analysis_results": "📊 ANALYSE-ERGEBNISSE", "language_analysis_stats": "{language}: {translatedKeys}/{totalKeys} ({percentage}% übersetzt)", "sample_missing_keys": "Beispiel für fehlende Schlüssel:", "missing_key": "- {key}", "and_more_missing": "...Und {count} mehr.", "sample_unused_keys": "Beispiel für unbenutzte Schlüssel:", "unused_key": "- {key}", "and_more_unused": "...Und {count} mehr.", "recommendations": "📋 EMPFEHLUNGEN", "add_missing_translations": "💡 Fügen Sie fehlende Übersetzungen hinzu, um die Abdeckung zu verbessern.", "remove_unused_translations": "💡 Entfernen Sie nicht verwendete Übersetzungen, um Ihr Projekt sauber zu halten.", "next_steps": "📋 NÄCHSTE SCHRITTE", "review_analysis_results": "1. Überprüfen Sie die Analyseergebnisse in der Konsole oder im generierten Bericht.", "run_with_output_report": "2. Führen Sie „--output-report“ aus, um einen detaillierten Bericht zu erhalten.", "add_or_remove_translations": "3. Fügen Sie fehlende Übersetzungen hinzu oder entfernen Sie nicht verwendete.", "rerun_analysis": "4. Führen Sie die Analyse erneut durch, um Verbesserungen zu überprüfen.", "analysis_summary": "📊 ANALYSE-ZUSAMMENFASSUNG", "source_files_scanned": "Gescannte Quelldateien: {fileCount}", "translation_files_checked": "Überprüfte Übersetzungsdateien: {translationFileCount}", "total_keys": "Gesamtschlüssel: {totalKeys}", "translated_keys": "Übersetzte Schlüssel: {translatedKeys}", "missing_keys": "Fehlende Schlüssel: {missingKeys}", "unused_keys": "Unbenutzte Schlüssel: {unusedKeys}", "translation_coverage": "Übersetzungsumfang: {coverage}%", "analysis_passed_for_language": "✅ Analyse bestanden {language}", "analysis_failed_for_language": "❌ Analyse fehlgeschlagen für {language} ({missingKeys} fehlen, {unusedKeys} unbenutzt)", "starting": "🔍 Übersetzungsanalyse starten...", "foundLanguages": "📋 Gefunden {count} Zu analysierende Sprachen: {languages}", "analyzing": "🔄 Analysieren {language}...", "reportTitle": "📊 ÜBERSETZUNGSANALYSEBERICHT", "generated": "Erstellt: {timestamp}", "status": "Status: {translated}/{total} Schlüssel ({percentage}% übersetzt)", "filesAnalyzed": "Analysierte Dateien: {analyzed}/{total}", "keysNeedingTranslation": "Schlüssel, die übersetzt werden müssen: {count}", "fileBreakdown": "📋 DATEIAUFTEILUNG", "error": "Fehler", "completed": "✅ Analyse abgeschlossen für {language}", "progress": "📊 Gesamtfortschritt: {translated}/{total} Sprachen verarbeitet", "reportSaved": "Bericht gespeichert: {reportPath}", "summary": "📊 ANALYSE-ZUSAMMENFASSUNG", "finished": "✅ Analyse erfolgreich abgeschlossen!", "statusFileMissing": "❌ Übersetzungsdatei fehlt", "sourceKeys": "📊 Quellschlüssel: {count}", "translation": "📊 Übersetzung: {translated}/{total} ({percentage}%)", "structure": "🗂️ Struktur: {status}", "consistent": "Konsistent", "inconsistent": "Inkonsistent", "missingKeys": "Fehlende Schlüssel: {count}", "extraKeys": "Zusätzliche Schlüssel: {count}", "issues": "⚠️ Gefundene Probleme: {count}", "issueType": { "not_translated": "Nicht übersetzt: {count}", "empty_value": "Leere Werte: {count}", "partial_translation": "Teilübersetzungen: {count}", "format_mismatch": "Formatkonflikte: {count}", "type_mismatch": "Typkonflikte: {count}", "structure_mismatch": "Strukturinkongruenzen: {count}", "same_as_source": "Gleich wie Quelle: {count}" }, "keysToTranslate": "📋 SCHLÜSSEL ZUM ÜBERSETZEN", "key": "Schlüssel", "english": "Englisch", "needsTranslation": "BRAUCHT ÜBERSETZUNG", "andMoreKeys": "...Und {count} mehr Schlüssel.", "noLanguages": "⚠️ Keine Zielsprachen gefunden.", "languageStats": "{language}: {percentage}% vollständig ({translated}/{total} Schlüssel)", "invalidReportFilePath": "Ungültiger Berichtsdateipfad", "failedToWriteReportFile": "Fehler beim sicheren Schreiben der Berichtsdatei" }, "complete": { "configLoadedSuccessfully": "Konfiguration erfolgreich geladen", "configLoadingFailed": "Das Laden der Konfiguration ist fehlgeschlagen", "sourceLanguageNotFound": "Quellsprachenverzeichnis nicht gefunden: {sourceLanguage}", "couldNotParseTarget": "Zieldatei konnte nicht geparst werden: {file}", "couldNotParseSource": "Quelldatei konnte nicht geparst werden: {file}", "reportGenerated": "Bericht erstellt: {path}", "generateReportPrompt": "Möchten Sie einen Bericht erstellen?", "title": "🌍 ABSCHLUSS DER I18NTK-ÜBERSETZUNG", "separator": "=========================================================", "sourceDir": "📁 Quellverzeichnis: {sourceDir}", "sourceLanguage": "🌐 Ausgangssprache: {sourceLanguage}", "dryRunMode": "🧪 Trockenlaufmodus – es werden keine Änderungen vorgenommen", "languages": "🌍 Verfügbare Sprachen: {languages}", "addingMissingKeys": "➕ Fehlende Schlüssel zu Übersetzungsdateien hinzufügen...", "processing": "🔄Verarbeitung {language}...", "addedKeys": "✅ Hinzugefügt {count} fehlende Schlüssel", "noChangesNeeded": "✅ Keine Änderungen erforderlich für {language}", "summaryTitle": "📊 ABSCHLUSSZUSAMMENFASSUNG", "totalChanges": "📝 Gesamtänderungen: {totalChanges}", "languagesProcessed": "🌍 Verarbeitete Sprachen: {languagesProcessed}", "missingKeysAdded": "➕ Fehlende Schlüssel hinzugefügt: {missingKeysAdded}", "nextStepsTitle": "📋 NÄCHSTE SCHRITTE", "nextStep1": "1. Führen Sie eine Nutzungsanalyse durch:", "nextStep2": "Knoten i18ntk-usage.js --output-report", "nextStep3": "2. Übersetzungen validieren:", "nextStep4": "Knoten i18ntk-validate.js", "nextStep5": "3. Muster analysieren:", "nextStep6": "Knoten i18ntk-analyze.js", "allKeysAvailable": "🎉 Alle Übersetzungsschlüssel sind jetzt verfügbar!", "runWithoutDryRun": "💡 Ohne --dry-run ausführen, um Änderungen zu übernehmen", "deletingOldReport": "🗑️Alten Bericht löschen...", "generatingFreshAnalysis": "📊 Generieren neuer Nutzungsanalysen ...", "couldNotGenerate": "❌ Die Nutzungsanalyse konnte nicht erstellt werden", "reportNotFound": "📋 Nutzungsbericht nicht gefunden. Gemeinsame Schlüssel verwenden...", "foundMissingKeys": "📋 Gefunden {count} Fehlende Schlüssel aus der Nutzungsanalyse", "couldNotParse": "❌ Nutzungsbericht konnte nicht analysiert werden. Gemeinsame Schlüssel verwenden...", "errorDuringCompletion": "❌ Fehler beim Abschluss: {error}", "fatalError": "❌ Schwerwiegender Fehler: {error}", "configurationValidationFailed": "Konfigurationsvalidierung fehlgeschlagen: Erforderliche Felder fehlen" }, "sizing": { "separator": "===========================================================================", "lineSeparator": "---------------------------------------------------------------------------------", "analysisStats": "{stats}", "sourceDirectoryLabel": "📁 Quellverzeichnis: {sourceDir}", "sourceLanguageLabel": "🌍 Ausgangssprache: {sourceLanguage}", "strictModeLabel": "⚙️ Strenger Modus: {mode}", "invalidSourceDirectoryError": "Ungültiger Quellverzeichnispfad: {sourceDir}", "sourceDirectoryNotFoundError": "Quellverzeichnis nicht gefunden: {sourceDir}", "invalidOutputDirectoryError": "Ungültiger Pfad zum Ausgabeverzeichnis: {outputDir}", "invalidReportFileError": "Ungültiger Berichtsdateipfad", "problematic_keys": "Problematische Schlüssel: {problematicKeys}", "problematicKeysLabel": "Problematische Schlüssel: {problematicKeys}", "long_translations": "Lange Übersetzungen: {longTranslations}", "failedToSaveReportError": "Der Bericht konnte nicht sicher gespeichert werden", "invalidCsvFileError": "Ungültiger CSV-Dateipfad", "failedToSaveCsvError": "Der CSV-Bericht konnte nicht sicher gespeichert werden", "fatalError": "❌ Größenanalyse fehlgeschlagen: {error}", "starting_i18n_sizing_analysis": "i18n-Größenanalyse wird gestartet...", "source_directory": "Quellverzeichnis: {sourceDir}", "found_languages": "Gefundene Sprachen: {languages}", "analyzing_file_sizes": "Dateigrößen werden analysiert...", "analyzing_translation_content": "Übersetzungsinhalte werden analysiert...", "generating_size_comparisons": "Größenvergleiche werden erstellt...", "no_languages_found_for_comparison": "Keine Sprachen zum Vergleich gefunden", "sizing_analysis_results": "Ergebnisse der I18n-Größenanalyse", "file_sizes_title": "Dateigrößen", "file_sizes_header": "Sprachgröße (KB) Zeilen Zeichen", "file_size_row": "{lang} {sizeKB} {lines} {characters}", "language_statistics_title": "Sprachstatistik", "language_stats_header": "Sprachtasten Zeichen Durchschnittliche Länge Maximale Länge Leer Lang", "language_stats_row": "{lang} {totalKeys} {totalCharacters} {averageKeyLength} {maxKeyLength} {emptyKeys} {longKeys}", "size_variations_title": "Größenvariationen", "size_variations_header": "Sprachzeichenunterschied % Unterschied Problematisch", "size_variation_row": "{lang} {characterDifference} {percentageDifference}% {problematic}", "problematic_yes": "Ja", "problematic_no": "NEIN", "recommendations_title": "Empfehlungen", "recommendation_item": "{index}. {recommendation}", "problematic_key_detail": "{index}. Schlüssel: '{key}' - Variationen: {variations}", "generating_detailed_report": "Detaillierter Bericht wird erstellt...", "keysHaveSignificantSizeVariations": "Schlüssel weisen erhebliche Größenunterschiede auf", "longTranslationsDetected": "${lang} hat ${data.longKeys}-Übersetzungen, die länger als 100 Zeichen sind – erwägen Sie, sie aufzuschlüsseln", "longer": "länger", "shorter": "kürzer", "review_translations": "Erwägen Sie eine Überprüfung {lang} Übersetzungen - das sind sie {percentageDifference}% {comparison} als die Grundlinie", "report_saved_to": "Bericht gespeichert unter: {reportPath}", "considerReviewingTranslations": "Erwägen Sie eine Überprüfung ${lang} Übersetzungen – sie sind ${data.percentageDifference}% länger als die Grundlinie", "csv_report_saved_to": "CSV-Bericht gespeichert unter: {csvPath}", "human_report_saved": "Lesbarer Bericht gespeichert: {reportPath}", "folder_summary_title": "Ordnerübersicht", "folder_summary_table_header": "Sprachgröße (KB) Schlüssel Durchschn. Länge Gesamtzeichen", "folder_summary_row": "{lang} {sizeKB} {totalKeys} {avgLength} {totalChars}", "language_comparison_title": "Sprachvergleich", "language_comparison_row": "{lang}: {diff} Zeichen ({percent}%) {status}", "summary_stats": "📊 Zusammenfassung: {totalLanguages} Sprachen, {totalKeys} Schlüssel – Berichte gespeichert unter {reportPath}", "detailedKeysDescription": "Zeigen Sie eine detaillierte Analyse auf Schlüsselebene in der Konsole an", "too_many_keys_warning": "⚠️ Zu viele Tasten, um in der Konsole angezeigt zu werden – überprüfen Sie die detaillierte Berichtsdatei für eine vollständige Analyse", "no_translation_files_found": "Keine Übersetzungsdateien gefunden", "analysis_completed": "Analyse abgeschlossen in {duration}MS", "analysis_failed": "Analyse fehlgeschlagen: {errorMessage}", "starting_analysis": "Analyse wird gestartet...", "found_files": "Gefunden {count} Dateien", "failed_to_parse_language_error": "Fehler beim Parsen {language} Übersetzungen: {errorMessage}", "recommendations": { "keys_have_significant_size_variations": "Schlüssel weisen erhebliche Größenunterschiede auf", "consider_reviewing_translations": "Erwägen Sie eine Überprüfung {lang} Übersetzungen - das sind sie {percentageDifference}% {comparison} als die Grundlinie", "long_translations_detected": "{lang} hat {longKeys} Übersetzungen länger als {threshold} Charaktere – erwägen Sie, sie aufzuschlüsseln" }, "detailed_key_analysis_title": "Detaillierte Schlüsselanalyse", "key_analysis_detail": "{lang}: {length} Zeichen ({status}) - {translation}", "key_analysis_header": "Schlüssel: {key}", "status_empty": "leer", "status_long": "lang", "status_ok": "OK" }, "usage": { "help_message": "Verwendung des I18n-Nutzungsanalysators: Knoten i18ntk-usage.js [Optionen] Optionen: --source-dir <dir> Zu scannendes Quellverzeichnis (Standard: ./src) --i18n-dir <dir> I18n-Verzeichnis (Standard: ./src/locales) --output-report Detaillierten Bericht erstellen --output-dir <dir> Ausgabeverzeichnis für Berichte (Standard: ./reports) --help Diese Hilfe anzeigen Beispiele: node i18ntk-usage.js --output-report node i18ntk-usage.js --source-dir=./app --i18n-dir=./locales node i18ntk-usage.js --output-dir=./analysis --output-report", "source_directory_thissourcedir": "📁 Quellverzeichnis: {sourceDir}", "translationCompletenessTitle": "🌍 Vollständigkeit der Übersetzung:", "i18n_directory_thisi18ndir": "🌐 I18n-Verzeichnis: {i18nDir}", "failed_to_parse_filename_error": "⚠️ Fehler beim Parsen {fileName}: {errorMessage}", "analyzing_source_files": "🔍 Quelldateien analysieren...", "found_files_in_source": "📂 Gefunden {numFiles} Dateien im Quellverzeichnis", "found_thisusedkeyssize_unique_": "🎯 Gefunden {usedKeysSize} einzigartige gebrauchte Schlüssel", "total_key_usages_totalkeysfoun": "📊 Schlüsselverwendungen insgesamt: {totalKeysFound}", "loading_available_translation_": "📋 Verfügbare Übersetzungsschlüssel werden geladen...", "found_thisavailablekeyssize_av": "✅ Gefunden {availableKeysSize} verfügbare Schlüssel", "foundTranslationFiles": "✅ Gefunden {count} Übersetzungsdateien", "errorReadingI18nDirectory": "⚠️ Fehler beim Lesen des i18n-Verzeichnisses: {error}", "pressEnterToReturnToMenu": "📝 Drücken Sie die Eingabetaste, um zum Hauptmenü zurückzukehren...", "notTranslatedKeysTotal": "⚠️ Nicht übersetzte Schlüssel: {total}", "noSourceFilesFound": "⚠️ Keine Quelldateien im Quellverzeichnis gefunden.", "reviewNotTranslatedKeys": "💡 Überprüfen Sie nicht übersetzte Schlüssel", "analysisCompletedSuccessfully": "🎉 Analyse erfolgreich abgeschlossen!", "detectedSourceDirectory": "Erkanntes Quellverzeichnis: {sourceDir}", "detectedI18nDirectory": "Erkanntes i18n-Verzeichnis: {i18nDir}", "fileInfo": "📄 {namespace}: {keys} Schlüssel", "failedToAnalyzeUsage": "❌ Analyse der Nutzung fehlgeschlagen: {error}", "failedToAnalyzeFile": "❌ Datei konnte nicht analysiert werden: {error}", "failedToExtractKeys": "❌ Schlüssel konnten nicht extrahiert werden {filePath}: {error}", "analysisFailedError": "❌ Analyse fehlgeschlagen: {error}", "analyzerInitialized": "Analysator initialisiert", "analyzerInitFailed": "Die Initialisierung des Analysators ist fehlgeschlagen: {error}", "argsParsed": "Argumente analysiert", "processedFiles": "Verarbeitet {processedFiles} von {totalFiles} Dateien.", "argsParseFailed": "Das Parsen des Arguments ist fehlgeschlagen: {error}", "translationDiscoveryError": "Fehler bei der Übersetzungserkennung: {error}", "fileTraversalError": "Dateidurchlauffehler: {error}", "sourceEqualsI18nWarn": "{reason}. Die Nutzungsanalyse scannt keine Locale-Dateien als Quellcode.", "i18nEqualsSourceWarn": "⚠️ I18n-Verzeichnis und Quellverzeichnis sind identisch. Dies kann zu Problemen bei der Analyse führen.", "usageAnalysisFailed": "⚠️ Nutzungsanalyse fehlgeschlagen: {error}", "translationFileParseError": "⚠️ Fehler beim Parsen der Übersetzungsdatei: {error}", "translationKeysLoadError": "⚠️Fehler beim Laden der Übersetzungsschlüssel: {error}", "languageCompletenessStats": "🌐 {language}: {translated}/{total} ({completeness}% übersetzt)", "missingKeysCount": "⚠️ Fehlende Schlüssel: {count}", "analyzingTranslationCompleteness": "Vollständigkeit der Übersetzung analysieren...", "unusedKeysCount": "Unbenutzte Schlüssel: {count}", "usedKeysCount": "Verwendete Schlüssel: {count}", "availableKeysCount": "Verfügbare Schlüssel: {count}", "analysisResults": "Analyseergebnisse:", "i18nDirectoryNotFound": "⚠️ I18n-Verzeichnis nicht gefunden. Bitte überprüfen Sie den Pfad.", "sourceDirectoryNotFound": "⚠️ Quellverzeichnis nicht gefunden: {dir}", "checkUsage": { "title": "🔍 I18NTK-NUTZUNGSANALYSE", "analyzing_source_files": "🔍 Quelldateien analysieren...", "source_directory_thissourcedir": "📁 Quellverzeichnis: {sourceDir}", "i18n_directory_thisi18ndir": "📁 i18n-Verzeichnis: {i18nDir}", "found_files_in_source": "✅ Gefunden {numFiles} Dateien im Quellverzeichnis", "no_source_files_found": "⚠️ Im angegebenen Verzeichnis wurden keine Quelldateien gefunden", "processedFiles": "📊 Verarbeitet {processedFiles} von {totalFiles} Dateien", "failedToProcessFile": "❌ Fehler beim Verarbeiten", "found_thisusedkeyssize_unique_": "🔍Gefunden {usedKeysSize} einzigartige gebrauchte Schlüssel", "total_key_usages_totalkeysfoun": "📊 Schlüsselverwendungen insgesamt: {totalKeysFound}", "loading_available_translation_": "📂 Verfügbare Übersetzungsschlüssel werden geladen...", "found_thisavailablekeyssize_av": "✅ Gefunden {availableKeysSize} verfügbare Schlüssel", "message": "Analysieren Sie die Verwendung von Übersetzungsschlüsseln in Ihrem Projekt ...", "usage_analysis_results": "📊 ERGEBNISSE DER NUTZUNGSANALYSE", "source_files_scanned_thisfileu": "📁 Quelldateien gescannt: {fileUsageSize}", "available_translation_keys_thi": "✅ Verfügbare Übersetzungsschlüssel: {availableKeysSize}", "used_translation_keys_thisused": "🔍 Verwendete Übersetzungsschlüssel: {usedKeysSize}", "dynamic_keys_detected_dynamick": "⚡ Dynamische Schlüssel erkannt: {dynamicKeysLength}", "unused_keys_unusedkeyslength": "🗑️ Unbenutzte Schlüssel: {unusedKeysLength}", "missing_keys_missingkeyslength": "❌ Fehlende Schlüssel: {missingKeysLength}", "translation_completeness_title": "📈 VOLLSTÄNDIGKEIT DER ÜBERSETZUNG", "language_completeness_stats": "{language}: {translated}/{total} Schlüssel ({percentage}%)", "n_sample_unused_keys": "🗑️ BEISPIELE UNBENUTZTER SCHLÜSSEL (erste 5):", "key": "🔑 {key}", "and_unusedkeyslength_5_more": "... Und {count} mehr ungenutzte Schlüssel", "n_sample_missing_keys": "❌ BEISPIEL FEHLERHAFTER SCHLÜSSEL (erste 5):", "and_missingkeyslength_5_more": "... Und {count} weitere fehlende Schlüssel", "n_generating_detailed_report": "📊 Detaillierten Bericht erstellen...", "report_saved_reportpath": "📄Bericht gespeichert: {reportPath}", "n_recommendations": "💡 EMPFEHLUNGEN:", "consider_removing_unused_trans": "🗑️ Ziehen Sie in Betracht, nicht verwendete Übersetzungen zu entfernen, um die Paketgröße zu reduzieren", "add_missing_translation_keys_t": "➕ Fügen Sie fehlende Übersetzungsschlüssel hinzu, um die Konsistenz zu gewährleisten", "review_dynamic_keys_manually_t": "🔍 Überprüfen Sie dynamische Schlüssel manuell (sie können gültig sein)", "all_translation_keys_are_prope": "✅ Alle Übersetzungsschlüssel werden ordnungsgemäß verwendet!", "n_next_steps": "🎯 NÄCHSTE SCHRITTE:", "2_check_the_detailed_report_fo": "2. Überprüfen Sie den detaillierten Bericht auf bestimmte Probleme", "help_message": "Verwendung des I18n-Nutzungsanalysators: Knoten i18ntk-usage.js [Optionen] Optionen: --source-dir <dir> Zu scannendes Quellverzeichnis (Standard: ./src) --i18n-dir <dir> I18n-Verzeichnis (Standard: ./src/locales) --output-report Detaillierten Bericht erstellen --output-dir <dir> Ausgabeverzeichnis für Berichte (Standard: ./reports) --help Diese Hilfe anzeigen Beispiele: node i18ntk-usage.js --output-report node i18ntk-usage.js --source-dir=./app --i18n-dir=./locales node i18ntk-usage.js --output-dir=./analysis --output-report", "1_review_the_analysis_results": "1. Überprüfen Sie die Analyseergebnisse in der Konsole oder im generierten Bericht.", "2_run_with_outputreport_for_de": "2. Führen Sie „--output-report“ aus, um einen detaillierten Bericht zu erhalten.", "3_remove_unused_keys_or_add_mi": "3. Entfernen Sie nicht verwendete Schlüssel oder fügen Sie fehlende Schlüssel zu Ihrem Quellcode hinzu.", "4_rerun_analysis_to_verify_imp": "4. Führen Sie die Analyse erneut durch, um Verbesserungen zu überprüfen.", "noSourceFilesFound": "Es wurden keine Quelldateien zur Analyse gefunden.", "i18nDirectoryNotFound": "I18n-Verzeichnis nicht gefunden: {i18nDir}", "noTranslationLanguagesFound": "Keine Übersetzungssprachen gefunden.", "failedToAnalyzeFile": "Datei konnte nicht analysiert werden {filePath}: {error}", "failedToAnalyzeLanguage": "Die Sprache konnte nicht analysiert werden {language}: {error}", "translationCompletenessAnalysisFailed": "Die Vollständigkeitsanalyse der Übersetzung ist fehlgeschlagen: {error}", "n": "\\N" }, "complete": { "configLoadedSuccessfully": "Konfiguration erfolgreich geladen", "configLoadingFailed": "Das Laden der Konfiguration ist fehlgeschlagen", "title": "🌍 ABSCHLUSS DER I18NTK-ÜBERSETZUNG", "separator": "=========================================================", "sourceDir": "📁 Quellverzeichnis: {sourceDir}", "sourceLanguage": "🌐 Ausgangssprache: {sourceLanguage}", "dryRunMode": "🧪 Trockenlaufmodus – es werden keine Änderungen vorgenommen", "languages": "🌍 Verfügbare Sprachen: {languages}", "addingMissingKeys": "➕ Fehlende Schlüssel zu Übersetzungsdateien hinzufügen...", "processing": "🔄Verarbeitung {language}...", "addedKeys": "✅ Hinzugefügt {count} fehlende Schlüssel", "changeDetails": "📝 {file}: {key}", "andMore": "...Und {count} mehr", "noChangesNeeded": "✅ Keine Änderungen erforderlich für {language}", "summaryTitle": "📊 ABSCHLUSSZUSAMMENFASSUNG", "totalChanges": "📝 Gesamtänderungen: {totalChanges}", "languagesProcessed": "🌍 Verarbeitete Sprachen: {languagesProcessed}", "missingKeysAdded": "➕ Fehlende Schlüssel hinzugefügt: {missingKeysAdded}", "nextStepsTitle": "📋 NÄCHSTE SCHRITTE", "nextStep1": "1. Nutzungsanalyse ausführen:", "nextStep2": "Knoten i18ntk-usage.js --output-report", "nextStep3": "2. Übersetzungen validieren:", "nextStep4": "Knoten i18ntk-validate.js", "nextStep5": "3. Muster analysieren:", "nextStep6": "Knoten i18ntk-analyze.js", "allKeysAvailable": "🎉 Alle Übersetzungsschlüssel sind jetzt verfügbar!", "runWithoutDryRun": "💡 Ohne --dry-run ausführen, um Änderungen zu übernehmen", "deletingOldReport": "🗑️Alten Bericht löschen...", "generatingFreshAnalysis": "📊 Generieren neuer Nutzungsanalysen ...", "couldNotGenerate": "❌ Die Nutzungsanalyse konnte nicht erstellt werden", "reportNotFound": "📋 Nutzungsbericht nicht gefunden. Gemeinsame Schlüssel verwenden...", "foundMissingKeys": "📋 Gefunden {count} Fehlende Schlüssel aus der Nutzungsanalyse", "couldNotParse": "❌ Nutzungsbericht konnte nicht analysiert werden. Gemeinsame Schlüssel verwenden..." }, "noTranslationLanguagesFound": "Keine Übersetzungssprachen gefunden", "failedToAnalyzeLanguage": "Die Sprache konnte nicht analysiert werden", "translationCompletenessAnalysisFailed": "Die Vollständigkeitsanalyse der Übersetzung ist fehlgeschlagen", "failedToProcessFile": "Datei konnte nicht verarbeitet werden:", "failedToSaveReport": "Nutzungsbericht konnte nicht gespeichert werden: {error}", "i18nDirectoryDoesNotExist": "I18n-Verzeichnis existiert nicht: {dir}", "reportSavedTo": "Nutzungsbericht gespeichert unter: {reportPath}", "sourceDirectoryDoesNotExist": "Quellverzeichnis existiert nicht: {dir}", "noSourceDirectoryConfigured": "(nicht konfiguriert)" }, "validate": { "help_message": "Verwendung des I18n-Übersetzungsvalidators: Knoten i18ntk-validate.js [Optionen] Optionen: --source-dir <dir> Zu scannendes Quellverzeichnis (Standard: ./src) --i18n-dir <dir> I18n-Verzeichnis (Standard: ./src/locales) --output-report Detaillierten Bericht erstellen --output-dir <dir> Ausgabeverzeichnis für Berichte (Standard: ./reports) --help Diese Hilfe anzeigen Beispiele: node i18ntk-validate.js --output-report node i18ntk-validate.js --source-dir=./app --i18n-dir=./locales node i18ntk-validate.js --output-dir=./analysis --output-report", "title": "🔍 I18n-Übersetzungsvalidator", "message": "Validierungsprozess wird gestartet...", "sourceDirectory": "📁 Quellverzeichnis: {dir}", "sourceLanguage": "🌍 Ausgangssprache: {sourceLanguage}", "strictMode": "⚙️ Strenger Modus: {mode}", "noTargetLanguages": "Keine Zielsprachen konfiguriert; Überspringen der Zielvalidierung. Fügen Sie Sprachen über „i18ntk init --linguals=de,fr“ hinzu.", "validatingLanguages": "🌍 Validierende Sprachen: {langs}", "validatingLanguage": "🔍 Validierende Sprache: {lang}", "filesCount": "📄 Dateien: {count}", "keysCount": "🔑 Schlüssel: {count}", "missingFilesCount": "📁 Fehlende Dateien: {count}", "syntaxErrorsCount": "❌ Syntaxfehler: {count}", "translationPercentage": "🎯 Übersetzung: {percentage}% ({translated}/{total} Schlüssel)", "validationSummary": "📊 VALIDIERUNGSZUSAMMENFASSUNG", "validation_failed": "❌ Validierung fehlgeschlagen: {error}", "totalErrors": "❌ Gesamtfehler: {count}", "totalWarnings": "⚠️ Gesamtzahl der Warnungen: {count}", "errorsSection": "❌ FEHLER", "warningsSection": "⚠️ WARNUNGEN", "recommendationsSection": "💡 EMPFEHLUNGEN", "fixErrorsFirst": "1. Beheben Sie zunächst alle Fehler", "resolveMissingFilesAndSyntaxErrors": "1. Beheben Sie fehlende Dateien und Syntaxfehler", "fixStructuralInconsistencies": "2. Beheben Sie strukturelle Inkonsistenzen", "completeMissingTranslations": "3. Vervollständigen Sie fehlende Übersetzungen", "rerunValidation": "4. Führen Sie die Validierung erneut aus, um die Korrekturen zu überprüfen", "addressWarnings": "Beheben Sie Warnungen, um die Qualität zu verbessern", "reviewWarnings": "Überprüfen Sie die Warnungen und beheben Sie sie gegebenenfalls", "considerRunningWithStrict": "2. Erwägen Sie die Ausführung mit dem Flag --strict für eine strengere Validierung", "allValidationsPassed": "🎉 Alle Validierungen bestanden!", "considerRunningUsageAnalysis": "Erwägen Sie die Durchführung einer Nutzungsanalyse: Knoten i18ntk-usage.js", "deletedOldReport": "🗑️ Alter Validierungsbericht gelöscht", "sourceDir": "📁 Quellverzeichnis: {sourceDir}", "i18nDir": "🌐 I18n-Verzeichnis: {i18nDir}", "loadingTranslationFiles": "📋 Übersetzungsdateien werden geladen...", "foundTranslationFilesCount": "✅ Gefunden {count} Übersetzungsdateien", "analyzingTranslations": "🔍 Übersetzungen analysieren...", "validationCompletedSuccessfully": "🎉 Validierung erfolgreich abgeschlossen!", "validationErrorsFound": "⚠️ Validierungsfehler gefunden: {count}", "validationWarningsFound": "⚠️ Validierungswarnungen gefunden: {count}", "validationPassed": "✅ Validierung ohne Fehler bestanden", "validationFailed": "Validierung fehlgeschlagen: {error}", "startingValidationProcess": "🔍 Validierungsprozess wird gestartet...", "validationProcessCompletedSuccessfully": "✅ Validierungsprozess erfolgreich abgeschlossen", "stackTrace": "Stacktrace: {stack}", "authenticationFailed": "❌ Authentifizierung fehlgeschlagen. Zugriff verweigert.", "fatalValidationError": "❌ Schwerwiegender Validierungsfehler: {error}", "configAccess": "Zugriff auf die Konfiguration zur Validierung", "configValidated": "Konfiguration erfolgreich validiert", "configError": "Konfigurationsfehler: {error}", "validatorInit": "I18n-Validator wird initialisiert", "validatorInitialized": "Der I18n-Validator wurde erfolgreich initialisiert", "validatorInitError": "Fehler bei der Initialisierung des Validators: {error}", "argsParsing": "Befehlszeilenargumente analysieren", "argsParsed": "Befehlszeilenargumente erfolgreich analysiert", "argsParseError": "Fehler beim Parsen des Arguments: {error}", "languagesScan": "Verfügbare Sprachen scannen", "languagesFound": "Gefunden {count} Sprachen", "languagesScanError": "Fehler beim Scannen der Sprache: {error}", "filesScan": "Gefunden {count} Dateien in {language}", "filesScanError": "Fehler beim Scannen der Datei: {error}", "jsonValidated": "Validierte JSON-Syntax: {filePath}", "jsonValidationError": "JSON-Validierungsfehler: {error}", "languageValidation": "Validierende Sprache: {language}", "languageValidationError": "Fehler bei der Sprachvalidierung: {error}", "fileDeleted": "Datei gelöscht", "runStarted": "Validierungslauf wird gestartet", "runCompleted": "Validierungslauf erfolgreich abgeschlossen", "runError": "Validierungslauf fehlgeschlagen: {error}", "scriptExecution": "Skriptausführung", "validationCompleted": "Validierung abgeschlossen", "validationError": "Validierungsfehler: {error}", "separator": "━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━", "languageHeader": "🌐 Sprache: {language}", "validationResults": "📊 Validierungsergebnisse", "noErrors": "✅ Keine Fehler gefunden", "noWarning