UNPKG

i18ntk

Version:

🚀 The fastest i18n toolkit with 97% performance boost! Zero-dependency, enterprise-grade internationalization for React, Vue, Angular, Python, Java, PHP & more. Features PIN protection, auto framework detection, 7+ UI languages, and comprehensive transla

721 lines 148 kB
{ "meta": { "version": "1.10.0", "updated": "2025-08-16" }, "common": { "welcome": "Willkommen", "hello": "Hallo", "goodbye": "Auf Wiedersehen", "yes": "Ja", "no": "Nein", "save": "Speichern", "cancel": "Abbrechen", "delete": "Löschen", "edit": "Bearbeiten", "loading": "Laden...", "offlineTitle": "Offline", "offlineMessage": "Sie sind offline", "tryReconnect": "Erneut verbinden", "logout": "Abmelden", "login": "Anmelden", "amount": "Betrag", "success": "Erfolg", "error": "Fehler", "warning": "Warnung", "info": "Information: ", "debug": "Fehlersuche: ", "progress": "Fortschritt:", "remaining": "Verbleibend:", "total": "Gesamt:", "completed": "7. Erfolgreich abgeschlossen!", "missing": "Fehlend", "partial": "Teilweise", "sameAsSource": "Identisch mit Quelle:", "formatMismatch": "Format-Fehlanpassung:", "typeMismatch": "Typ-Fehlanpassung:", "structureMismatch": "Struktur-Fehlanpassung:", "invalidOption": "Ungültige Option", "separator": "==================================================", "initializationFailed": "❌ Initialisierung fehlgeschlagen: {error}", "stackTrace": "Stack-Trace: {stack}", "pressEnterToContinue": "Drücken Sie Enter zum Fortfahren...", "pressEnterToReturn": "Drücken Sie Enter zum Zurückkehren zum Hauptmenü...", "stepCompleted": "Schritt '{stepName}' abgeschlossen.", "stepFailed": "Schritt '{stepName}' fehlgeschlagen.", "runningStep": "Schritt ausführen: {stepName}", "command": "Befehl: {command}", "startingWorkflow": "Workflow wird gestartet...", "workflowCompleted": "Workflow abgeschlossen.", "checkReports": "Überprüfen Sie die Berichte für Details.", "errorExecutingCommand": "Fehler beim Ausführen des Befehls: {error}", "genericError": "❌ Fehler: {error}", "errors": { "errors": "Fehler:", "genericError": "❌ Fehler: {error}", "initializationCancelled": "🚫 Initialisierung wurde vom Benutzer abgebrochen.", "initializationFailed": "❌ Initialisierung fehlgeschlagen: {error}", "translationKeyNotFound": "Übersetzungsschlüssel nicht gefunden: {key}", "sourceDirectoryNotFound": "Quellverzeichnis nicht gefunden: {directory}", "configLoadingFailed": "Konfigurationsladung fehlgeschlagen", "invalidSourceDirectory": "Ungültiges Quellverzeichnis: {directory}", "securityViolation": "Sicherheitsverletzung erkannt", "authenticationFailed": "Authentifizierung fehlgeschlagen", "sourceEqualsI18nWarn": "⚠️ Quellverzeichnis entspricht i18n-Verzeichnis ({sourceDir}). Falle zurück auf {fallback} für Quell-Scanning." }, "errorGeneratingStatusSummary": "Fehler beim Erstellen 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 beim Analysieren der Übersetzungsschlüssel: {error}", "errorAnalyzingTranslationCompleteness": "Fehler beim Analysieren der Übersetzungsvollständigkeit: {error}", "analyzingTranslationCompleteness": "Analysiere Übersetzungsvollständigkeit über alle Sprachen...", "i18nDirectoryNotFound": "⚠️ i18n-Verzeichnis nicht gefunden: {i18nDir}", "translationCompletenessAnalysisFailed": "⚠️ Analyse der Übersetzungsvollständigkeit fehlgeschlagen: {error}", "failedToAnalyzeLanguage": "❌ Analyse der Sprache {language} fehlgeschlagen: {error}", "errorReadingI18nDirectory": "❌ Fehler beim Lesen des i18n-Verzeichnisses: ", "languageCompletenessTitle": "📈 ÜBERSETZUNGSVOLLSTÄNDIGKEIT NACH SPRACHE", "errorAnalyzingTranslationFormat": "Fehler beim Analysieren des Übersetzungsformats: {error}", "errorAnalyzingTranslationType": "Fehler beim Analysieren des Übersetzungstyps: {error}", "errorAnalyzingTranslationStructure": "Fehler beim Analysieren der Übersetzungsstruktur: {error}", "errorAnalyzingTranslationFormatMismatch": "Fehler beim Analysieren der Übersetzungsformatabweichung: {error}", "errorAnalyzingTranslationTypeMismatch": "Fehler beim Analysieren der Übersetzungstypabweichung: {error}", "errorAnalyzingTranslationStructureMismatch": "Fehler beim Analysieren der Übersetzungsstrukturabweichung: {error}", "errorAnalyzingTranslationSameAsSource": "Fehler beim Analysieren der Übersetzung, die mit der Quelle identisch ist: {error}", "title": "Statusbericht", "nextStep1": "1. Nutzungsanalyse prüfen:", "nextStep2": "2. Übersetzungen validieren:", "nextStep3": "3. Vollständigkeit analysieren:", "nextStep4": "4. Fehlende Übersetzungen vervollständigen:", "nextStep5": "5. Zusammenfassungsbericht erstellen:", "nextStep6": "6. Übersetzungen überprüfen und finalisieren:", "generating": "Zusammenfassungsbericht wird erstellt...", "review": "Übersetzungen werden überprüft...", "finalizing": "Übersetzungen werden finalisiert...", "finalized": "Erfolgreich finalisiert!", "warnings": "Warnungen:", "completedKeys": "Abgeschlossene Schlüssel:", "missingKeys": "Fehlende Schlüssel:", "partialKeys": "Teilweise Schlüssel:", "home": "Hauptseite", "settings": "Einstellungen", "startingSettings": "🎛️ Einstellungs-CLI wird gestartet...", "confirm": "Bestätigen" }, "errors": { "readlineClosed": "Eingabestrom ist geschlossen; läuft im nicht-interaktiven Modus.", "noPackageJson": "Keine package.json gefunden. Kann i18n-Framework nicht automatisch erkennen.", "noI18nDir": "Kein i18n-Verzeichnis im Projekt-Root gefunden.", "noI18nConfig": "Keine i18n-Konfigurationsdatei im Projekt-Root gefunden." }, "fixer": { "help_message": "\nI18n Übersetzungs-Fixer\n\nVerwendung: node i18ntk-fixer.js [optionen]\n\nOptionen:\n --source-dir <dir> Quellverzeichnis zu analysieren (Standard: ./locales)\n --languages <langs> Komma-getrennte Liste der zu korrigierenden Sprachen\n --markers <markers> Komma-getrennte Liste der als nicht übersetzt zu behandelnden Markierungen\n --no-backup Automatische Backup-Erstellung überspringen\n --help Diese Hilfe anzeigen\n\nBeispiele:\n node i18ntk-fixer.js --languages de,fr\n node i18ntk-fixer.js --source-dir=./locales --markers NOT_TRANSLATED\n node i18ntk-fixer.js --no-backup\n", "starting": "🚀 Starte Übersetzungskorrektur für Sprachen: {languages}", "sourceDirectory": "📁 Quellverzeichnis: {sourceDir}", "sourceLanguage": "🔤 Quellsprache: {sourceLanguage}", "markers": "🏷️ Zu korrigierende Markierungen: {markers}", "scanningLanguage": "📊 Analysiere {language}...", "noLanguages": "❌ Keine Sprachen für Korrektur angegeben.", "allComplete": "🎉 Alle Übersetzungen sind bereits vollständig!", "fullReportSaved": "📊 Vollständiger Bericht gespeichert in: {reportPath}", "reviewReport": "Bitte überprüfen Sie den Bericht, bevor Sie fortfahren.", "backupCreated": "💾 Backup erfolgreich erstellt.", "applyingFixes": "🔄 Wende Korrekturen an...", "fixingComplete": "✅ Übersetzungskorrektur abgeschlossen!", "operationCancelled": "❌ Vorgang vom Benutzer abgebrochen.", "analysisTitle": "🔍 ÜBERSETZUNGSKORREKTUR-ANALYSE", "analysisSeparator": "==================================================", "totalIssues": "Gefundene Probleme gesamt: {totalIssues}", "missingTranslations": "Fehlende Übersetzungen: {missing}", "placeholderTranslations": "Übersetzungen mit Markierungen: {placeholder}", "noIssues": "✅ Keine Probleme gefunden. Alle Übersetzungen sind vollständig.", "detailedIssues": "📋 DETAillierte PROBLEME:", "detailedSeparator": "--------------------------------------------------", "filePath": "📄 {file} → {path}", "missingKey": "❌ FEHLT: {source} → {new}", "placeholderKey": "⚠️ MARKIERUNG: \"{target}\" → \"{new}\"", "moreIssues": "... und {count} weitere Probleme. Siehe Berichtsdatei für vollständige Details.", "confirmationTitle": "🤔 Möchten Sie mit diesen Korrekturen fortfahren?", "confirmationOptions": "Optionen:", "optionYes": "j - Ja, alle Korrekturen anwenden", "optionNo": "n - Nein, Vorgang abbrechen", "optionShow": "d - Detaillierte Probleme anzeigen", "choicePrompt": "Ihre Wahl (j/n/d): ", "nonInteractiveMode": "⚡ Nicht-interaktiver Modus erkannt - wende Korrekturen automatisch an...", "reportGenerated": "📊 Korrekturbericht generiert: {path}", "summary": { "totalIssues": "Gesamtprobleme: {total}", "missingKeys": "Fehlende Schlüssel: {missing}", "placeholderKeys": "Schlüssel mit Markern: {placeholder}", "languages": "Sprachen: {languages}" }, "welcome": { "title": "🎯 Willkommen beim Übersetzungs-Fixer!", "description": "Dieses Tool hilft Ihnen, beschädigte Übersetzungen und Markierungen in Ihren Sprachdateien zu reparieren." }, "markerPrompt": { "title": "🏷️ Platzhalter-Markierungen konfigurieren", "description": "Geben Sie die Markierungen ein, die nicht übersetzten Text anzeigen (durch Kommas getrennt):", "currentDefaults": "Standardmarkierungen: {markers}", "input": "Markierungen (oder Enter für Standardwerte): " }, "languagePrompt": { "title": "🌍 Sprachen zur Reparatur auswählen", "available": "Verfügbare Sprachen: {languages}", "description": "Geben Sie die zu reparierenden Sprachen ein (durch Kommas getrennt) oder Enter für alle:", "input": "Sprachen: ", "noLanguages": "Keine Sprachen zur Reparatur gefunden." }, "directoryPrompt": { "title": "📁 Verzeichnis auswählen", "current": "Aktuelles Verzeichnis: {dir}", "description": "Geben Sie das Verzeichnis mit Ihren Sprachdateien ein (oder Enter für aktuelles Verzeichnis, 0 zum Abbrechen):", "input": "Verzeichnis: " } }, "autorun": { "stepAnalyzeTranslations": "Übersetzungen analysieren", "stepCompletedWithIcon": "✅ Schritt '{stepName}' abgeschlossen.", "stepValidateTranslations": "Übersetzungen validieren", "stepRunning": "Schritt '{stepName}' wird ausgeführt...", "separator": "==================================================", "stepFailed": "Schritt '{stepName}' fehlgeschlagen.", "errorLabel": "Fehler: {error}", "autoRunScriptTitle": "Auto-Run-Skript", "usageTitle": "Verwendung:", "runAllSteps": "node i18ntk-autorun.js --all - Alle Schritte aus i18ntk-config.json ausführen", "configureSettingsFirst": "node i18ntk-autorun.js --config - Einstellungen für Workflow konfigurieren", "runSpecificSteps": "node i18ntk-autorun.js --steps <step_numbers> - Bestimmte Schritte ausführen (z. B. --steps 1,3,5)", "showHelp": "node i18ntk-autorun.js --help - Diese Hilfe anzeigen", "examplesTitle": "Beispiele:", "configExample": "node i18ntk-autorun.js --config", "stepsExample1": "node i18ntk-autorun.js --steps 1,2,3", "stepsExample2": "node i18ntk-autorun.js --all", "customSettingsConfiguration": "Benutzerdefinierte Einstellungen konfigurieren", "availableSteps": "Verfügbare Schritte:", "startingAutoRunWorkflow": "Starte Auto-Run-Workflow...", "workflowIncludesSteps": "Workflow umfasst {count} Schritte:", "missingRequiredFile": "Erforderliche Datei fehlt: {file}", "workflowStopped": "Workflow gestoppt.", "workflowCompleted": "Workflow abgeschlossen.", "successfulSteps": "Erfolgreiche Schritte: {count}", "failedSteps": "Fehlgeschlagene Schritte: {count}", "stepInitializeProject": "Projekt initialisieren", "stepCheckUsage": "Verwendung prüfen", "stepGenerateSummary": "Zusammenfassungsbericht wird erstellt...", "runInitializationFirst": "Bitte führen Sie zuerst die Initialisierung aus.", "initializationCheckPassed": "Initialisierungsprüfung erfolgreich.", "runningStep": "Führe Schritt aus: {stepName}", "commandLabel": "Befehl: {command}", "stepCompletedWithTime": "Schritt '{stepName}' abgeschlossen in {duration}ms.", "stepCompleted": "Schritt '{stepName}' abgeschlossen.", "stepFailedWithError": "Schritt '{stepName}' fehlgeschlagen mit Fehler: {error}", "requiredStepFailed": "Erforderlicher Schritt fehlgeschlagen. Workflow wird gestoppt.", "optionalStepFailed": "Optionaler Schritt fehlgeschlagen. Workflow wird fortgesetzt.", "stepRequired": "(Erforderlich)", "stepOptional": "(Optional)", "startingExecution": "Starte Ausführung...", "pressEnterToContinue": "Drücken Sie Enter, um fortzufahren...", "runningSelectedSteps": "Ausgewählte Schritte werden ausgeführt...", "invalidStepNumber": "Ungültige Schritt-Nummer: {stepNum}", "executionReport": "Ausführungsbericht:", "requiredFailedSteps": "Fehlgeschlagene erforderliche Schritte: {count}", "stepDetails": "Schrittdetails:", "reportSavedTo": "Bericht gespeichert unter: {path}", "overallStatusSuccess": "ERFOLGREICH", "overallStatusFailed": "FEHLGESCHLAGEN", "overallStatus": "Gesamtstatus: {status}", "pressEnterForDefaults": "Drücken Sie Enter, um Standardeinstellungen zu verwenden.", "sourceDirPrompt": "Quellverzeichnis eingeben (Standard: {default}): ", "sourceLangPrompt": "Quellsprache eingeben (Standard: {default}): ", "targetLangsPrompt": "Zielsprachen eingeben (kommagetrennt, Standard: {default}): ", "translationMarkerPrompt": "Übersetzungsmarker eingeben (Standard: {default}): ", "outputDirPrompt": "Ausgabeverzeichnis für Berichte eingeben (Standard: {default}): ", "settingsUpdatedSuccessfully": "Einstellungen erfolgreich aktualisiert!", "errorConfiguringSettings": "Fehler bei der Konfiguration der Einstellungen: {error}", "configurationComplete": "Konfiguration abgeschlossen.", "runAutoRunCommand": "Jetzt können Sie den Auto-Run-Befehl ausführen.", "configurationFailed": "Konfiguration fehlgeschlagen: {error}", "noValidStepNumbers": "Keine gültigen Schritt-Nummern angegeben.", "autoRunFailed": "Auto-Run fehlgeschlagen: {error}", "stepCompleteTranslations": "Übersetzungen vervollständigen", "stepAnalyzeSizing": "Größenanalyse durchführen", "stepCompletedIcon": "✅", "stepRunningWithNumber": "[{stepNumber}/{totalSteps}] Schritt '{stepName}' wird ausgeführt...", "stepFailedIcon": "❌", "translationLoadWarning": "Warnung: Konnte Übersetzungen für {lang} nicht laden", "configReadError": "Fehler beim Lesen von {file}" }, "analyze": { "help_message": "\nI18n Übersetzungs-Analysator\n\nVerwendung: node i18ntk-analyze.js [Optionen]\n\nOptionen:\n --source-dir <dir> Quellverzeichnis zum Scannen (Standard: ./locales)\n --i18n-dir <dir> I18n-Verzeichnis (Standard: ./locales)\n --output-report Detaillierten Bericht erstellen\n --output-dir <dir> Ausgabeverzeichnis für Berichte (Standard: ./i18ntk-reports)\n --help Diese Hilfe anzeigen\n\nBeispiele:\n node i18ntk-analyze.js --output-report\n node i18ntk-analyze.js --source-dir=./app --i18n-dir=./locales\n node i18ntk-analyze.js --output-dir=./analysis --output-report\n", "source_directory": "📁 Quellverzeichnis: {sourceDir}", "i18n_directory": "🌐 I18n-Verzeichnis: {i18nDir}", "loading_translation_files": "📋 Übersetzungsdateien werden geladen...", "sourceDirectoryLabel": "📁 Quellverzeichnis: {sourceDir}", "sourceLanguageLabel": "🌍 Quellsprache: {sourceLanguage}", "strictModeLabel": "⚙️ Strenger Modus: {mode}\n", "found_translation_files_count": "✅ {count} Übersetzungsdateien gefunden", "analyzing_translations": "🔍 Übersetzungen werden analysiert...", "analysis_completed_successfully": "🎉 Analyse erfolgreich abgeschlossen!", "analysis_results": "📊 ANALYSENERGEBNISSE", "language_analysis_stats": " {language}: {translatedKeys}/{totalKeys} ({percentage}% übersetzt)", "sample_missing_keys": "\nBeispiel fehlender Schlüssel:", "missing_key": "- {key}", "and_more_missing": "...und {count} weitere.", "sample_unused_keys": "\nBeispiel ungenutzter Schlüssel:", "unused_key": "- {key}", "and_more_unused": "...und {count} weitere.", "recommendations": "\n📋 EMPFEHLUNGEN", "add_missing_translations": "💡 Fehlende Übersetzungen hinzufügen, um die Abdeckung zu verbessern.", "remove_unused_translations": "💡 Ungenutzte Übersetzungen entfernen, um Ihr Projekt sauber zu halten.", "next_steps": "\n📋 NÄCHSTE SCHRITTE", "review_analysis_results": "1. Überprüfen Sie die Analyseergebnisse in der Konsole oder im generierten Bericht.", "run_with_output_report": "2. Mit --output-report ausführen für detaillierten Bericht.", "add_or_remove_translations": "3. Fehlende Übersetzungen hinzufügen oder ungenutzte entfernen.", "rerun_analysis": "4. Analyse erneut ausführen, um Verbesserungen zu überprüfen.", "analysis_summary": "📊 ANALYSE-ZUSAMMENFASSUNG", "source_files_scanned": "Gescannte Quelldateien: {fileCount}", "translation_files_checked": "Überprüfte Übersetzungsdateien: {translationFileCount}", "total_keys": "Schlüssel gesamt: {totalKeys}", "translated_keys": "Übersetzte Schlüssel: {translatedKeys}", "missing_keys": "Fehlende Schlüssel: {missingKeys}", "unused_keys": "Ungenutzte Schlüssel: {unusedKeys}", "translation_coverage": "Übersetzungsabdeckung: {coverage}%", "analysis_passed_for_language": "✅ Analyse bestanden für {language}", "analysis_failed_for_language": "❌ Analyse fehlgeschlagen für {language} ({missingKeys} fehlend, {unusedKeys} ungenutzt)", "starting": "🔍 Übersetzungsanalyse wird gestartet...", "foundLanguages": "📋 {count} Sprachen zur Analyse gefunden: {languages}", "analyzing": "🔄 Analysiere {language}...", "reportTitle": "📊 ÜBERSETZUNGS-ANALYSEBERICHT", "generated": "Erstellt: {timestamp}", "status": "Status: {translated}/{total} Schlüssel ({percentage}% übersetzt)", "filesAnalyzed": "Analysierte Dateien: {analyzed}/{total}", "keysNeedingTranslation": "Zu übersetzende Schlüssel: {count}", "fileBreakdown": "📋 DATEI-ÜBERSICHT", "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": "Teilweise Übersetzungen: {count}", "format_mismatch": "Format stimmt nicht überein: {count}", "type_mismatch": "Typ stimmt nicht überein: {count}", "structure_mismatch": "Struktur stimmt nicht überein: {count}", "same_as_source": "Identisch mit Quelle: {count}" }, "keysToTranslate": "📋 ZU ÜBERSETZENDE SCHLÜSSEL", "key": "Schlüssel", "english": "Englisch", "needsTranslation": "MÜSSEN ÜBERSETZT WERDEN", "andMoreKeys": "...und {count} weitere Schlüssel.", "noLanguages": "⚠️ Keine Zielsprachen gefunden.", "languageStats": "{language}: {percentage}% vollständig ({translated}/{total} Schlüssel)", "invalidReportFilePath": "Ungültiger Bericht-Dateipfad", "failedToWriteReportFile": "Bericht-Datei konnte nicht sicher geschrieben werden" }, "complete": { "configLoadedSuccessfully": "Konfiguration erfolgreich geladen", "configLoadingFailed": "Laden der Konfiguration fehlgeschlagen", "sourceLanguageNotFound": "Quellsprache nicht gefunden", "couldNotParseTarget": "Zielsprache konnte nicht analysiert werden", "couldNotParseSource": "Quellsprache konnte nicht analysiert werden", "reportGenerated": "Bericht generiert", "generateReportPrompt": "Generiere Bericht?", "title": "🌍 I18NTK-ÜBERSETZUNGSVERVOLLSTÄNDIGUNG", "separator": "============================================================", "sourceDir": "📁 Quelldirectory: {sourceDir}", "sourceLanguage": "🌐 Ausgangssprache: {sourceLanguage}", "dryRunMode": "🧪 Testmodus - keine Änderungen werden vorgenommen", "languages": "🌍 Verfügbare Sprachen: {languages}", "addingMissingKeys": "➕ Fehlende Schlüssel zu Übersetzungsdateien hinzufügen...", "processing": "🔄 Verarbeite {language}...", "addedKeys": "✅ {count} fehlende Schlüssel hinzugefügt", "noChangesNeeded": "✅ Keine Änderungen für {language} erforderlich", "summaryTitle": "📊 VERVOLLSTÄNDIGUNGSZUSAMMENFASSUNG", "totalChanges": "📝 Gesamtänderungen: {totalChanges}", "languagesProcessed": "🌍 Verarbeitete Sprachen: {languagesProcessed}", "missingKeysAdded": "➕ Hinzugefügte fehlende Schlüssel: {missingKeysAdded}", "nextStepsTitle": "📋 NÄCHSTE SCHRITTE", "nextStep1": "1. Nutzungsanalyse ausführen:", "nextStep2": " node i18ntk-usage.js --output-report", "nextStep3": "2. Übersetzungen validieren:", "nextStep4": " node i18ntk-validate.js", "nextStep5": "3. Muster analysieren:", "nextStep6": " node i18ntk-analyze.js", "allKeysAvailable": "🎉 Alle Übersetzungsschlüssel sind jetzt verfügbar!", "runWithoutDryRun": "💡 Ohne --dry-run ausführen, um Änderungen anzuwenden", "deletingOldReport": "🗑️ Alter Bericht wird gelöscht...", "generatingFreshAnalysis": "📊 Frische Nutzungsanalyse wird erstellt...", "couldNotGenerate": "❌ Nutzungsanalyse konnte nicht erstellt werden", "reportNotFound": "📋 Nutzungsbericht nicht gefunden. Verwende gemeinsame Schlüssel...", "foundMissingKeys": "📋 {count} fehlende Schlüssel aus Nutzungsanalyse gefunden", "couldNotParse": "❌ Nutzungsbericht konnte nicht analysiert werden. Verwende Standard-Schlüssel...", "errorDuringCompletion": "❌ Fehler während der Vervollständigung: {error}", "fatalError": "❌ Schwerwiegender Fehler: {error}", "configurationValidationFailed": "Konfigurationsvalidierung fehlgeschlagen: erforderliche Felder fehlen" }, "sizing": { "separator": "================================================================================", "lineSeparator": "--------------------------------------------------------------------------------", "analysisStats": "{stats}", "sourceDirectoryLabel": "📁 Quellverzeichnis: {sourceDir}", "sourceLanguageLabel": "🌍 Quellsprache: {sourceLanguage}", "strictModeLabel": "⚙️ Strenger Modus: {mode}", "invalidSourceDirectoryError": "Ungültiger Quellverzeichnispfad: {sourceDir}", "sourceDirectoryNotFoundError": "Quellverzeichnis nicht gefunden: {sourceDir}", "invalidOutputDirectoryError": "Ungültiger Ausgabeverzeichnispfad: {outputDir}", "invalidReportFileError": "Ungültiger Berichtdateipfad", "problematic_keys": "Problematische Schlüssel:", "problematicKeysLabel": "Problematische Schlüssel: {problematicKeys}", "long_translations": "Lange Übersetzungen: {longTranslations}", "failedToSaveReportError": "Bericht konnte nicht sicher gespeichert werden", "invalidCsvFileError": "Ungültige CSV-Dateipfad", "failedToSaveCsvError": "CSV-Bericht konnte nicht sicher gespeichert werden", "fatalError": "❌ Größenanalyse fehlgeschlagen: {error}", "starting_i18n_sizing_analysis": "Starte i18n Größenanalyse...", "source_directory": "Quellverzeichnis: {sourceDir}", "found_languages": "Gefundene Sprachen: {languages}", "analyzing_file_sizes": "Analysiere Dateigrößen...", "analyzing_translation_content": "Analysiere Übersetzungsinhalt...", "generating_size_comparisons": "Generiere Größenvergleiche...", "no_languages_found_for_comparison": "Keine Sprachen für Vergleich gefunden", "sizing_analysis_results": "I18n Größenanalyse Ergebnisse", "file_sizes_title": "Dateigrößen", "file_sizes_header": "Sprache Größe(KB) Zeilen Zeichen", "file_size_row": "{lang} {sizeKB} {lines} {characters}", "language_statistics_title": "Sprachstatistiken", "language_stats_header": "Sprache Schlüssel Zeichen Ø Länge Max Länge Leer Lang", "language_stats_row": "{lang} {totalKeys} {totalCharacters} {averageKeyLength} {maxKeyLength} {emptyKeys} {longKeys}", "size_variations_title": "Größenvariationen", "size_variations_header": "Sprache Zeichen Diff % Diff Problematisch", "size_variation_row": "{lang} {characterDifference} {percentageDifference}% {problematic}", "problematic_yes": "Ja", "problematic_no": "Nein", "recommendations_title": "Empfehlungen", "recommendation_item": "Empfehlung: {recommendation}", "problematic_key_detail": " {index}. Schlüssel: '{key}' - Variationen: {variations}", "generating_detailed_report": "Generiere detaillierten Bericht...", "keysHaveSignificantSizeVariations": "Schlüssel haben signifikante Größenvariationen", "longTranslationsDetected": "${lang} hat ${data.longKeys} Übersetzungen länger als 100 Zeichen - in Betracht ziehen, sie aufzuteilen", "longer": "länger", "shorter": "kürzer", "review_translations": "Überprüfung der {lang} Übersetzungen in Betracht ziehen - sie sind {percentageDifference}% {comparison} als die Grundlage", "report_saved_to": "Bericht gespeichert in: {reportPath}", "considerReviewingTranslations": "Überprüfung der ${lang} Übersetzungen in Betracht ziehen - sie sind ${data.percentageDifference}% länger als die Grundlage", "csv_report_saved_to": "CSV-Bericht gespeichert unter: {csvPath}", "human_report_saved": "Menschenlesbarer Bericht gespeichert: {reportPath}", "folder_summary_title": "Ordner-Zusammenfassung", "folder_summary_table_header": "Sprache Größe(KB) Schlüssel Ø 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": "Detaillierte Schlüssel-Analyse in der Konsole anzeigen", "too_many_keys_warning": "⚠️ Zu viele Schlüssel für Konsolenanzeige - siehe detaillierter Bericht für 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": "🔍 {count} Dateien gefunden", "failed_to_parse_language_error": "⚠️ Fehler beim Parsen der {language} Übersetzungen: {errorMessage}", "recommendations": { "keys_have_significant_size_variations": "Schlüssel haben signifikante Größenvariationen", "consider_reviewing_translations": "Überprüfung der {lang} Übersetzungen in Betracht ziehen - sie sind {percentageDifference}% {comparison} als die Grundlage", "long_translations_detected": "{lang} hat {longKeys} Übersetzungen länger als {threshold} Zeichen - in Betracht ziehen, sie aufzuteilen" } }, "usage": { "help_message": "\nI18n-Nutzungsanalysator\n\nVerwendung: node i18ntk-usage.js [Optionen]\n\nOptionen:\n --source-dir <dir> Quellverzeichnis zum Scannen (Standard: ./locales)\n --i18n-dir <dir> I18n-Verzeichnis (Standard: ./locales)\n --output-report Detaillierten Bericht erstellen\n --output-dir <dir> Ausgabeverzeichnis für Berichte (Standard: ./i18ntk-reports)\n --help Diese Hilfe anzeigen\n\nBeispiele:\n node i18ntk-usage.js --output-report\n node i18ntk-usage.js --source-dir=./app --i18n-dir=./locales\n node i18ntk-usage.js --output-dir=./analysis --output-report\n", "source_directory_thissourcedir": "📁 Quellverzeichnis: {sourceDir}", "translationCompletenessTitle": "🌍 Übersetzungsvollständigkeit:", "i18n_directory_thisi18ndir": "🌐 I18n-Verzeichnis: {i18nDir}", "failed_to_parse_filename_error": "⚠️ Fehler beim Parsen von {fileName}: {errorMessage}", "analyzing_source_files": "🔍 Quelldateien werden analysiert...", "found_files_in_source": "📂 {numFiles} Dateien im Quellverzeichnis gefunden", "found_thisusedkeyssize_unique_": "🎯 {usedKeysSize} eindeutige verwendete Schlüssel gefunden", "total_key_usages_totalkeysfoun": "📊 Gesamtschlüsselverwendungen: {totalKeysFound}", "loading_available_translation_": "📋 Verfügbare Übersetzungsschlüssel werden geladen...", "found_thisavailablekeyssize_av": "✅ {availableKeysSize} verfügbare Schlüssel gefunden", "foundTranslationFiles": "✅ {count} Übersetzungsdateien gefunden", "errorReadingI18nDirectory": "⚠️ Fehler beim Lesen des i18n-Verzeichnisses: {error}", "pressEnterToReturnToMenu": "📝 Drücken Sie Enter, um zum Hauptmenü zurückzugehen...", "notTranslatedKeysTotal": "⚠️ Nicht übersetzte Schlüssel: {total}", "noSourceFilesFound": "⚠️ Keine Quelldateien im Quellverzeichnis gefunden.", "reviewNotTranslatedKeys": "💡 Nicht übersetzte Schlüssel überprüfen", "analysisCompletedSuccessfully": "🎉 Analyse erfolgreich abgeschlossen!", "detectedSourceDirectory": "Erkanntes Quellverzeichnis: {sourceDir}", "detectedI18nDirectory": "Erkanntes I18n-Verzeichnis: {i18nDir}", "fileInfo": " 📄 {namespace}: {keys} Schlüssel", "failedToAnalyzeUsage": "❌ Nutzungsanalyse fehlgeschlagen: {error}", "failedToAnalyzeFile": "❌ Dateianalysem fehlgeschlagen: {error}", "failedToExtractKeys": "⚠️ Fehler beim Extrahieren von Schlüsseln aus {fileName}: {errorMessage}", "analysisFailedError": "❌ Analyse fehlgeschlagen:", "analyzerInitialized": "Analysator initialisiert", "analyzerInitFailed": "Analysator-Initialisierung fehlgeschlagen: {error}", "argsParsed": "Argumente geparst", "processedFiles": "Verarbeitet {processedFiles} von {totalFiles} Dateien.", "argsParseFailed": "Argument-Parsing fehlgeschlagen: {error}", "translationDiscoveryError": "Übersetzungserkennung fehlgeschlagen: {error}", "fileTraversalError": "Dateidurchlauf fehlgeschlagen: {error}", "sourceEqualsI18nWarn": "⚠️ Quellverzeichnis und i18n-Verzeichnis sind gleich. Dies kann Probleme mit der Analyse verursachen.", "i18nEqualsSourceWarn": "⚠️ I18n-Verzeichnis und Quellverzeichnis sind gleich. Dies kann Probleme mit der Analyse verursachen.", "usageAnalysisFailed": "Nutzungsanalyse fehlgeschlagen: {error}", "translationFileParseError": "⚠️ Übersetzungsdatei-Parse-Fehler: {error}", "translationKeysLoadError": "⚠️ Übersetzungsschlüssel-Ladefehler: {error}", "languageCompletenessStats": " 🌐 {language}: {translated}/{total} ({completeness}% übersetzt)", "missingKeysCount": "⚠️ Fehlende Schlüssel: {count}", "analyzingTranslationCompleteness": "Analysiere Übersetzungsvollständigkeit...", "unusedKeysCount": "Ungenutzte Schlüssel: {count}", "usedKeysCount": "Verwendete Schlüssel: {count}", "availableKeysCount": "Verfügbare Schlüssel: {count}", "analysisResults": "Analyseergebnisse:", "i18nDirectoryNotFound": "⚠️ I18n-Verzeichnis nicht gefunden: {dir}", "sourceDirectoryNotFound": "⚠️ Quellverzeichnis nicht gefunden: {dir}", "checkUsage": { "title": "🔍 I18NTK-NUTZUNGSANALYSE", "analyzing_source_files": "🔍 Quelldateien werden analysiert...", "source_directory_thissourcedir": "📁 Quellverzeichnis: {sourceDir}", "i18n_directory_thisi18ndir": "🌐 I18n-Verzeichnis: {i18nDir}", "found_files_in_source": "📂 {numFiles} Dateien im Quellverzeichnis gefunden", "no_source_files_found": "⚠️ Keine Quelldateien im angegebenen Verzeichnis gefunden", "processedFiles": "Verarbeitet {processedFiles} von {totalFiles} Dateien.", "failedToProcessFile": "❌ Fehler beim Verarbeiten der Datei: {error}", "found_thisusedkeyssize_unique_": "🎯 {usedKeysSize} eindeutige verwendete Schlüssel gefunden", "total_key_usages_totalkeysfoun": "📊 Gesamtschlüsselverwendungen: {totalKeysFound}", "loading_available_translation_": "📋 Verfügbare Übersetzungsschlüssel werden geladen...", "found_thisavailablekeyssize_av": "✅ {availableKeysSize} verfügbare Schlüssel gefunden", "message": "Analyse der i18n-Schlüsselverwendung im gesamten Projekt.", "usage_analysis_results": "📊 NUTZUNGSANALYSERGEBNISSE", "source_files_scanned_thisfileu": "Gescannte Quelldateien: {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": "Ungenutzte Schlüssel: {unusedKeysLength}", "missing_keys_missingkeyslength": "Fehlende Schlüssel: {missingKeysLength}", "translation_completeness_title": "📊 ÜBERSETZUNGSVOLLSTÄNDIGKEIT", "language_completeness_stats": " {language}: {translated}/{total} ({completeness}% übersetzt)", "n_sample_unused_keys": "\nBeispiel für ungenutzte Schlüssel:", "key": "- {key}", "and_unusedkeyslength_5_more": "...und {count} weitere.", "n_sample_missing_keys": "❌ FEHLENDE SCHLÜSSELE (erste 5):", "and_missingkeyslength_5_more": "... und {count} weitere fehlende Schlüssel", "n_generating_detailed_report": "\n📊 Generierung detaillierten Berichts...", "report_saved_reportpath": "📄 Bericht gespeichert: {reportPath}", "n_recommendations": "\n📋 EMPFEHLUNGEN", "consider_removing_unused_trans": "💡 Erwägen Sie das Entfernen ungenutzter Übersetzungen, um Ihr Projekt sauber zu halten.", "add_missing_translation_keys_t": "➕ Fügen Sie fehlende Übersetzungsschlüssel hinzu, um 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📋 NÄCHSTE SCHRITTE", "2_check_the_detailed_report_fo": "2. Überprüfen Sie den detaillierten Bericht für spezifische Probleme", "help_message": "\nI18n-Nutzungsanalysator\n\nVerwendung: node i18ntk-usage.js [Optionen]\n\nOptionen:\n --source-dir <dir> Quellverzeichnis zum Scannen (Standard: ./locales)\n --i18n-dir <dir> I18n-Verzeichnis (Standard: ./locales)\n --output-report Detaillierten Bericht erstellen\n --output-dir <dir> Ausgabeverzeichnis für Berichte (Standard: ./i18ntk-reports)\n --help Diese Hilfe anzeigen\n\nBeispiele:\n node i18ntk-usage.js --output-report\n node i18ntk-usage.js --source-dir=./app --i18n-dir=./locales\n node i18ntk-usage.js --output-dir=./analysis --output-report\n", "1_review_the_analysis_results": "1. Analysenergebnisse in der Konsole oder im generierten Bericht überprüfen.", "2_run_with_outputreport_for_de": "2. Mit --output-report für detaillierten Bericht ausführen.", "3_remove_unused_keys_or_add_mi": "3. Ungenutzte Schlüssel entfernen oder fehlende Schlüssel zum Quellcode hinzufügen.", "4_rerun_analysis_to_verify_imp": "4. Analyse erneut ausführen, um Verbesserungen zu überprüfen.", "noSourceFilesFound": "Keine Quelldateien gefunden, die analysiert werden sollen.", "i18nDirectoryNotFound": "I18n-Verzeichnis nicht gefunden: {i18nDir}", "noTranslationLanguagesFound": "Keine Übersetzungssprachen gefunden.", "failedToAnalyzeFile": "Analyse der Datei {filePath} fehlgeschlagen: {error}", "failedToAnalyzeLanguage": "Analyse der Sprache {language} fehlgeschlagen: {error}", "translationCompletenessAnalysisFailed": "Analyse der Übersetzungsvollständigkeit fehlgeschlagen: {error}", "n": "" }, "complete": { "configLoadedSuccessfully": "Konfiguration erfolgreich geladen", "configLoadingFailed": "Konfiguration konnte nicht geladen werden", "title": "🌍 I18NTK ÜBERSETZUNGSVOLLSTÄNDIGKEIT", "separator": "============================================================", "sourceDir": "📁 Quellverzeichnis: {sourceDir}", "sourceLanguage": "🌐 Quellsprache: {sourceLanguage}", "dryRunMode": "🧪 Testmodus - es werden keine Änderungen vorgenommen", "languages": "🌍 Verfügbare Sprachen: {languages}", "addingMissingKeys": "➕ Fehlende Schlüssel werden zu Übersetzungsdateien hinzugefügt...", "processing": "🔄 Verarbeite {language}...", "addedKeys": "✅ {count} fehlende Schlüssel hinzugefügt", "changeDetails": "📝 {file}: {key}", "andMore": "...und {count} weitere", "noChangesNeeded": "✅ Keine Änderungen für {language} erforderlich", "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": " node i18ntk-usage.js --output-report", "nextStep3": "2. Übersetzungen validieren:", "nextStep4": " node i18ntk-validate.js", "nextStep5": "3. Muster analysieren:", "nextStep6": " node i18ntk-analyze.js", "allKeysAvailable": "🎉 Alle Übersetzungsschlüssel sind jetzt verfügbar!", "runWithoutDryRun": "💡 Ohne --dry-run ausführen, um Änderungen anzuwenden", "deletingOldReport": "🗑️ Alter Bericht wird gelöscht...", "generatingFreshAnalysis": "📊 Neue Nutzungsanalyse wird erstellt...", "couldNotGenerate": "❌ Nutzungsanalyse konnte nicht erstellt werden", "reportNotFound": "📋 Nutzungsbericht nicht gefunden. Verwende gemeinsame Schlüssel...", "foundMissingKeys": "📋 {count} fehlende Schlüssel aus Nutzungsanalyse gefunden", "couldNotParse": "❌ Nutzungsbericht konnte nicht geparst werden. Verwende gemeinsame Schlüssel..." }, "noTranslationLanguagesFound": "Keine Übersetzungssprachen gefunden.", "failedToAnalyzeLanguage": "Analyse der Sprache {language} fehlgeschlagen: {error}", "translationCompletenessAnalysisFailed": "Analyse der Übersetzungsvollständigkeit fehlgeschlagen: {error}" }, "validate": { "help_message": "\nI18n-Übersetzungs-Validator\n\nVerwendung: node i18ntk-validate.js [Optionen]\n\nOptionen:\n --source-dir <dir> Quellverzeichnis zum Scannen (Standard: ./locales)\n --i18n-dir <dir> I18n-Verzeichnis (Standard: ./locales)\n --output-report Detaillierten Bericht erzeugen\n --output-dir <dir> Ausgabeordner für Berichte (Standard: ./i18ntk-reports)\n --help Diese Hilfe anzeigen\n\nBeispiele:\n node i18ntk-validate.js --output-report\n node i18ntk-validate.js --source-dir=./app --i18n-dir=./locales\n node i18ntk-validate.js --output-dir=./analysis --output-report\n", "title": "🔍 I18n-Übersetzungs-Validator", "message": "Validierungsprozess wird gestartet...", "sourceDirectory": "📁 Quellverzeichnis: {dir}", "sourceLanguage": "🌍 Quellsprache: {sourceLanguage}", "strictMode": "⚙️ Strikter Modus: {mode}", "noTargetLanguages": "Keine Zielsprachen konfiguriert; überspringe Zielvalidierung. Fügen Sie Sprachen hinzu über \"i18ntk init --languages=de,fr\".", "validatingLanguages": "🌍 Validiere Sprachen: {langs}", "validatingLanguage": "🔍 Validiere 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": "⚠️ Gesamtwarnungen: {count}", "errorsSection": "❌ FEHLER", "warningsSection": "⚠️ WARNUNGEN", "recommendationsSection": "💡 EMPFEHLUNGEN", "fixErrorsFirst": "1. Behebe zuerst alle Fehler", "resolveMissingFilesAndSyntaxErrors": "1. Fehlende Dateien und Syntaxfehler beheben", "fixStructuralInconsistencies": "2. Strukturelle Inkonsistenzen beheben", "completeMissingTranslations": "3. Fehlende Übersetzungen vervollständigen", "rerunValidation": "4. Validierung erneut ausführen, um Korrekturen zu prüfen", "addressWarnings": "Warnungen bearbeiten, um Qualität zu verbessern", "reviewWarnings": "Warnungen überprüfen und gegebenenfalls beheben", "considerRunningWithStrict": "2. Erwäge, mit dem Flag --strict für strengere Validierung auszuführen", "allValidationsPassed": "🎉 Alle Validierungen erfolgreich bestanden!", "considerRunningUsageAnalysis": "Erwäge eine Nutzungsanalyse: node i18ntk-usage.js", "deletedOldReport": "🗑️ Alten Validierungsbericht gelöscht", "sourceDir": "📁 Quellverzeichnis: {sourceDir}", "i18nDir": "🌐 I18n-Verzeichnis: {i18nDir}", "loadingTranslationFiles": "📋 Lade Übersetzungsdateien...", "foundTranslationFilesCount": "✅ {count} Übersetzungsdateien gefunden", "analyzingTranslations": "🔍 Analysiere Übersetzungen...", "validationCompletedSuccessfully": "🎉 Validierung erfolgreich abgeschlossen!", "validationErrorsFound": "⚠️ Validierungsfehler gefunden: {count}", "validationWarningsFound": "⚠️ Validierungswarnungen gefunden: {count}", "validationPassed": "✅ Validierung erfolgreich bestanden, keine Fehler", "validationFailed": "Validierung fehlgeschlagen: {error}", "startingValidationProcess": "🔍 Starte Validierungsprozess...", "validationProcessCompletedSuccessfully": "✅ Validierungsprozess erfolgreich abgeschlossen", "stackTrace": "Stack-Trace: {stack}", "authenticationFailed": "❌ Authentifizierung fehlgeschlagen. Zugriff verweigert.", "fatalValidationError": "❌ Schwerwiegender Validierungsfehler: {error}", "configAccess": "Greife auf Konfiguration zur Validierung zu", "configValidated": "Konfiguration erfolgreich validiert", "configError": "Konfigurationsfehler: {error}", "validatorInit": "Initialisiere I18n-Validator", "validatorInitialized": "I18n-Validator erfolgreich initialisiert", "validatorInitError": "Initialisierungsfehler des Validators: {error}", "argsParsing": "Lese Kommandozeilenargumente", "argsParsed": "Kommandozeilenargumente erfolgreich geparst", "argsParseError": "Fehler beim Parsen der Argumente: {error}", "languagesScan": "Suche verfügbare Sprachen", "languagesFound": "Gefundene Sprachen: {count}", "languagesScanError": "Fehler bei der Sprachsuche: {error}", "filesScan": "{count} Dateien in {language} gefunden", "filesScanError": "Fehler beim Dateiscannen: {error}", "jsonValidated": "JSON-Syntax validiert: {filePath}", "jsonValidationError": "JSON-Validierungsfehler: {error}", "languageValidation": "Validiere Sprache: {language}", "languageValidationError": "Fehler bei der Sprachvalidierung: {error}", "fileDeleted": "Datei gelöscht", "runStarted": "Starte Validierungslauf", "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", "noWarnings": "✅ Keine Warnungen gefunden", "summaryHeader": "📋 GESAMTÜBERSICHT", "progressIndicator": "⏳ Bearbeitung...", "completedIndicator": "✅ Abgeschlossen", "errorIndicator": "❌ Fehler", "warningIndicator": "⚠️ Warnung", "infoIndicator": "ℹ️ Info", "sourceDirNotConfigured": "Quellverzeichnis nicht konfiguriert", "sourceLanguageNotConfigured": "Quellsprache nicht konfiguriert", "translationFunctionNotInitialized": "Übersetzungsfunktion nicht richtig initialisiert", "sourceLanguageDirectoryNotFound": "Quellsprache-Verzeichnis nicht gefunden", "specifiedLanguageNotFound": "Angegebene Sprache nicht gefunden", "noJsonFilesFound": "Keine JSON-Dateien im Quellverzeichnis gefunden: {sourceDir}", "i18nDirectoryNotFound": "I18n-Verzeichnis nicht gefunden: {i18nDir}", "invalidDirectoryPaths": "Ungültige Verzeichnispfade erkannt", "invalidSampleFilePath": "Ungültiger Beispiel-Dateipfad", "failedToCreateSampleTranslationFile": "Erstellen der Beispieldatei fehlgeschlagen", "invalidFilePathDetected": "Ungültiger Dateipfad erkannt", "failedToWriteFile": "Schreiben der Datei fehlgeschlagen: {filePath}" }, "adminCli": { "setupPinProtectionTitle": "\n🔐 Einrichtung des Admin-PIN-Schutzes", "setupPinProtectionDescription": "Dies erfordert einen 4-6-stelligen PIN für administrative Operationen.", "enablePinProtectionPrompt": "Möchten Sie den Admin-PIN-Schutz aktivieren?", "setupCancelled": "Einrichtung des Admin-PIN-Schutzes abgebrochen.", "enterPinPrompt": "Geben Sie einen 4-6-stelligen PIN ein: ", "pinFormatError": "❌ PIN muss 4-6 Ziffern haben. Bitte erneut versuchen.", "confirmPinPrompt": "PIN bestätigen: ", "pinMismatchError": "❌ PINs stimmen nicht überein. Bitte erneut versuchen.", "pinProtectionEnabledSuccess": "✅ Admin-PIN-Schutz erfolgreich aktiviert!", "pinRecoveryWarning": "⚠️ Merken Sie sich Ihren PIN – er kann nicht wiederhergestellt werden, wenn er verloren geht.", "setupPinProtectionFailed": "❌ Einrichtung des Admin-PIN-Schutzes fehlgeschlagen.", "errorSettingUpPin": "❌ Fehler bei der Einrichtung des Admin-PINs: {message}", "authRequiredForOperation": "\n🔐 Admin-Authentifizierung erforderlich für: {operation}", "invalidPinFormat": "❌ Ungültiges PIN-Format. PIN muss 4-6 Ziffern haben.", "authenticationSuccess": "✅ Authentifizierung erfolgreich!", "invalidPinAttemptsRemaining": "❌ Ungültiger PIN. {remaining} Versuche verbleiben.", "authenticationFailedAccessDenied": "❌ Authentifizierung fehlgeschlagen. Zugriff verweigert.", "authenticationError": "❌ Authentifizierungsfehler: {message}", "pinProtectionNotEnabled": "Admin-PIN-Schutz ist derzeit nicht aktiviert.", "disablingPinProtectionTitle": "\n🔓 Deaktivierung des Admin-PIN-Schutzes", "confirmDisablePinProtection": "Sind Sie sicher, dass Sie den Admin-PIN-Schutz deaktivieren möchten?", "operationCancelled": "Vorgang abgebrochen.", "pinProtectionDisabledSuccess": "✅ Admin-PIN-Schutz deaktiviert.", "disablePinProtectionFailed": "❌ Deaktivierung des Admin-PIN-Schutzes fehlgeschlagen.", "errorDisablingPinProtection": "❌ Fehler bei der Deaktivierung des Admin-Schutzes: {message}", "adminProtectionStatusTitle": "\n🔐 Status des Admin-Schutzes", "statusEnabled": "Status: ✅ AKTIVIERT", "protectionDetails": "Schutz: 4-6-stelliger PIN für Admin-Operationen erforderlich", "lockoutDetails": "Sperre: 3 fehlgeschlagene Versuche = 15 Minuten Sperrung", "statusDisabled": "Status: ❌ DEAKTIVIERT", "noAuthRequired": "Schutz: Keine Authentifizierung erforderlich", "unprotectedRisk": "Risiko: Administrative Operationen sind ungeschützt", "errorCheckingAdminStatus": "❌ Fehler beim Überprüfen des Admin-Status: {message}", "authRequired": "🔐 Admin-Authentifizierung erforderlich.", "invalidPin": "❌ Ungültiger PIN.", "authSuccess": "✅ Authentifizierung erfolgreich!", "adminPinSetupCli": "admin_pin_setup_cli", "adminAuthFailedCli": "admin_auth_failed_cli", "adminAuthDisabledCli": "admin_auth_disabled_cli", "protectedAccess": "Geschützter Zugriff: Admin-Authentifizierung für sensible Operationen erforderlich.", "enterPin": "Geben Sie den Admin-PIN ein: ", "accessGranted": "Zugriff gewährt." }, "adminPin": { "setup_title": "🔐 Admin-PIN-Einrichtung", "setup_separator": "============================================================", "setup_description": "Erstellen Sie einen 4–6-stelligen PIN für den Admin-Zugriff auf sensible Einstellungen.", "required_for_title": "Dieser PIN wird benötigt für