UNPKG

i18ntk

Version:

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

766 lines 156 kB
{ "meta": { "version": "4.7.0", "updated": "2026-07-07", "lang": "nl" }, "common": { "welcome": "Welkom", "hello": "Hallo", "goodbye": "Tot ziens", "yes": "Ja", "no": "Nee", "save": "Redden", "cancel": "Annuleren", "delete": "Verwijderen", "edit": "Bewerking", "loading": "Laden...", "offlineTitle": "Je bent offline", "offlineMessage": "Controleer uw internetverbinding", "tryReconnect": "Probeer opnieuw verbinding te maken", "logout": "Uitloggen", "login": "Login", "amount": "Hoeveelheid", "success": "Succes", "error": "Fout", "warning": "Waarschuwing", "info": "Info:", "debug": "Foutopsporing", "progress": "Voortgang:", "remaining": "Overig:", "total": "Totaal:", "completed": "7. Succesvol afgerond!", "missing": "Ontbreekt", "partial": "Gedeeltelijk", "sameAsSource": "Hetzelfde als bron:", "formatMismatch": "Formaat komt niet overeen:", "typeMismatch": "Type komt niet overeen:", "structureMismatch": "Structuurmismatch:", "invalidOption": "Ongeldige optie", "separator": "==================================================", "initializationFailed": "❌ Initialisatie mislukt: {error}", "stackTrace": "Stapeltrace: {stack}", "pressEnterToContinue": "Druk op Enter om door te gaan...", "pressEnterToReturn": "Druk op Enter om terug te keren naar het hoofdmenu...", "stepCompleted": "Stap '{stepName}' voltooid.", "stepFailed": "Stap '{stepName}' mislukt.", "runningStep": "Lopende stap: {stepName}", "command": "Commando: {command}", "startingWorkflow": "Werkstroom starten...", "workflowCompleted": "Werkstroom voltooid.", "checkReports": "Controleer rapporten voor details.", "errorExecutingCommand": "Fout bij uitvoeren opdracht: {error}", "genericError": "❌ Fout: {error}", "errors": { "errors": "Fouten:", "genericError": "❌ Fout: {error}", "initializationFailed": "❌ Initialisatie mislukt: {error}", "initializationCancelled": "❌ Initialisatie geannuleerd door gebruiker.", "translationKeyNotFound": "Vertaalsleutel niet gevonden: {key}", "sourceDirectoryNotFound": "Bronmap niet gevonden: {directory}", "configLoadingFailed": "Het laden van de configuratie is mislukt", "invalidSourceDirectory": "Ongeldige bronmap: {directory}", "securityViolation": "Beveiligingsschending gedetecteerd", "authenticationFailed": "Authenticatie mislukt", "sourceEqualsI18nWarn": "⚠️ sourceDir is gelijk aan i18nDir ({sourceDir}). Terugvallend op {fallback} voor het scannen van bronnen." }, "errorGeneratingStatusSummary": "Fout bij genereren van statusoverzicht: {error}", "errorRunningDebugTool": "Fout bij het uitvoeren van foutopsporingstool '{displayName}': {error}", "errorReadingDebugLogs": "Fout bij het lezen van foutopsporingslogboeken: {error}", "errorAnalyzingLogFile": "Fout bij analyseren logbestand: {error}", "errorAnalyzingTranslationKeys": "Fout bij analyseren van vertaalsleutels: {error}", "errorAnalyzingTranslationCompleteness": "Fout bij het analyseren van de volledigheid van de vertaling: {error}", "analyzingTranslationCompleteness": "Volledigheid van vertalingen in alle talen analyseren...", "i18nDirectoryNotFound": "⚠️ i18n-map niet gevonden: {i18nDir}", "translationCompletenessAnalysisFailed": "⚠️ Analyse van de volledigheid van de vertaling is mislukt: {error}", "failedToAnalyzeLanguage": "❌ Kan de taal niet analyseren {language}: {error}", "errorReadingI18nDirectory": "❌ Fout bij het lezen van de i18n-map:", "languageCompletenessTitle": "📈 VOLLEDIGHEID VAN VERTALING PER TAAL", "errorAnalyzingTranslationFormat": "Fout bij analyseren van vertaalformaat: {error}", "errorAnalyzingTranslationType": "Fout bij analyseren van vertaaltype: {error}", "errorAnalyzingTranslationStructure": "Fout bij het analyseren van de vertaalstructuur: {error}", "errorAnalyzingTranslationFormatMismatch": "Fout bij het analyseren van niet-overeenkomende vertaalformaten: {error}", "errorAnalyzingTranslationTypeMismatch": "Fout bij analyseren van niet-overeenkomend vertaaltype: {error}", "errorAnalyzingTranslationStructureMismatch": "Fout bij analyseren van niet-overeenkomende vertaalstructuur: {error}", "errorAnalyzingTranslationSameAsSource": "Fout bij analyseren van vertaling hetzelfde als bron: {error}", "title": "Status", "nextStep1": "1. Gebruiksanalyse controleren:", "nextStep2": "2. Valideer vertalingen:", "nextStep3": "3. Analyseer de volledigheid:", "nextStep4": "4. Vul ontbrekende vertalingen in:", "nextStep5": "5. Genereer een samenvattend rapport:", "nextStep6": "6. Vertalingen beoordelen en afronden:", "generating": "Samenvattend rapport genereren...", "review": "Vertalingen beoordelen...", "finalizing": "Vertalingen afronden...", "finalized": "Succesvol afgerond!", "warnings": "Waarschuwingen:", "completedKeys": "Voltooide sleutels:", "missingKeys": "Ontbrekende sleutels:", "partialKeys": "Gedeeltelijke toetsen:", "home": "Thuis", "settings": "Instellingen", "startingSettings": "🎛️ Instellingen CLI starten...", "confirm": "Bevestigen", "errorExiting": "Fout bij afsluiten." }, "errors": { "invalidOption": "❌ Ongeldige optie: {option}. Probeer het opnieuw.", "readlineClosed": "Invoerstroom is gesloten; uitgevoerd in niet-interactieve modus.", "noPackageJson": "Geen package.json gevonden. Kan i18n-framework niet automatisch detecteren.", "noI18nDir": "Geen i18n-directory gevonden in de hoofdmap van het project.", "noI18nConfig": "Geen i18n-configuratiebestand gevonden in de projectroot.", "errorReadingDebugLogs": "Fout bij het lezen van foutopsporingslogboeken: {error}" }, "scanner": { "help_message": "I18n Tekstscanner Gebruik: knooppunt i18ntk-scanner.js [opties] Opties: --source-dir <dir> Bronmap om te scannen (standaard: ./src) --output <file> Uitvoerbestand voor scanresultaten (standaard: ./i18ntk-scanner-report.json) --framework <name> Raamwerk om te richten (reageren, vue, hoekig, vanille) --patronen <patterns> Aangepaste regex-patronen (door komma's gescheiden) --include-tests Testbestanden opnemen in scan --exclude-dirs <dirs> Uit te sluiten mappen (door komma's gescheiden) --help Deze hulp weergeven Voorbeelden: node i18ntk-scanner.js --source-dir=./src --framework=react node i18ntk-scanner.js --patterns 'console.log\\((.*?)\\)' --include-tests node i18ntk-scanner.js --output=./scan-results.json", "help_options": { "source_dir": "Bronmap om te scannen op i18n-problemen", "output_dir": "Directory voor scanrapporten en resultaten", "framework": "Doelkader (reageren, vue, hoekig, vanille)", "patterns": "Aangepaste regex-patronen voor tekstdetectie", "exclude": "Bestandspatronen die moeten worden uitgesloten van scannen", "output_report": "Genereer een gedetailleerd scanrapport", "min_length": "Minimale tekstlengte waarmee rekening moet worden gehouden bij vertaling", "max_length": "Maximale tekstlengte waarmee rekening moet worden gehouden bij vertaling", "include_tests": "Neem testbestanden op in het scanproces" }, "starting": "🔍 Tekstscanner voor raamwerk starten: {framework}", "sourceDirectory": "📁 Scanmap: {sourceDir}", "frameworkDetected": "🎯 Gedetecteerd raamwerk: {framework}", "scanningFiles": "📊 Scannen {fileCount} bestanden...", "foundTexts": "📝 Gevonden {textCount} teksten die vertaling vereisen", "generatingReport": "📊 Gedetailleerd rapport genereren...", "reportSaved": "💾 Scanrapport opgeslagen op: {reportPath}", "noTextsFound": "✅ Geen hardgecodeerde Engelse teksten gevonden", "scanComplete": "🎉 Scannen succesvol voltooid!", "analysisTitle": "🔍 VERTAALSCANANALYSE", "fileSummary": "📄 {file}: {count} teksten gevonden", "textLocation": "📍Lijn {line}: {text}", "foundText": "Gevonden {count} potentiële hardgecodeerde tekstinstanties", "context": "📝Context: {context}", "severity": "⚠️ Ernst: {severity}", "recommendation": "💡 Aanbeveling: {recommendation}", "welcome": { "title": "🎯 Welkom bij de Tekstscanner!", "description": "Deze tool scant uw broncode op hardgecodeerde Engelse tekst die mogelijk vertaald moet worden." }, "frameworkPrompt": { "title": "🎯 Selecteer Kader", "available": "Beschikbare raamwerken: react, vue, angular, vanilla", "description": "Voer het raamwerktype in (of druk op Enter voor automatische detectie):", "input": "Kader:" }, "directoryPrompt": { "title": "📁 Selecteer Bronmap", "current": "Huidige map: {dir}", "description": "Voer de map in die u wilt scannen (of druk op Enter voor actueel):", "input": "Directory:" }, "options": { "includeTests": "Testbestanden toevoegen?", "excludeDirs": "Uit te sluiten mappen (door komma's gescheiden):", "customPatterns": "Aangepaste patronen om op te scannen (regex):" }, "reportGenerated": "Scanrapport gegenereerd: {path}" }, "fixer": { "help_message": "I18n Translation Fixer Gebruik: node i18ntk-fixer.js [opties] Opties: --source-dir <dir> Bronmap om te scannen (standaard: ./locales) --talen <langs> Door komma's gescheiden lijst met talen die --markers moeten repareren <markers> Door komma's gescheiden markeringen die als onvertaald moeten worden behandeld --no-backup Automatisch maken van back-ups overslaan --help Toon deze hulp Voorbeelden: node i18ntk-fixer.js --talen de,fr node i18ntk-fixer.js --source-dir=./locales --markers NOT_TRANSLATED node i18ntk-fixer.js --no-backup", "starting": "🚀 Vertaalreparatie voor talen starten: {languages}", "sourceDirectory": "📁 Bronmap: {sourceDir}", "sourceLanguage": "🔤 Brontaal: {sourceLanguage}", "markers": "🏷️ Markeringen om te repareren: {markers}", "scanningLanguage": "📊 Scannen {language}...", "noLanguages": "❌ Geen talen gespecificeerd voor reparatie.", "allComplete": "🎉 Alle vertalingen zijn al voltooid!", "fullReportSaved": "📊 Volledig rapport opgeslagen in: {reportPath}", "reviewReport": "Controleer het rapport voordat u verdergaat.", "backupCreated": "💾 Back-up is succesvol gemaakt.", "applyingFixes": "🔄 Fixes toepassen...", "fixingComplete": "✅ Het repareren van de vertaling is voltooid!", "operationCancelled": "❌ Bewerking geannuleerd door gebruiker.", "analysisTitle": "🔍 VERTAALBEVESTIGINGSANALYSE", "analysisSeparator": "==================================================", "totalIssues": "Totaal aantal gevonden problemen: {totalIssues}", "missingTranslations": "Ontbrekende vertalingen: {missing}", "placeholderTranslations": "Vertalingen van tijdelijke aanduidingen: {placeholder}", "noIssues": "✅ Geen problemen gevonden. Alle vertalingen zijn voltooid.", "detailedIssues": "📋 DETAILED ISSUES:", "detailedSeparator": "--------------------------------------------------", "filePath": "📄 {file} → {path}", "missingKey": "❌ VERMIST: {source} → {new}", "placeholderKey": "⚠️ PLAATSHOUDER: \"{target}\" → \"{new}\"", "moreIssues": "... En {count} meer problemen. Controleer het rapportbestand voor volledige details.", "confirmationTitle": "🤔 Wilt u doorgaan met deze oplossingen?", "confirmationOptions": "Opties:", "optionYes": "y - Ja, pas alle oplossingen toe", "optionNo": "n - Nee, annuleer de bewerking", "optionShow": "s - Gedetailleerde problemen weergeven", "choicePrompt": "Uw keuze (j/n/s):", "nonInteractiveMode": "⚡ Niet-interactieve modus gedetecteerd - correcties automatisch toepassen...", "reportGenerated": "📊 Fixerrapport gegenereerd: {path}", "summary": "Samenvatting van de fixer:", "welcome": { "title": "🎯 Welkom bij de Translation Fixer!", "description": "Met deze tool kunt u defecte vertalingen en tijdelijke aanduidingen in uw landinstellingsbestanden herstellen." }, "markerPrompt": { "title": "🏷️ Configureer plaatsaanduidingsmarkeringen", "description": "Voer de markeringen in die onvertaalde tekst aangeven (door komma's gescheiden):", "currentDefaults": "Standaardmarkeringen: {markers}", "input": "Markeringen (of druk op Enter voor standaardwaarden):" }, "languagePrompt": { "title": "🌍 Selecteer Talen die u wilt corrigeren", "available": "Beschikbare talen: {languages}", "description": "Voer de talen in die u wilt corrigeren (door komma's gescheiden) of druk op Enter voor alles:", "input": "Talen:", "noLanguages": "Geen talen gevonden om op te lossen." }, "directoryPrompt": { "title": "📁 Selecteer Telefoonboek", "current": "Huidige map: {dir}", "description": "Voer de map in die uw landinstellingsbestanden bevat (of druk op Enter voor actueel):", "input": "Directory:" }, "backupLocation": "Back-uplocatie: {dir}", "completed": "Fixatie voltooid.", "creatingBackup": "Back-up maken in {dir}...", "dryRunMode": "Droogloopmodus: {mode}", "error": "Fixer mislukt: {error}", "fixing": "Bevestiging {language}...", "foundLanguages": "Gevonden {count} talen: {languages}", "languageFixed": "{language}: vast {fixed} toets(en), overgeslagen {skipped}.", "running": "Vertaalfixer uitvoeren...", "totalFixed": "Totaal vast: {count}" }, "autorun": { "stepAnalyzeTranslations": "Analyseer vertalingen", "stepCompletedWithIcon": "✅ Voltooid: {stepName}", "stepValidateTranslations": "Valideer vertalingen", "stepRunning": "▶️ Stap {stepNumber}/{totalSteps}: {stepName}", "separator": "==================================================", "stepFailed": "❌ Mislukt: {stepName}", "errorLabel": "Fout", "autoRunScriptTitle": "🧪 Automatische workflow", "usageTitle": "Gebruik", "runAllSteps": "Uitvoeren: knooppunt i18ntk-autorun.js", "configureSettingsFirst": "Config: i18ntk-config.json of CLI-vlaggen", "runSpecificSteps": "Gebruik --step=1,3 of --list om stappen weer te geven", "showHelp": "--help voor meer informatie", "examplesTitle": "Voorbeelden", "configExample": "knooppunt i18ntk-autorun.js --ui-taal=zh", "stepsExample1": "knooppunt i18ntk-autorun.js --steps=analyseren, valideren", "stepsExample2": "knooppunt i18ntk-autorun.js --list", "customSettingsConfiguration": "Aangepaste autorun-instellingen", "availableSteps": "Beschikbare stappen", "startingAutoRunWorkflow": "🚀 Auto-Run-workflow starten...", "workflowIncludesSteps": "Workflow omvat {count} stappen:", "missingRequiredFile": "Ontbrekend vereist bestand: {file}", "workflowStopped": "De workflow is gestopt vanwege een storing.", "workflowCompleted": "🎉 Werkstroom voltooid!", "successfulSteps": "Succesvolle stappen: {count}", "failedSteps": "Mislukte stappen: {count}", "stepInitializeProject": "Initialiseer het project", "stepCheckUsage": "Controleer het sleutelgebruik", "stepGenerateSummary": "Samenvattend rapport genereren", "runInitializationFirst": "Voer eerst de initialisatie uit.", "initializationCheckPassed": "Initialisatiecontrole geslaagd.", "runningStep": "Lopende stap: {stepName}", "commandLabel": "Commando: {command}", "stepCompletedWithTime": "Stap '{stepName}' binnen voltooid {duration}mevrouw.", "stepCompleted": "Stap '{stepName}' voltooid.", "stepFailedWithError": "Stap '{stepName}' mislukt met fout: {error}", "requiredStepFailed": "Vereiste stap is mislukt. Werkstroom stoppen.", "optionalStepFailed": "Optionele stap mislukt. Voortdurende werkstroom.", "stepRequired": "(Vereist)", "stepOptional": "(Optioneel)", "startingExecution": "Uitvoering starten...", "pressEnterToContinue": "Druk op Enter om door te gaan...", "runningSelectedSteps": "Geselecteerde stappen uitvoeren...", "invalidStepNumber": "Ongeldig stapnummer: {stepNum}", "executionReport": "Uitvoeringsrapport:", "requiredFailedSteps": "Vereiste stappen zijn mislukt: {count}", "stepDetails": "Stapdetails:", "reportSavedTo": "Rapport opgeslagen in: {path}", "overallStatusSuccess": "SUCCESS", "overallStatusFailed": "FAILED", "overallStatus": "Algemene status: {status}", "pressEnterForDefaults": "Druk op Enter om de standaardinstellingen voor elke prompt te gebruiken.", "sourceDirPrompt": "Voer de bronmap in (standaard: {default}):", "sourceLangPrompt": "Voer de brontaal in (standaard: {default}):", "targetLangsPrompt": "Voer doeltalen in (door komma's gescheiden, standaard: {default}):", "translationMarkerPrompt": "Voer een vertaalmarkering in (standaard: {default}):", "outputDirPrompt": "Voer de uitvoermap voor rapporten in (standaard: {default}):", "settingsUpdatedSuccessfully": "Instellingen succesvol bijgewerkt!", "errorConfiguringSettings": "Fout bij configureren van instellingen: {error}", "configurationComplete": "Configuratie voltooid.", "runAutoRunCommand": "Nu kunt u de opdracht auto-run uitvoeren.", "configurationFailed": "Configuratie mislukt: {error}", "noValidStepNumbers": "Er zijn geen geldige stapnummers opgegeven.", "autoRunFailed": "Automatisch uitvoeren mislukt: {error}", "stepCompleteTranslations": "Volledige vertalingen", "stepAnalyzeSizing": "Analyseer de maatvoering", "stepCompletedIcon": "✅", "stepRunningWithNumber": "[{stepNumber}/{totalSteps}] Stap '{stepName}' rennen...", "stepFailedIcon": "❌", "translationLoadWarning": "Waarschuwing: kon niet laden {lang} vertalingen", "configReadError": "Fout bij lezen {file}" }, "analyze": { "help_message": "I18n Translation Analyzer Gebruik: node i18ntk-analyze.js [opties] Opties: --source-dir <dir> Bronmap om te scannen (standaard: ./src) --i18n-dir <dir> I18n map (standaard: ./src/locales) --output-report Genereer gedetailleerd rapport --output-dir <dir> Uitvoermap voor rapporten (standaard: ./reports) --help Deze hulp weergeven Voorbeelden: node i18ntk-analyze.js --output-report node i18ntk-analyze.js --source-dir=./app --i18n-dir=./locales node i18ntk-analyze.js --output-dir=./analysis --output-report", "source_directory": "📁 Bronmap: {sourceDir}", "i18n_directory": "🌐 I18n-map: {i18nDir}", "loading_translation_files": "📋 Vertaalbestanden laden...", "sourceDirectoryLabel": "📁 Bronmap: {sourceDir}", "sourceLanguageLabel": "🌍 Brontaal: {sourceLanguage}", "strictModeLabel": "⚙️ Strikte modus: {mode}", "found_translation_files_count": "✅ Gevonden {count} vertaalbestanden", "analyzing_translations": "🔍Vertalingen analyseren...", "analysis_completed_successfully": "🎉 Analyse succesvol afgerond!", "analysis_results": "📊 ANALYSIS RESULTS", "language_analysis_stats": "{language}: {translatedKeys}/{totalKeys} ({percentage}% vertaald)", "sample_missing_keys": "Voorbeeld van ontbrekende sleutels:", "missing_key": "- {key}", "and_more_missing": "...En {count} meer.", "sample_unused_keys": "Voorbeeld van ongebruikte sleutels:", "unused_key": "- {key}", "and_more_unused": "...En {count} meer.", "recommendations": "📋 AANBEVELINGEN", "add_missing_translations": "💡 Voeg ontbrekende vertalingen toe om de dekking te verbeteren.", "remove_unused_translations": "💡 Verwijder ongebruikte vertalingen om uw project schoon te houden.", "next_steps": "📋 NEXT STEPS", "review_analysis_results": "1. Bekijk de analyseresultaten in de console of het gegenereerde rapport.", "run_with_output_report": "2. Voer het uit met --output-report voor een gedetailleerd rapport.", "add_or_remove_translations": "3. Voeg ontbrekende vertalingen toe of verwijder ongebruikte vertalingen.", "rerun_analysis": "4. Voer de analyse opnieuw uit om verbeteringen te verifiëren.", "analysis_summary": "📊 ANALYSIS SUMMARY", "source_files_scanned": "Bronbestanden gescand: {fileCount}", "translation_files_checked": "Vertaalbestanden gecontroleerd: {translationFileCount}", "total_keys": "Totaal sleutels: {totalKeys}", "translated_keys": "Vertaalde sleutels: {translatedKeys}", "missing_keys": "Ontbrekende sleutels: {missingKeys}", "unused_keys": "Ongebruikte sleutels: {unusedKeys}", "translation_coverage": "Vertaling dekking: {coverage}%", "analysis_passed_for_language": "✅Analyse geslaagd {language}", "analysis_failed_for_language": "❌ Analyse mislukt {language} ({missingKeys} vermist, {unusedKeys} ongebruikt)", "starting": "🔍 Vertaalanalyse starten...", "foundLanguages": "📋 Gevonden {count} talen om te analyseren: {languages}", "analyzing": "🔄 Analyseren {language}...", "reportTitle": "📊 VERTAALANALYSERAPPORT", "generated": "Gegenereerd: {timestamp}", "status": "Status: {translated}/{total} sleutels ({percentage}% vertaald)", "filesAnalyzed": "Geanalyseerde bestanden: {analyzed}/{total}", "keysNeedingTranslation": "Sleutels die vertaling nodig hebben: {count}", "fileBreakdown": "📋 BESTANDSVERDELING", "error": "Fout", "completed": "✅ Analyse voltooid voor {language}", "progress": "📊 Algemene voortgang: {translated}/{total} talen verwerkt", "reportSaved": "Rapport opgeslagen: {reportPath}", "summary": "📊 ANALYSIS SUMMARY", "finished": "✅ Analyse succesvol afgerond!", "statusFileMissing": "❌ Vertaalbestand ontbreekt", "sourceKeys": "📊 Bronsleutels: {count}", "translation": "📊 Vertaling: {translated}/{total} ({percentage}%)", "structure": "🗂️ Structuur: {status}", "consistent": "Consistent", "inconsistent": "Inconsequent", "missingKeys": "Ontbrekende sleutels: {count}", "extraKeys": "Extra sleutels: {count}", "issues": "⚠️ Gevonden problemen: {count}", "issueType": { "not_translated": "Niet vertaald: {count}", "empty_value": "Lege waarden: {count}", "partial_translation": "Gedeeltelijke vertalingen: {count}", "format_mismatch": "Formaat komt niet overeen: {count}", "type_mismatch": "Type-mismatches: {count}", "structure_mismatch": "Structuurmismatches: {count}", "same_as_source": "Hetzelfde als bron: {count}" }, "keysToTranslate": "📋 SLEUTELS OM TE VERTALEN", "key": "Sleutel", "english": "Engels", "needsTranslation": "HEEFT VERTALING NODIG", "andMoreKeys": "...En {count} meer sleutels.", "noLanguages": "⚠️ Geen doeltalen gevonden.", "languageStats": "{language}: {percentage}% compleet ({translated}/{total} sleutels)", "invalidReportFilePath": "Ongeldig rapportbestandspad", "failedToWriteReportFile": "Kan het rapportbestand niet veilig schrijven" }, "complete": { "configLoadedSuccessfully": "Configuratie succesvol geladen", "configLoadingFailed": "Het laden van de configuratie is mislukt", "sourceLanguageNotFound": "Brontaaldirectory niet gevonden: {sourceLanguage}", "couldNotParseTarget": "Kan doelbestand niet parseren: {file}", "couldNotParseSource": "Kan bronbestand niet parseren: {file}", "reportGenerated": "Rapport gegenereerd: {path}", "generateReportPrompt": "Wilt u een rapport laten genereren?", "title": "🌍 I18NTK VERTALING VOLTOOID", "separator": "============================================================", "sourceDir": "📁 Bronmap: {sourceDir}", "sourceLanguage": "🌐 Brontaal: {sourceLanguage}", "dryRunMode": "🧪 Droogloopmodus - er worden geen wijzigingen aangebracht", "languages": "🌍 Beschikbare talen: {languages}", "addingMissingKeys": "➕ Ontbrekende sleutels toevoegen aan vertaalbestanden...", "processing": "🔄 Verwerking {language}...", "addedKeys": "✅ Toegevoegd {count} ontbrekende sleutels", "noChangesNeeded": "✅ Geen wijzigingen nodig voor {language}", "summaryTitle": "📊 VOLTOOID SAMENVATTING", "totalChanges": "📝 Totaal aantal wijzigingen: {totalChanges}", "languagesProcessed": "🌍 Verwerkte talen: {languagesProcessed}", "missingKeysAdded": "➕ Ontbrekende sleutels toegevoegd: {missingKeysAdded}", "nextStepsTitle": "📋 NEXT STEPS", "nextStep1": "1. Gebruiksanalyse uitvoeren:", "nextStep2": "knooppunt i18ntk-usage.js --output-rapport", "nextStep3": "2. Valideer vertalingen:", "nextStep4": "knooppunt i18ntk-validate.js", "nextStep5": "3. Analyseer patronen:", "nextStep6": "knooppunt i18ntk-analyze.js", "allKeysAvailable": "🎉 Alle vertaalsleutels zijn nu beschikbaar!", "runWithoutDryRun": "💡 Uitvoeren zonder --drooglopen om wijzigingen toe te passen", "deletingOldReport": "🗑️ Oud rapport verwijderen...", "generatingFreshAnalysis": "📊 Nieuwe gebruiksanalyses genereren...", "couldNotGenerate": "❌ Kan geen gebruiksanalyse genereren", "reportNotFound": "📋 Gebruiksrapport niet gevonden. Gemeenschappelijke sleutels gebruiken...", "foundMissingKeys": "📋 Gevonden {count} ontbrekende sleutels uit gebruiksanalyse", "couldNotParse": "❌ Kan het gebruiksrapport niet parseren. Gemeenschappelijke sleutels gebruiken...", "errorDuringCompletion": "❌ Fout tijdens voltooiing: {error}", "fatalError": "❌ Fatale fout: {error}", "configurationValidationFailed": "Configuratievalidatie mislukt: verplichte velden ontbreken" }, "sizing": { "separator": "================================================================================", "lineSeparator": "--------------------------------------------------------------------------------", "analysisStats": "{stats}", "sourceDirectoryLabel": "📁 Bronmap: {sourceDir}", "sourceLanguageLabel": "🌍 Brontaal: {sourceLanguage}", "strictModeLabel": "⚙️ Strikte modus: {mode}", "invalidSourceDirectoryError": "Ongeldig bronmappad: {sourceDir}", "sourceDirectoryNotFoundError": "Bronmap niet gevonden: {sourceDir}", "invalidOutputDirectoryError": "Ongeldig pad voor de uitvoermap: {outputDir}", "invalidReportFileError": "Ongeldig rapportbestandspad", "problematic_keys": "Problematische toetsen: {problematicKeys}", "problematicKeysLabel": "Problematische toetsen: {problematicKeys}", "long_translations": "Lange vertalingen: {longTranslations}", "failedToSaveReportError": "Kan het rapport niet veilig opslaan", "invalidCsvFileError": "Ongeldig CSV-bestandspad", "failedToSaveCsvError": "Kan het CSV-rapport niet veilig opslaan", "fatalError": "❌ Grootteanalyse mislukt: {error}", "starting_i18n_sizing_analysis": "Grootteanalyse van i18n starten...", "source_directory": "Bronmap: {sourceDir}", "found_languages": "Gevonden talen: {languages}", "analyzing_file_sizes": "Bestandsgroottes analyseren...", "analyzing_translation_content": "Vertaalinhoud analyseren...", "generating_size_comparisons": "Groottevergelijkingen genereren...", "no_languages_found_for_comparison": "Geen talen gevonden ter vergelijking", "sizing_analysis_results": "I18n Maatanalyseresultaten", "file_sizes_title": "Bestandsgroottes", "file_sizes_header": "Taalgrootte (KB) Lijnen Tekens", "file_size_row": "{lang} {sizeKB} {lines} {characters}", "language_statistics_title": "Taalstatistieken", "language_stats_header": "Taaltoetsen Tekens Gem. lengte Max. lengte Leeg Lang", "language_stats_row": "{lang} {totalKeys} {totalCharacters} {averageKeyLength} {maxKeyLength} {emptyKeys} {longKeys}", "size_variations_title": "Maatvariaties", "size_variations_header": "Taalteken verschil % verschil Problematisch", "size_variation_row": "{lang} {characterDifference} {percentageDifference}% {problematic}", "problematic_yes": "Ja", "problematic_no": "Nee", "recommendations_title": "Aanbevelingen", "recommendation_item": "{index}. {recommendation}", "problematic_key_detail": "{index}. Sleutel: '{key}' - Variaties: {variations}", "generating_detailed_report": "Gedetailleerd rapport genereren...", "keysHaveSignificantSizeVariations": "sleutels hebben aanzienlijke variaties in grootte", "longTranslationsDetected": "${lang} heeft vertalingen van ${data.longKeys} die langer zijn dan 100 tekens. Overweeg deze op te splitsen", "longer": "langer", "shorter": "korter", "review_translations": "Overweeg om te beoordelen {lang} vertalingen - dat zijn ze {percentageDifference}% {comparison} dan de basislijn", "report_saved_to": "Rapport opgeslagen in: {reportPath}", "considerReviewingTranslations": "Overweeg om te beoordelen ${lang} vertalingen - ze zijn ${data.percentageDifference}% langer dan de basislijn", "csv_report_saved_to": "CSV-rapport opgeslagen in: {csvPath}", "human_report_saved": "Leesbaar rapport opgeslagen: {reportPath}", "folder_summary_title": "Mapsamenvatting", "folder_summary_table_header": "Taalgrootte (KB) Toetsen Gem. lengte Totaal aantal tekens", "folder_summary_row": "{lang} {sizeKB} {totalKeys} {avgLength} {totalChars}", "language_comparison_title": "Taalvergelijking", "language_comparison_row": "{lang}: {diff} tekens ({percent}%) {status}", "summary_stats": "📊 Samenvatting: {totalLanguages} talen, {totalKeys} toetsen - Rapporten opgeslagen in {reportPath}", "detailedKeysDescription": "Toon gedetailleerde analyse op sleutelniveau in de console", "too_many_keys_warning": "⚠️ Te veel sleutels om in de console weer te geven - bekijk het gedetailleerde rapportbestand voor volledige analyse", "no_translation_files_found": "Geen vertaalbestanden gevonden", "analysis_completed": "Analyse voltooid in {duration}mevrouw", "analysis_failed": "Analyse mislukt: {errorMessage}", "starting_analysis": "Analyse starten...", "found_files": "Gevonden {count} bestanden", "failed_to_parse_language_error": "Kan niet parseren {language} vertalingen: {errorMessage}", "recommendations": { "keys_have_significant_size_variations": "sleutels hebben aanzienlijke variaties in grootte", "consider_reviewing_translations": "Overweeg om te beoordelen {lang} vertalingen - dat zijn ze {percentageDifference}% {comparison} dan de basislijn", "long_translations_detected": "{lang} heeft {longKeys} vertalingen langer dan {threshold} karakters - overweeg ze op te splitsen" }, "detailed_key_analysis_title": "Gedetailleerde sleutelanalyse", "key_analysis_detail": "{lang}: {length} tekens ({status}) - {translation}", "key_analysis_header": "Sleutel: {key}", "status_empty": "leeg", "status_long": "lang", "status_ok": "OK" }, "usage": { "help_message": "I18n Usage Analyzer Gebruik: knooppunt i18ntk-usage.js [opties] Opties: --source-dir <dir> Bronmap om te scannen (standaard: ./src) --i18n-dir <dir> I18n map (standaard: ./src/locales) --output-report Genereer gedetailleerd rapport --output-dir <dir> Uitvoermap voor rapporten (standaard: ./reports) --help Deze hulp weergeven Voorbeelden: node i18ntk-usage.js --output-report node i18ntk-usage.js --source-dir=./app --i18n-dir=./locales node i18ntk-usage.js --output-dir=./analysis --output-report", "source_directory_thissourcedir": "📁 Bronmap: {sourceDir}", "translationCompletenessTitle": "🌍 Volledigheid van de vertaling:", "i18n_directory_thisi18ndir": "🌐 I18n-map: {i18nDir}", "failed_to_parse_filename_error": "⚠️ Kan niet parseren {fileName}: {errorMessage}", "analyzing_source_files": "🔍 Bronbestanden analyseren...", "found_files_in_source": "📂 Gevonden {numFiles} bestanden in de bronmap", "found_thisusedkeyssize_unique_": "🎯 Gevonden {usedKeysSize} unieke gebruikte sleutels", "total_key_usages_totalkeysfoun": "📊 Totaal sleutelgebruik: {totalKeysFound}", "loading_available_translation_": "📋 Beschikbare vertaalsleutels laden...", "found_thisavailablekeyssize_av": "✅ Gevonden {availableKeysSize} beschikbare sleutels", "foundTranslationFiles": "✅ Gevonden {count} vertaalbestanden", "errorReadingI18nDirectory": "⚠️ Fout bij het lezen van de i18n-directory: {error}", "pressEnterToReturnToMenu": "📝 Druk op Enter om terug te keren naar het hoofdmenu...", "notTranslatedKeysTotal": "⚠️ Niet vertaalde sleutels: {total}", "noSourceFilesFound": "⚠️ Geen bronbestanden gevonden in de bronmap.", "reviewNotTranslatedKeys": "💡 Review niet vertaalde sleutels", "analysisCompletedSuccessfully": "🎉 Analyse succesvol afgerond!", "detectedSourceDirectory": "Gedetecteerde bronmap: {sourceDir}", "detectedI18nDirectory": "Gedetecteerde i18n-map: {i18nDir}", "fileInfo": "📄 {namespace}: {keys} sleutels", "failedToAnalyzeUsage": "❌ Kan het gebruik niet analyseren: {error}", "failedToAnalyzeFile": "❌ Kan het bestand niet analyseren: {error}", "failedToExtractKeys": "❌ Kan sleutels niet extraheren {filePath}: {error}", "analysisFailedError": "❌ Analyse mislukt: {error}", "analyzerInitialized": "Analysator geïnitialiseerd", "analyzerInitFailed": "Initialisatie van de analyser is mislukt: {error}", "argsParsed": "Argumenten ontleed", "processedFiles": "Verwerkt {processedFiles} van {totalFiles} bestanden.", "argsParseFailed": "Parseren van argumenten mislukt: {error}", "translationDiscoveryError": "Fout bij het ontdekken van vertalingen: {error}", "fileTraversalError": "Fout bij het doorlopen van bestanden: {error}", "sourceEqualsI18nWarn": "{reason}. Bij gebruiksanalyse worden landinstellingsbestanden niet als broncode gescand.", "i18nEqualsSourceWarn": "⚠️ I18n-directory en brondirectory zijn hetzelfde. Dit kan problemen met de analyse veroorzaken.", "usageAnalysisFailed": "⚠️ Gebruiksanalyse mislukt: {error}", "translationFileParseError": "⚠️ Parseerfout in vertaalbestand: {error}", "translationKeysLoadError": "⚠️ Fout bij het laden van vertaalsleutels: {error}", "languageCompletenessStats": "🌐 {language}: {translated}/{total} ({completeness}% vertaald)", "missingKeysCount": "⚠️ Ontbrekende sleutels: {count}", "analyzingTranslationCompleteness": "Volledigheid van vertalingen analyseren...", "unusedKeysCount": "Ongebruikte sleutels: {count}", "usedKeysCount": "Gebruikte sleutels: {count}", "availableKeysCount": "Beschikbare sleutels: {count}", "analysisResults": "Analyseresultaten:", "i18nDirectoryNotFound": "⚠️ I18n-directory niet gevonden. Controleer het pad.", "sourceDirectoryNotFound": "⚠️ Bronmap niet gevonden: {dir}", "checkUsage": { "title": "🔍 I18NTK USAGE ANALYSIS", "analyzing_source_files": "🔍 Bronbestanden analyseren...", "source_directory_thissourcedir": "📁 Bronmap: {sourceDir}", "i18n_directory_thisi18ndir": "📁 i18n-map: {i18nDir}", "found_files_in_source": "✅ Gevonden {numFiles} bestanden in de bronmap", "no_source_files_found": "⚠️ Geen bronbestanden gevonden in de opgegeven map", "processedFiles": "📊 Verwerkt {processedFiles} van {totalFiles} bestanden", "failedToProcessFile": "❌ Kan niet worden verwerkt", "found_thisusedkeyssize_unique_": "🔍Gevonden {usedKeysSize} unieke gebruikte sleutels", "total_key_usages_totalkeysfoun": "📊 Totaal sleutelgebruik: {totalKeysFound}", "loading_available_translation_": "📂 Beschikbare vertaalsleutels laden...", "found_thisavailablekeyssize_av": "✅ Gevonden {availableKeysSize} beschikbare sleutels", "message": "Analyseren van het gebruik van vertaalsleutels in uw project...", "usage_analysis_results": "📊 USAGE ANALYSIS RESULTS", "source_files_scanned_thisfileu": "📁 Bronbestanden gescand: {fileUsageSize}", "available_translation_keys_thi": "✅ Beschikbare vertaalsleutels: {availableKeysSize}", "used_translation_keys_thisused": "🔍 Gebruikte vertaalsleutels: {usedKeysSize}", "dynamic_keys_detected_dynamick": "⚡ Dynamische sleutels gedetecteerd: {dynamicKeysLength}", "unused_keys_unusedkeyslength": "🗑️ Ongebruikte sleutels: {unusedKeysLength}", "missing_keys_missingkeyslength": "❌ Ontbrekende sleutels: {missingKeysLength}", "translation_completeness_title": "📈 VOLLEDIGHEID VAN DE VERTALING", "language_completeness_stats": "{language}: {translated}/{total} sleutels ({percentage}%)", "n_sample_unused_keys": "🗑️ VOORBEELD VAN ONGEBRUIKTE SLEUTELS (eerste 5):", "key": "🔑 {key}", "and_unusedkeyslength_5_more": "... En {count} meer ongebruikte sleutels", "n_sample_missing_keys": "❌ VOORBEELD ONTBREKENDE SLEUTELS (eerste 5):", "and_missingkeyslength_5_more": "... En {count} meer ontbrekende sleutels", "n_generating_detailed_report": "📊 Gedetailleerd rapport genereren...", "report_saved_reportpath": "📄 Rapport opgeslagen: {reportPath}", "n_recommendations": "💡 AANBEVELINGEN:", "consider_removing_unused_trans": "🗑️ Overweeg om ongebruikte vertalingen te verwijderen om de bundelgrootte te verkleinen", "add_missing_translation_keys_t": "➕ Voeg ontbrekende vertaalsleutels toe om de consistentie te behouden", "review_dynamic_keys_manually_t": "🔍 Dynamische sleutels handmatig bekijken (ze kunnen geldig zijn)", "all_translation_keys_are_prope": "✅ Alle vertaalsleutels worden correct gebruikt!", "n_next_steps": "🎯 NEXT STEPS:", "2_check_the_detailed_report_fo": "2. Controleer het gedetailleerde rapport op specifieke problemen", "help_message": "I18n Usage Analyzer Gebruik: knooppunt i18ntk-usage.js [opties] Opties: --source-dir <dir> Bronmap om te scannen (standaard: ./src) --i18n-dir <dir> I18n map (standaard: ./src/locales) --output-report Genereer gedetailleerd rapport --output-dir <dir> Uitvoermap voor rapporten (standaard: ./reports) --help Deze hulp weergeven Voorbeelden: node i18ntk-usage.js --output-report node i18ntk-usage.js --source-dir=./app --i18n-dir=./locales node i18ntk-usage.js --output-dir=./analysis --output-report", "1_review_the_analysis_results": "1. Bekijk de analyseresultaten in de console of het gegenereerde rapport.", "2_run_with_outputreport_for_de": "2. Voer het uit met --output-report voor een gedetailleerd rapport.", "3_remove_unused_keys_or_add_mi": "3. Verwijder ongebruikte sleutels of voeg ontbrekende sleutels toe aan uw broncode.", "4_rerun_analysis_to_verify_imp": "4. Voer de analyse opnieuw uit om verbeteringen te verifiëren.", "noSourceFilesFound": "Er zijn geen bronbestanden gevonden om te analyseren.", "i18nDirectoryNotFound": "I18n-directory niet gevonden: {i18nDir}", "noTranslationLanguagesFound": "Geen vertaaltalen gevonden.", "failedToAnalyzeFile": "Kan het bestand niet analyseren {filePath}: {error}", "failedToAnalyzeLanguage": "Kan de taal niet analyseren {language}: {error}", "translationCompletenessAnalysisFailed": "Analyse van de volledigheid van de vertaling is mislukt: {error}", "n": "\\N" }, "complete": { "configLoadedSuccessfully": "Configuratie succesvol geladen", "configLoadingFailed": "Het laden van de configuratie is mislukt", "title": "🌍 I18NTK VERTALING VOLTOOID", "separator": "============================================================", "sourceDir": "📁 Bronmap: {sourceDir}", "sourceLanguage": "🌐 Brontaal: {sourceLanguage}", "dryRunMode": "🧪 Droogloopmodus - er worden geen wijzigingen aangebracht", "languages": "🌍 Beschikbare talen: {languages}", "addingMissingKeys": "➕ Ontbrekende sleutels toevoegen aan vertaalbestanden...", "processing": "🔄 Verwerking {language}...", "addedKeys": "✅ Toegevoegd {count} ontbrekende sleutels", "changeDetails": "📝 {file}: {key}", "andMore": "...En {count} meer", "noChangesNeeded": "✅ Geen wijzigingen nodig voor {language}", "summaryTitle": "📊 VOLTOOID SAMENVATTING", "totalChanges": "📝 Totaal aantal wijzigingen: {totalChanges}", "languagesProcessed": "🌍 Verwerkte talen: {languagesProcessed}", "missingKeysAdded": "➕ Ontbrekende sleutels toegevoegd: {missingKeysAdded}", "nextStepsTitle": "📋 NEXT STEPS", "nextStep1": "1. Gebruiksanalyse uitvoeren:", "nextStep2": "knooppunt i18ntk-usage.js --output-rapport", "nextStep3": "2. Valideer vertalingen:", "nextStep4": "knooppunt i18ntk-validate.js", "nextStep5": "3. Analyseer patronen:", "nextStep6": "knooppunt i18ntk-analyze.js", "allKeysAvailable": "🎉 Alle vertaalsleutels zijn nu beschikbaar!", "runWithoutDryRun": "💡 Uitvoeren zonder --drooglopen om wijzigingen toe te passen", "deletingOldReport": "🗑️ Oud rapport verwijderen...", "generatingFreshAnalysis": "📊 Nieuwe gebruiksanalyses genereren...", "couldNotGenerate": "❌ Kan geen gebruiksanalyse genereren", "reportNotFound": "📋 Gebruiksrapport niet gevonden. Gemeenschappelijke sleutels gebruiken...", "foundMissingKeys": "📋 Gevonden {count} ontbrekende sleutels uit gebruiksanalyse", "couldNotParse": "❌ Kan het gebruiksrapport niet parseren. Gemeenschappelijke sleutels gebruiken..." }, "noTranslationLanguagesFound": "Geen vertaaltalen gevonden", "failedToAnalyzeLanguage": "Kan de taal niet analyseren", "translationCompletenessAnalysisFailed": "Analyse van de volledigheid van de vertaling is mislukt", "failedToProcessFile": "Kan bestand niet verwerken:", "failedToSaveReport": "Kan gebruiksrapport niet opslaan: {error}", "i18nDirectoryDoesNotExist": "I18n-map bestaat niet: {dir}", "reportSavedTo": "Gebruiksrapport opgeslagen in: {reportPath}", "sourceDirectoryDoesNotExist": "Bronmap bestaat niet: {dir}", "noSourceDirectoryConfigured": "(geen geconfigureerd)" }, "validate": { "help_message": "I18n Translation Validator Gebruik: node i18ntk-validate.js [opties] Opties: --source-dir <dir> Bronmap om te scannen (standaard: ./src) --i18n-dir <dir> I18n map (standaard: ./src/locales) --output-report Genereer gedetailleerd rapport --output-dir <dir> Uitvoermap voor rapporten (standaard: ./reports) --help Deze hulp weergeven Voorbeelden: node i18ntk-validate.js --output-report node i18ntk-validate.js --source-dir=./app --i18n-dir=./locales node i18ntk-validate.js --output-dir=./analysis --output-report", "title": "🔍 I18n Vertaalvalidator", "message": "Validatieproces starten...", "sourceDirectory": "📁 Bronmap: {dir}", "sourceLanguage": "🌍 Brontaal: {sourceLanguage}", "strictMode": "⚙️ Strikte modus: {mode}", "noTargetLanguages": "Geen doeltalen geconfigureerd; doelvalidatie overslaan. Voeg talen toe via \"i18ntk init --linguals=de,fr\".", "validatingLanguages": "🌍 Talen valideren: {langs}", "validatingLanguage": "🔍Taal valideren: {lang}", "filesCount": "📄 Bestanden: {count}", "keysCount": "🔑 Toetsen: {count}", "missingFilesCount": "📁 Ontbrekende bestanden: {count}", "syntaxErrorsCount": "❌ Syntaxisfouten: {count}", "translationPercentage": "🎯 Vertaling: {percentage}% ({translated}/{total} sleutels)", "validationSummary": "📊 VALIDATIE SAMENVATTING", "validation_failed": "❌ Validatie mislukt: {error}", "totalErrors": "❌ Totaal aantal fouten: {count}", "totalWarnings": "⚠️ Totaal aantal waarschuwingen: {count}", "errorsSection": "❌ ERRORS", "warningsSection": "⚠️ WARNINGS", "recommendationsSection": "💡 AANBEVELINGEN", "fixErrorsFirst": "1. Los eerst alle fouten op", "resolveMissingFilesAndSyntaxErrors": "1. Los ontbrekende bestanden en syntaxisfouten op", "fixStructuralInconsistencies": "2. Los structurele inconsistenties op", "completeMissingTranslations": "3. Voltooi ontbrekende vertalingen", "rerunValidation": "4. Voer de validatie opnieuw uit om de oplossingen te verifiëren", "addressWarnings": "Adresseer waarschuwingen om de kwaliteit te verbeteren", "reviewWarnings": "Bekijk waarschuwingen en corrigeer waar nodig", "considerRunningWithStrict": "2. Overweeg om de vlag --strict uit te voeren voor een strengere validatie", "allValidationsPassed": "🎉 Alle validaties geslaagd!", "considerRunningUsageAnalysis": "Overweeg om een ​​gebruiksanalyse uit te voeren: node i18ntk-usage.js", "deletedOldReport": "🗑️ Oud validatierapport verwijderd", "sourceDir": "📁 Bronmap: {sourceDir}", "i18nDir": "🌐 I18n-map: {i18nDir}", "loadingTranslationFiles": "📋 Vertaalbestanden laden...", "foundTranslationFilesCount": "✅ Gevonden {count} vertaalbestanden", "analyzingTranslations": "🔍Vertalingen analyseren...", "validationCompletedSuccessfully": "🎉 Validatie succesvol afgerond!", "validationErrorsFound": "⚠️ Validatiefouten gevonden: {count}", "validationWarningsFound": "⚠️ Validatiewaarschuwingen gevonden: {count}", "validationPassed": "✅ Validatie geslaagd zonder fouten", "validationFailed": "Validatie mislukt: {error}", "startingValidationProcess": "🔍 Validatieproces starten...", "validationProcessCompletedSuccessfully": "✅ Validatieproces succesvol afgerond", "stackTrace": "Stapeltrace: {stack}", "authenticationFailed": "❌ Authenticatie mislukt. Toegang geweigerd.", "fatalValidationError": "❌ Fatale validatiefout: {error}", "configAccess": "Toegang tot de configuratie voor validatie", "configValidated": "Configuratie succesvol gevalideerd", "configError": "Configuratiefout: {error}", "validatorInit": "Initialisatie van de I18n-validator", "validatorInitialized": "I18n-validator is succesvol geïnitialiseerd", "validatorInitError": "Validator-initialisatiefout: {error}", "argsParsing": "Het parseren van opdrachtregelargumenten", "argsParsed": "Opdrachtregelargumenten zijn succesvol geparseerd", "argsParseError": "Fout bij het parseren van argumenten: {error}", "languagesScan": "Beschikbare talen scannen", "languagesFound": "Gevonden {count} talen", "languagesScanError": "Taalscanfout: {error}", "filesScan": "Gevonden {count} bestanden binnen {language}", "filesScanError": "Bestandsscanfout: {error}", "jsonValidated": "JSON-syntaxis gevalideerd: {filePath}", "jsonValidationError": "JSON-validatiefout: {error}", "languageValidation": "Taal valideren: {language}", "languageValidationError": "Taalvalidatiefout: {error}", "fileDeleted": "Bestand verwijderd", "runStarted": "Validatierun starten", "runCompleted": "Validatierun is succesvol voltooid", "runError": "Validatierun mislukt: {error}", "scriptExecution": "Scriptuitvoering", "validationCompleted": "Validatie voltooid", "validationError": "Validatiefout: {error}", "separator": "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━", "languageHeader": "🌐 Taal: {language}", "validationResults": "📊 Validatieresultaten", "noErrors": "✅ Geen fouten gevonden", "noWarnings": "✅ Geen waarschuwingen gevonden", "summaryHeader": "📋 OVERALL SUMMARY", "progressIndicator": "⏳ Verwerken...", "completedIndicator": "✅ Voltooid", "errorIndicator": "❌ Fout", "warningIndicator": "⚠️Waarschuwing", "infoIndicator": "ℹ️ Info", "sourceDirNotConfigured": "Bronmap niet geconfigureerd", "sourceLanguageNotConfigured": "Brontaal niet geconfigureerd", "translationFunctionNotInitialized": "Vertaalfunctie niet correct geïnitialiseerd", "sourceLanguageDirectoryNotFound": "Brontaaldirectory niet gevonden", "specifiedLanguageNotFound": "Opgegeven taal niet gevonden", "noJsonFilesFound": "Geen JSON-bestanden gevonden in de bronmap: {sourceDir}", "i18nDirectoryNotFound": "I18n-directory niet gevonden: {i18nDir}", "invalidDirectoryPaths": "Ongeldige mappaden gedetecteerd", "invalidSampleFilePath": "Ongeldig voorbeeldbestandspad", "failedToCreateSampleTranslationFile": "Kan voorbeeldvertaalbestand niet maken", "invalidFilePathDetected": "Ongeldig bestandspad gedetecteerd", "failedToWriteFile": "Kan bestand niet schrijven: {filePath}", "invalidSourceDirectory": "Ongeldige bronmap: {sourceDir}", "invalidSourceLanguageDirectory": "Ongeldige brontaaldirectory: {sourceDir}" }, "adminCli": { "setupPinProtectionTitle": "🔐 Beheerderspincodebeveiliging instellen", "setupPinProtectionDescription": "Hiervoor is een pincode van 4 tot 6 cijfers vereist voor administratieve handelingen.", "enablePinProtectionPrompt": "Wilt u beheerderspincodebeveiliging inschakelen?", "setupCancelled": "Beveiligingsinstellingen met beheerderspincode geannuleerd.", "enterPinPrompt": "Voer een pincode van 4 tot 6 cijfers in:", "pinFormatError": "❌ De pincode moet 4-6 cijfers bevatten. Probeer het opnieuw.", "confirmPinPrompt": "Bevestig pincode:", "pinMismatchError": "❌ Pincodes komen niet overeen. Probeer het opnieuw.", "pinProtectionEnabledSuccess": "✅ Beveiliging met beheerderspincode succesvol ingeschakeld!", "pinRecoveryWarning": "⚠️ Onthoud uw pincode: deze kan niet worden hersteld als u deze kwijtraakt.", "setupPinProtectionFailed": "❌ Kan beheerderspincode niet instellen.", "errorSettingUpPin": "❌ Fout bij het instellen van de beheerderspincode: {message}", "authRequiredForOperation": "🔐 Beheerderverificatie vereist voor: {operation}", "invalidPinFormat": "❌ Ongeldig pincodeformaat. De pincode moet uit 4-6 cijfers bestaan.", "authenticationSuccess": "✅ Authenticatie succesvol!", "invalidPinAttemptsRemaining": "❌ Ongeldige pincode. {remaining} resterende pogingen.", "authenticationFailedAccessDenied": "❌ Authenticatie mislukt. Toegang geweigerd.", "authenticationError": "❌ Authenticatiefou