i18ntk
Version:
i18ntk (i18n Toolkit) - A comprehensive, enterprise-grade internationalization (i18n) management toolkit for JavaScript/TypeScript projects with advanced analysis, validation, and automation features
757 lines (756 loc) • 117 kB
JSON
{
"meta": {
"version": "1.5.3",
"consolidated": "2025-08-06T14:36:37.488Z",
"sourceFiles": 256
},
"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": "Info:",
"debug": "Debug",
"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}}",
"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}",
"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": "Status",
"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!",
"errors": "Fehler:",
"warnings": "Warnungen:",
"completedKeys": "Abgeschlossene Schlüssel:",
"missingKeys": "Fehlende Schlüssel:",
"partialKeys": "Teilweise Schlüssel:"
},
"analyze": {
"help_message": "\nI18n Übersetzungs-Analysator\n\nVerwendung: node i18ntk-analyze.js [Optionen]\n\nOptionen:\n --source-dir <dir> Quellverzeichnis zum Scannen (Standard: ./src)\n --i18n-dir <dir> I18n-Verzeichnis (Standard: ./src/locales)\n --output-report Detaillierten Bericht erstellen\n --output-dir <dir> Ausgabeverzeichnis für Berichte (Standard: ./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",
"title": "🌍 I18N-ÜBERSETZUNGSVERVOLLSTÄNDIGUNG",
"separator": "============================================================",
"sourceDir": "📁 Quellverzeichnis: {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",
"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 in: {{csvPath}}",
"no_translation_files_found": "Keine Übersetzungsdateien gefunden",
"analysis_completed": "Analyse abgeschlossen in {{duration}}ms",
"analysis_failed": "Analyse fehlgeschlagen: {{errorMessage}}",
"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"
},
"hardcodedTexts": {
"keysHaveSignificantSizeVariations": "Schlüssel haben signifikante Größenvariationen",
"considerReviewingTranslations": "Überprüfung der {{lang}} Übersetzungen in Betracht ziehen - sie sind {{percentageDifference}}% {{comparison}} als die Grundlage",
"longTranslationsDetected": "{{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: ./src)\n --i18n-dir <dir> I18n-Verzeichnis (Standard: ./src/locales)\n --output-report Detaillierten Bericht erstellen\n --output-dir <dir> Ausgabeverzeichnis für Berichte (Standard: ./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",
"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}",
"analyzerInitialized": "Analysator initialisiert",
"analyzerInitFailed": "Analysator-Initialisierung fehlgeschlagen: {error}",
"argsParsed": "Argumente geparst",
"argsParseFailed": "Argument-Parsing fehlgeschlagen: {error}",
"translationDiscoveryError": "Übersetzungserkennung fehlgeschlagen: {error}",
"fileTraversalError": "Dateidurchlauf fehlgeschlagen: {error}",
"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:",
"checkUsage": {
"title": "🔍 I18N-NUTZUNGSANALYSE",
"message": "Analyse der i18n-Schlüsselverwendung im gesamten Projekt.",
"help_message": "\nI18n-Nutzungsanalysator\n\nVerwendung: node i18ntk-usage.js [Optionen]\n\nOptionen:\n --source-dir <dir> Quellverzeichnis zum Scannen (Standard: ./src)\n --i18n-dir <dir> I18n-Verzeichnis (Standard: ./src/locales)\n --output-report Detaillierten Bericht erstellen\n --output-dir <dir> Ausgabeverzeichnis für Berichte (Standard: ./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}",
"i18n_directory_thisi18ndir": "🌐 I18n-Verzeichnis: {i18nDir}",
"loading_available_translation_": "📋 Verfügbare Übersetzungsschlüssel werden geladen...",
"found_thisavailablekeyssize_av": "✅ {availableKeysSize} verfügbare Schlüssel gefunden",
"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}",
"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_recommendations": "\n📋 EMPFEHLUNGEN",
"consider_removing_unused_trans": "💡 Erwägen Sie das Entfernen ungenutzter Übersetzungen, um Ihr Projekt sauber zu halten.",
"n_next_steps": "\n📋 NÄCHSTE SCHRITTE",
"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.",
"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}",
"noSourceFilesFound": "Keine Quelldateien gefunden, die analysiert werden sollen.",
"processedFiles": "Verarbeitet {processedFiles} von {totalFiles} Dateien.",
"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": "🌍 I18NÜ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",
"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..."
}
},
"validate": {
"help_message": "\nI18n-Übersetzungs-Validator\n\nVerwendung: node i18ntk-validate.js [Optionen]\n\nOptionen:\n --source-dir <dir> Quellverzeichnis zum Scannen (Standard: ./src)\n --i18n-dir <dir> I18n-Verzeichnis (Standard: ./src/locales)\n --output-report Detaillierten Bericht erzeugen\n --output-dir <dir> Ausgabeordner für Berichte (Standard: ./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 Zielsprache zum Validieren gefunden",
"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:",
"required_for_1": " • Sicherheitseinstellungen ändern",
"required_for_2": " • Erweiterte Konfigurationen ändern",
"required_for_3": " • Zugriff auf Debug-Tools",
"required_for_4": " • Einstellungen zurücksetzen",
"setup_note": "💡 Hinweis: Beim Tippen sehen Sie Sternchen (*) – dies sind nur Maskierungszeichen.",
"setup_digits_only": " Nur Ziffern 0–9 sind als PIN erlaubt.",
"invalid_pin_length": "❌ Ungültiger PIN. Muss 4–6 Ziffern lang sein (nur 0–9).",
"invalid_pin_example": " Beispiel: 1234 oder 567890",
"pins_do_not_match": "❌ PINs stimmen nicht überein.",
"setup_success": "✅ Admin-PIN wurde erfolgreich eingerichtet!",
"setup_warning": "⚠️ Bewahren Sie diesen PIN sicher auf. Er kann nicht wiederhergestellt werden.",
"setup_error": "❌ Fehler beim Einrichten des PIN:",
"session_expired": "\n⏰ Admin-Sitzung ist wegen Inaktivität abgelaufen.",
"no_pin_set_setting_up": "⚠️ Kein Admin-PIN gesetzt. Einrichtung wird gestartet...",
"no_pin_configured_access_denied": "⚠️ Kein Admin-PIN konfiguriert. Zugriff verweigert.",
"use_admin_settings_to_set_pin": "💡 Verwenden Sie die Admin-Einstellungen, um einen PIN einzurichten.",
"locked_out": "🔒 Admin-Zugriff gesperrt wegen zu vieler Fehlversuche.",
"wait_before_retry": "Bitte warten Sie 5 Minuten, bevor Sie es erneut versuchen.",
"access_granted": "✅ Admin-Zugriff gewährt.",
"incorrect_pin": "❌ Falscher PIN. {attempts} Versuche verbleiben.",
"verify_pin_error": "❌ Fehler beim Überprüfen des PIN:",
"already_configured": "✅ Admin-PIN ist bereits eingerichtet.",
"optional_setup_title": "\n🔐 Admin-PIN-Einrichtung (Optional)",
"optional_setup_description": "Admin-PIN-Schutz bietet Sicherheit für sensible Vorgänge wie:",
"setup_prompt": "Möchten Sie einen Admin-PIN einrichten? (j/N): ",
"skipping_setup": "⏭️ Admin-PIN-Einrichtung übersprungen. Sie können es später in den Einstellungen machen.",
"setup_prompt_error": "❌ Fehler beim PIN-Einrichtungsdialog:",
"protectedAccess": "Geschützter Zugriff: Admin-Authentifizierung für sensible Vorgänge erforderlich.",
"enterPin": "Admin-PIN eingeben: ",
"accessGranted": "Zugriff gewährt.",
"invalidPin": "❌ Ungültiger PIN. Bitte erneut versuchen.",
"weak_pin_warning": "⚠️ WARNUNG: Dieser PIN scheint schwach oder weit verbreitet zu sein.",
"weak_pin_suggestion": "💡 Verwenden Sie besser einen stärkeren PIN mit verschiedenen Ziffern.",
"use_anyway_prompt": "Geben Sie „yes“ ein, um ihn trotzdem zu verwenden, oder drücken Sie Enter für einen anderen PIN: ",
"enter_new_pin": "Neuen Admin-PIN eingeben (4–6 Ziffern): ",
"confirm_pin": "Admin-PIN bestätigen: ",
"not_set": "Nicht gesetzt",
"pin_display_mask": "####"
},
"autorun": {
"missingRequiredFile": "Erforderliche Datei fehlt: {file}",
"runInitializationFirst": "Bitte führen Sie zuerst die Initialisierung aus.",
"initializationCheckPassed": "Initialisierungsprüfung erfolgreich.",
"runningStep": "Führe Schritt aus: {stepName}",
"commandLabel": "Befehl: {command}",
"stepRunning": "Schritt '{stepName}' wird ausgeführt...",
"stepCompletedWithTime": "Schritt '{stepName}' abgeschlossen in {duration}ms.",
"stepCompleted": "Schritt '{stepName}' abgeschlossen.",
"stepFailed": "Schritt '{stepName}' fehlgeschlagen.",
"errorLabel": "Fehler: {error}",
"stepFailedWithError": "Schritt '{stepName}' fehlgeschlagen mit Fehler: {error}",
"requiredStepFailed": "Erforderlicher Schritt fehlgeschlagen. Workflow wird gestoppt.",
"optionalStepFailed": "Optionaler Schritt fehlgeschlagen. Workflow wird fortgesetzt.",
"startingAutoRunWorkflow": "Starte Auto-Run-Workflow...",
"workflowIncludesSteps": "Workflow umfasst {count} Schritte:",
"stepRequired": "(Erforderlich)",
"stepOptional": "(Optional)",
"startingExecution": "Starte Ausführung...",
"workflowStopped": "Workflow gestoppt.",
"workflowCompleted": "Workflow abgeschlossen.",
"pressEnterToContinue": "Drücken Sie Enter, um fortzufahren...",
"runningSelectedSteps": "Ausgewählte Schritte werden ausgeführt...",
"invalidStepNumber": "Ungültige Schritt-Nummer: {stepNum}",
"executionReport": "Ausführungsbericht:",
"successfulSteps": "Erfolgreiche Schritte: {count}",
"failedSteps": "Fehlgeschlagene Schritte: {count}",
"requiredFailedSteps": "Fehlgeschlagene erforderliche Schritte: {count}",
"stepDetails": "Schrittdetails:",
"errorDetails": "Fehler: {error}",
"reportSavedTo": "Bericht gespeichert unter: {path}",
"overallStatusSuccess": "ERFOLGREICH",
"overallStatusFailed": "FEHLGESCHLAGEN",
"overallStatus": "Gesamtstatus: {status}",
"customSettingsConfiguration": "Benutzerdefinierte Einstellungen konfigurieren",
"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}",
"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",
"availableSteps": "Verfügbare Schritte:",
"examplesTitle": "Beispiele:",
"configExample": "node i18ntk-autorun.js --config",
"stepsExample1": "node i18ntk-autorun.js --steps 1,2,3",
"stepsExample2": "node i18ntk-autorun.js --all",
"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}",
"stepInitializeProject": "Projekt initialisieren",
"stepAnalyzeTranslations": "Übersetzungen analysieren",
"stepValidateTranslations": "Übersetzungen validieren",
"stepCheckUsage": "Verwendung prüfen",
"stepCompleteTranslations": "Übersetzungen vervollständigen",
"stepAnalyzeSizing": "Größenanalyse durchführen",
"stepGenerateSummary": "Zusammenfassungsbericht wird erstellt...",
"stepCompletedIcon": "✅",
"stepCompletedWithIcon": "✅ Schritt '{stepName}' abgeschlossen.",
"stepRunningWithNumber": "[{stepNumber}/{totalSteps}] Schritt '{stepName}' wird ausgeführt...",
"stepFailedIcon": "❌",
"translationLoadWarning": "Warnung: Konnte Übersetzungen für {lang} nicht laden",
"configReadError": "Fehler beim Lesen von {file}",
"separator": "=================================================="
},
"debug": {
"title": "🔧 Debug-Werkzeuge",
"separator": "============================================================",
"mainDebuggerSystemDiagnostics": "1. Systemdiagnose",
"_consoleTranslationsCheck": "// 2. Konsolenübersetzungen prüfen",
"_exportMissingKeys": "// 3. Fehlende Übersetzungsschlüssel exportieren",
"_replaceHardcodedConsole": "// 4. Hartcodierte Konsolentexte ersetzen",
"_consoleKeyChecker": "// 5. Konsolen-Schlüsselprüfer",
"debugLogs": "2. Debug-Protokolle",
"backToMainMenu": "0. Zurück zum Hauptmenü",
"selectOption": "Wähle ein Debug-Werkzeug: ",
"runningDebugTool": "Führe {displayName} aus...",
"debugToolNotFound": "❌ Debug-Werkzeug nicht gefunden: {toolName}",
"errorRunningDebugTool": "Fehler beim Ausführen des Debug-Werkzeugs '{displayName}': {error}",
"recentDebugLogs": "📄 Letzte Debug-Protokolle",
"noDebugLogsFound": "❌ Keine Debug-Protokolle gefunden.",
"debugLogsDirectoryNotFound": "❌ Verzeichnis für Debug-Protokolle nicht gefunden.",
"selectLogPrompt": "Wähle eine Protokolldatei (1–{count}): ",
"invalidChoiceSelectRange": "Ungültige Auswahl. Bitte wähle aus dem verfügbaren Bereich.",
"contentOf": "📄 Inhalt von {filename}:",
"pressEnterToContinue": "Drücke Enter, um fortzufahren..."
},
"detect_language_mismatches": {
"tool_title": "🔍 Tool zur Erkennung von Sprachinkonsistenzen",
"separator": "=====================================\n",
"analyzing_file": "📄 Analysiere {language}.json...",
"error_analyzing_file": "❌ Fehler beim Analysieren von {filename}: {errorMessage}",
"results_title": "📊 ERGEBNISSE DER SPRACHINKONSISTENZ-ERKENNUNG",
"results_separator": "========================================\n",
"summary_title": "📋 ZUSAMMENFASSUNG:",
"total_files_analyzed": " Gesamt analysierte Dateien: {totalFiles}",
"files_with_mismatches": " Dateien mit Inkonsistenzen: {filesWithMismatches}",
"total_mismatches_found": " Gesamt gefundene Inkonsistenzen: {totalMismatches}\n",
"no_mismatches_found": "✅ Keine Sprachinkonsistenzen gefunden! Alle Übersetzungen scheinen korrekt zu sein.\n",
"detailed_results_title": "🔍 DETAILLIERTE ERGEBNISSE:\n",
"file_mismatch_header": "📄 {filename} ({language})",
"mismatches_count": " {count} Inkonsistenz(en) gefunden:\n",
"mismatch_details": " {index}. Schlüssel: {key}",
"mismatch_value": " Wert: \"{value}\"",
"mismatch_issue": " Problem: {description}",
"recommendations_title": "💡 EMPFEHLUNGEN:\n",
"recommendation_1": "1. Überprüfe und übersetze alle mit [TRANSLATE] markierten Einträge",
"recommendation_2": "2. Ersetze Sprachpräfixe (z. B. [DE], [FR]) durch echte Übersetzungen",
"recommendation_3": "3. Übersetze englische Texte in die jeweilige Zielsprache",
"recommendation_4": "4. Verwende muttersprachliche Entsprechungen für benutzernahe Texte",
"recommendation_5": "5. Starte das Tool nach Korrekturen erneut, um Fixes zu verifizieren\n",
"detailed_report_saved": "📄 Detaillierter Bericht gespeichert unter: {reportPath}\n",
"error_saving_report": "❌ Fehler beim Speichern des Berichts: {errorMessage}\n",
"auto_fix_mode": "🔧 Auto-Fix-Modus {dryRun}",
"auto_fix_separator": "=====================================\n",
"fixed_file": "✅ {filename} wurde korrigiert",
"auto_fix_summary_title": "\n📊 Auto-Fix Zusammenfassung:",
"total_fixes_applied": " Gesamt durchgeführte Fixes: {count}",
"preview_fixes_title": "\n🔍 Vorschau der Fixes:",
"fix_details": " {file}: {key}\n Alt: \"{old}\"\n Neu: \"{new}\"\n",
"more_fixes": " ... und {count} weitere Fixes\n",
"run_with_apply_fixes": "💡 Mit --apply ausführen, um diese Fixes anzuwenden\n",
"error_general": "❌ Fehler:",
"mainDebuggerSystemDiagnostics": "Haupt-Debugger / Systemdiagnose",
"exportMissingKeys": "Fehlende Schlüssel exportieren",
"replaceHardcodedConsole": "Hartcodierte Konsole ersetzen",
"consoleKeyChecker": "Konsolen-Schlüsselprüfer",
"debugLogs": "Debug-Protokolle",
"backToMainMenu": "Zurück zum Hauptmenü",
"invalidChoiceSelectRange": "❌ Ungültige Auswahl. Bitte eine Nummer im angezeigten Bereich wählen.",
"runningDebugTool": "Führe Debug-Tool aus: {displayName}",
"debugToolNotFound": "Debug-Tool '{toolName}' nicht gefunden.",
"recentDebugLogs": "Letzte Debug-Protokolle",
"noDebugLogsFound": "Keine Debug-Protokolle gefunden.",
"logEntry": "Protokolleintrag: {timestamp} – {message}",
"debugLogsDirectoryNotFound": "Verzeichnis für Debug-Protokolle nicht gefunden."
},
"help": {
"title": "📊 I18N VERWALTUNGSHILFE\n\n",
"usage": "Verwendung: node i18ntk-manage.js [Optionen]\n",
"interactiveMode": "\n💡 Verwenden: node i18ntk-manage.js --command=<command> für direkte Ausführung\n",
"showHelp": "\n📖 Verwenden: node i18ntk-manage.js --help für verfügbare Befehle\n",
"availableCommands": "\n📖 Verfügbare Befehle:\n",
"initProject": "🚀 Neue Sprachen initialisieren",
"analyzeTranslations": "🔍 Übersetzungen analysieren",
"validateTranslations": "✅ Übersetzungen validieren",
"checkUsage": "📊 Schlüsselverwendung prüfen",
"initCommand": " init - Neue Sprachen initialisieren",
"analyzeCommand": " analyze - Übersetzungen analysieren",
"validateCommand": " validate - Übersetzungen validieren",
"usageCommand": " usage - Schlüsselverwendung prüfen",
"sizingCommand": " sizing - Größenanalyse durchführen",
"completeCommand": " complete - Übersetzungen vervollständigen (100%)",
"summaryCommand": " summary - Projektstatus anzeigen",
"debugCommand": " debug - Übersetzungsfehler debuggen",
"menu": {
"title": "\n🌐 I18N VERWALTUNGSMENÜ\n",
"description": "Interaktives Menü zur Verwaltung der Internationalisierung\n",
"exit": "\n🚪 Beenden"
},
"commands": {
"init": "\n init - Neue Sprachen initialisieren",
"analyze": " analyze - Übersetzungen analysieren",
"validate": " validate - Übersetzungen validieren",
"usage": " usage - Schlüsselverwendung prüfen",
"sizing": " sizing - Größenanalyse",
"complete": " complete - Übersetzungen vervollständigen",
"summary": " summary - Projektstatus anzeigen",
"debug": " debug - Übersetzungsfehler debuggen"
},
"options": {
"sourceDir": "\n --source-dir <dir> Quellverzeichnis zur Analyse",
"output": " --output <file> Ausgabedatei für den Bericht",
"verbose": " --verbose, -v Ausführliche Informationen anzeigen",
"keepReports": " --keep-reports Bestehende Berichte behalten",
"deleteReports": " --delete-reports Bestehende Berichte löschen",
"help": " --help, -h Diese Hilfe anzeigen"
},
"examples": {
"title": "\nBeispiele:\n",
"example1": " node i18ntk-manage.js",
"example2": " node i18ntk-manage.js --source-dir ./locales",
"example3": " node i18ntk-manage.js --output summary-report.txt",
"example4": " node i18ntk-manage.js --verbose",
"example5": " node i18ntk-manage.js --source-dir ./locales --output report.json"
},
"features": {
"initProject": "🚀 Neue Sprachen initialisieren",
"analyzeTranslations": "🔍 Übersetzungen analysieren",