i18ntk 4.7.0 → 4.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/CHANGELOG.md +34 -1
  2. package/README.md +15 -4
  3. package/main/i18ntk-ui.js +35 -30
  4. package/main/i18ntk-usage.js +2 -2
  5. package/main/i18ntk-validate.js +1 -1
  6. package/main/manage/commands/ValidateCommand.js +1 -1
  7. package/main/manage/index.js +52 -47
  8. package/main/manage/managers/LanguageMenu.js +3 -1
  9. package/main/manage/services/ConfigurationService.js +1 -1
  10. package/main/manage/services/FrameworkDetectionService.js +1 -1
  11. package/main/manage/services/UsageService.js +2 -2
  12. package/package.json +11 -7
  13. package/settings/settings-manager.js +19 -3
  14. package/ui-locales/ar.json +2636 -0
  15. package/ui-locales/cs.json +2636 -0
  16. package/ui-locales/de.json +17 -1
  17. package/ui-locales/el.json +2636 -0
  18. package/ui-locales/en.json +17 -1
  19. package/ui-locales/es.json +17 -1
  20. package/ui-locales/fr.json +17 -1
  21. package/ui-locales/he.json +2636 -0
  22. package/ui-locales/hi.json +2636 -0
  23. package/ui-locales/hu.json +2636 -0
  24. package/ui-locales/it.json +2636 -0
  25. package/ui-locales/ja.json +17 -1
  26. package/ui-locales/ko.json +2636 -0
  27. package/ui-locales/nl.json +2636 -0
  28. package/ui-locales/pl.json +2636 -0
  29. package/ui-locales/pt.json +2636 -0
  30. package/ui-locales/ru.json +17 -1
  31. package/ui-locales/sv.json +2636 -0
  32. package/ui-locales/th.json +2636 -0
  33. package/ui-locales/tr.json +2636 -0
  34. package/ui-locales/uk.json +2636 -0
  35. package/ui-locales/vi.json +2636 -0
  36. package/ui-locales/zh.json +17 -1
  37. package/utils/config-helper.js +2 -2
  38. package/utils/config-manager.js +3 -4
  39. package/utils/env-manager.js +1 -1
  40. package/utils/locale-optimizer.js +1 -1
@@ -0,0 +1,2636 @@
1
+ {
2
+ "meta": {
3
+ "version": "4.7.0",
4
+ "updated": "2026-07-07",
5
+ "lang": "nl"
6
+ },
7
+ "common": {
8
+ "welcome": "Welkom",
9
+ "hello": "Hallo",
10
+ "goodbye": "Tot ziens",
11
+ "yes": "Ja",
12
+ "no": "Nee",
13
+ "save": "Redden",
14
+ "cancel": "Annuleren",
15
+ "delete": "Verwijderen",
16
+ "edit": "Bewerking",
17
+ "loading": "Laden...",
18
+ "offlineTitle": "Je bent offline",
19
+ "offlineMessage": "Controleer uw internetverbinding",
20
+ "tryReconnect": "Probeer opnieuw verbinding te maken",
21
+ "logout": "Uitloggen",
22
+ "login": "Login",
23
+ "amount": "Hoeveelheid",
24
+ "success": "Succes",
25
+ "error": "Fout",
26
+ "warning": "Waarschuwing",
27
+ "info": "Info:",
28
+ "debug": "Foutopsporing",
29
+ "progress": "Voortgang:",
30
+ "remaining": "Overig:",
31
+ "total": "Totaal:",
32
+ "completed": "7. Succesvol afgerond!",
33
+ "missing": "Ontbreekt",
34
+ "partial": "Gedeeltelijk",
35
+ "sameAsSource": "Hetzelfde als bron:",
36
+ "formatMismatch": "Formaat komt niet overeen:",
37
+ "typeMismatch": "Type komt niet overeen:",
38
+ "structureMismatch": "Structuurmismatch:",
39
+ "invalidOption": "Ongeldige optie",
40
+ "separator": "==================================================",
41
+ "initializationFailed": "❌ Initialisatie mislukt: {error}",
42
+ "stackTrace": "Stapeltrace: {stack}",
43
+ "pressEnterToContinue": "Druk op Enter om door te gaan...",
44
+ "pressEnterToReturn": "Druk op Enter om terug te keren naar het hoofdmenu...",
45
+ "stepCompleted": "Stap '{stepName}' voltooid.",
46
+ "stepFailed": "Stap '{stepName}' mislukt.",
47
+ "runningStep": "Lopende stap: {stepName}",
48
+ "command": "Commando: {command}",
49
+ "startingWorkflow": "Werkstroom starten...",
50
+ "workflowCompleted": "Werkstroom voltooid.",
51
+ "checkReports": "Controleer rapporten voor details.",
52
+ "errorExecutingCommand": "Fout bij uitvoeren opdracht: {error}",
53
+ "genericError": "❌ Fout: {error}",
54
+ "errors": {
55
+ "errors": "Fouten:",
56
+ "genericError": "❌ Fout: {error}",
57
+ "initializationFailed": "❌ Initialisatie mislukt: {error}",
58
+ "initializationCancelled": "❌ Initialisatie geannuleerd door gebruiker.",
59
+ "translationKeyNotFound": "Vertaalsleutel niet gevonden: {key}",
60
+ "sourceDirectoryNotFound": "Bronmap niet gevonden: {directory}",
61
+ "configLoadingFailed": "Het laden van de configuratie is mislukt",
62
+ "invalidSourceDirectory": "Ongeldige bronmap: {directory}",
63
+ "securityViolation": "Beveiligingsschending gedetecteerd",
64
+ "authenticationFailed": "Authenticatie mislukt",
65
+ "sourceEqualsI18nWarn": "⚠️ sourceDir is gelijk aan i18nDir ({sourceDir}). Terugvallend op {fallback} voor het scannen van bronnen."
66
+ },
67
+ "errorGeneratingStatusSummary": "Fout bij genereren van statusoverzicht: {error}",
68
+ "errorRunningDebugTool": "Fout bij het uitvoeren van foutopsporingstool '{displayName}': {error}",
69
+ "errorReadingDebugLogs": "Fout bij het lezen van foutopsporingslogboeken: {error}",
70
+ "errorAnalyzingLogFile": "Fout bij analyseren logbestand: {error}",
71
+ "errorAnalyzingTranslationKeys": "Fout bij analyseren van vertaalsleutels: {error}",
72
+ "errorAnalyzingTranslationCompleteness": "Fout bij het analyseren van de volledigheid van de vertaling: {error}",
73
+ "analyzingTranslationCompleteness": "Volledigheid van vertalingen in alle talen analyseren...",
74
+ "i18nDirectoryNotFound": "⚠️ i18n-map niet gevonden: {i18nDir}",
75
+ "translationCompletenessAnalysisFailed": "⚠️ Analyse van de volledigheid van de vertaling is mislukt: {error}",
76
+ "failedToAnalyzeLanguage": "❌ Kan de taal niet analyseren {language}: {error}",
77
+ "errorReadingI18nDirectory": "❌ Fout bij het lezen van de i18n-map:",
78
+ "languageCompletenessTitle": "📈 VOLLEDIGHEID VAN VERTALING PER TAAL",
79
+ "errorAnalyzingTranslationFormat": "Fout bij analyseren van vertaalformaat: {error}",
80
+ "errorAnalyzingTranslationType": "Fout bij analyseren van vertaaltype: {error}",
81
+ "errorAnalyzingTranslationStructure": "Fout bij het analyseren van de vertaalstructuur: {error}",
82
+ "errorAnalyzingTranslationFormatMismatch": "Fout bij het analyseren van niet-overeenkomende vertaalformaten: {error}",
83
+ "errorAnalyzingTranslationTypeMismatch": "Fout bij analyseren van niet-overeenkomend vertaaltype: {error}",
84
+ "errorAnalyzingTranslationStructureMismatch": "Fout bij analyseren van niet-overeenkomende vertaalstructuur: {error}",
85
+ "errorAnalyzingTranslationSameAsSource": "Fout bij analyseren van vertaling hetzelfde als bron: {error}",
86
+ "title": "Status",
87
+ "nextStep1": "1. Gebruiksanalyse controleren:",
88
+ "nextStep2": "2. Valideer vertalingen:",
89
+ "nextStep3": "3. Analyseer de volledigheid:",
90
+ "nextStep4": "4. Vul ontbrekende vertalingen in:",
91
+ "nextStep5": "5. Genereer een samenvattend rapport:",
92
+ "nextStep6": "6. Vertalingen beoordelen en afronden:",
93
+ "generating": "Samenvattend rapport genereren...",
94
+ "review": "Vertalingen beoordelen...",
95
+ "finalizing": "Vertalingen afronden...",
96
+ "finalized": "Succesvol afgerond!",
97
+ "warnings": "Waarschuwingen:",
98
+ "completedKeys": "Voltooide sleutels:",
99
+ "missingKeys": "Ontbrekende sleutels:",
100
+ "partialKeys": "Gedeeltelijke toetsen:",
101
+ "home": "Thuis",
102
+ "settings": "Instellingen",
103
+ "startingSettings": "🎛️ Instellingen CLI starten...",
104
+ "confirm": "Bevestigen",
105
+ "errorExiting": "Fout bij afsluiten."
106
+ },
107
+ "errors": {
108
+ "invalidOption": "❌ Ongeldige optie: {option}. Probeer het opnieuw.",
109
+ "readlineClosed": "Invoerstroom is gesloten; uitgevoerd in niet-interactieve modus.",
110
+ "noPackageJson": "Geen package.json gevonden. Kan i18n-framework niet automatisch detecteren.",
111
+ "noI18nDir": "Geen i18n-directory gevonden in de hoofdmap van het project.",
112
+ "noI18nConfig": "Geen i18n-configuratiebestand gevonden in de projectroot.",
113
+ "errorReadingDebugLogs": "Fout bij het lezen van foutopsporingslogboeken: {error}"
114
+ },
115
+ "scanner": {
116
+ "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",
117
+ "help_options": {
118
+ "source_dir": "Bronmap om te scannen op i18n-problemen",
119
+ "output_dir": "Directory voor scanrapporten en resultaten",
120
+ "framework": "Doelkader (reageren, vue, hoekig, vanille)",
121
+ "patterns": "Aangepaste regex-patronen voor tekstdetectie",
122
+ "exclude": "Bestandspatronen die moeten worden uitgesloten van scannen",
123
+ "output_report": "Genereer een gedetailleerd scanrapport",
124
+ "min_length": "Minimale tekstlengte waarmee rekening moet worden gehouden bij vertaling",
125
+ "max_length": "Maximale tekstlengte waarmee rekening moet worden gehouden bij vertaling",
126
+ "include_tests": "Neem testbestanden op in het scanproces"
127
+ },
128
+ "starting": "🔍 Tekstscanner voor raamwerk starten: {framework}",
129
+ "sourceDirectory": "📁 Scanmap: {sourceDir}",
130
+ "frameworkDetected": "🎯 Gedetecteerd raamwerk: {framework}",
131
+ "scanningFiles": "📊 Scannen {fileCount} bestanden...",
132
+ "foundTexts": "📝 Gevonden {textCount} teksten die vertaling vereisen",
133
+ "generatingReport": "📊 Gedetailleerd rapport genereren...",
134
+ "reportSaved": "💾 Scanrapport opgeslagen op: {reportPath}",
135
+ "noTextsFound": "✅ Geen hardgecodeerde Engelse teksten gevonden",
136
+ "scanComplete": "🎉 Scannen succesvol voltooid!",
137
+ "analysisTitle": "🔍 VERTAALSCANANALYSE",
138
+ "fileSummary": "📄 {file}: {count} teksten gevonden",
139
+ "textLocation": "📍Lijn {line}: {text}",
140
+ "foundText": "Gevonden {count} potentiële hardgecodeerde tekstinstanties",
141
+ "context": "📝Context: {context}",
142
+ "severity": "⚠️ Ernst: {severity}",
143
+ "recommendation": "💡 Aanbeveling: {recommendation}",
144
+ "welcome": {
145
+ "title": "🎯 Welkom bij de Tekstscanner!",
146
+ "description": "Deze tool scant uw broncode op hardgecodeerde Engelse tekst die mogelijk vertaald moet worden."
147
+ },
148
+ "frameworkPrompt": {
149
+ "title": "🎯 Selecteer Kader",
150
+ "available": "Beschikbare raamwerken: react, vue, angular, vanilla",
151
+ "description": "Voer het raamwerktype in (of druk op Enter voor automatische detectie):",
152
+ "input": "Kader:"
153
+ },
154
+ "directoryPrompt": {
155
+ "title": "📁 Selecteer Bronmap",
156
+ "current": "Huidige map: {dir}",
157
+ "description": "Voer de map in die u wilt scannen (of druk op Enter voor actueel):",
158
+ "input": "Directory:"
159
+ },
160
+ "options": {
161
+ "includeTests": "Testbestanden toevoegen?",
162
+ "excludeDirs": "Uit te sluiten mappen (door komma's gescheiden):",
163
+ "customPatterns": "Aangepaste patronen om op te scannen (regex):"
164
+ },
165
+ "reportGenerated": "Scanrapport gegenereerd: {path}"
166
+ },
167
+ "fixer": {
168
+ "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",
169
+ "starting": "🚀 Vertaalreparatie voor talen starten: {languages}",
170
+ "sourceDirectory": "📁 Bronmap: {sourceDir}",
171
+ "sourceLanguage": "🔤 Brontaal: {sourceLanguage}",
172
+ "markers": "🏷️ Markeringen om te repareren: {markers}",
173
+ "scanningLanguage": "📊 Scannen {language}...",
174
+ "noLanguages": "❌ Geen talen gespecificeerd voor reparatie.",
175
+ "allComplete": "🎉 Alle vertalingen zijn al voltooid!",
176
+ "fullReportSaved": "📊 Volledig rapport opgeslagen in: {reportPath}",
177
+ "reviewReport": "Controleer het rapport voordat u verdergaat.",
178
+ "backupCreated": "💾 Back-up is succesvol gemaakt.",
179
+ "applyingFixes": "🔄 Fixes toepassen...",
180
+ "fixingComplete": "✅ Het repareren van de vertaling is voltooid!",
181
+ "operationCancelled": "❌ Bewerking geannuleerd door gebruiker.",
182
+ "analysisTitle": "🔍 VERTAALBEVESTIGINGSANALYSE",
183
+ "analysisSeparator": "==================================================",
184
+ "totalIssues": "Totaal aantal gevonden problemen: {totalIssues}",
185
+ "missingTranslations": "Ontbrekende vertalingen: {missing}",
186
+ "placeholderTranslations": "Vertalingen van tijdelijke aanduidingen: {placeholder}",
187
+ "noIssues": "✅ Geen problemen gevonden. Alle vertalingen zijn voltooid.",
188
+ "detailedIssues": "📋 DETAILED ISSUES:",
189
+ "detailedSeparator": "--------------------------------------------------",
190
+ "filePath": "📄 {file} → {path}",
191
+ "missingKey": "❌ VERMIST: {source} → {new}",
192
+ "placeholderKey": "⚠️ PLAATSHOUDER: \"{target}\" → \"{new}\"",
193
+ "moreIssues": "... En {count} meer problemen. Controleer het rapportbestand voor volledige details.",
194
+ "confirmationTitle": "🤔 Wilt u doorgaan met deze oplossingen?",
195
+ "confirmationOptions": "Opties:",
196
+ "optionYes": "y - Ja, pas alle oplossingen toe",
197
+ "optionNo": "n - Nee, annuleer de bewerking",
198
+ "optionShow": "s - Gedetailleerde problemen weergeven",
199
+ "choicePrompt": "Uw keuze (j/n/s):",
200
+ "nonInteractiveMode": "⚡ Niet-interactieve modus gedetecteerd - correcties automatisch toepassen...",
201
+ "reportGenerated": "📊 Fixerrapport gegenereerd: {path}",
202
+ "summary": "Samenvatting van de fixer:",
203
+ "welcome": {
204
+ "title": "🎯 Welkom bij de Translation Fixer!",
205
+ "description": "Met deze tool kunt u defecte vertalingen en tijdelijke aanduidingen in uw landinstellingsbestanden herstellen."
206
+ },
207
+ "markerPrompt": {
208
+ "title": "🏷️ Configureer plaatsaanduidingsmarkeringen",
209
+ "description": "Voer de markeringen in die onvertaalde tekst aangeven (door komma's gescheiden):",
210
+ "currentDefaults": "Standaardmarkeringen: {markers}",
211
+ "input": "Markeringen (of druk op Enter voor standaardwaarden):"
212
+ },
213
+ "languagePrompt": {
214
+ "title": "🌍 Selecteer Talen die u wilt corrigeren",
215
+ "available": "Beschikbare talen: {languages}",
216
+ "description": "Voer de talen in die u wilt corrigeren (door komma's gescheiden) of druk op Enter voor alles:",
217
+ "input": "Talen:",
218
+ "noLanguages": "Geen talen gevonden om op te lossen."
219
+ },
220
+ "directoryPrompt": {
221
+ "title": "📁 Selecteer Telefoonboek",
222
+ "current": "Huidige map: {dir}",
223
+ "description": "Voer de map in die uw landinstellingsbestanden bevat (of druk op Enter voor actueel):",
224
+ "input": "Directory:"
225
+ },
226
+ "backupLocation": "Back-uplocatie: {dir}",
227
+ "completed": "Fixatie voltooid.",
228
+ "creatingBackup": "Back-up maken in {dir}...",
229
+ "dryRunMode": "Droogloopmodus: {mode}",
230
+ "error": "Fixer mislukt: {error}",
231
+ "fixing": "Bevestiging {language}...",
232
+ "foundLanguages": "Gevonden {count} talen: {languages}",
233
+ "languageFixed": "{language}: vast {fixed} toets(en), overgeslagen {skipped}.",
234
+ "running": "Vertaalfixer uitvoeren...",
235
+ "totalFixed": "Totaal vast: {count}"
236
+ },
237
+ "autorun": {
238
+ "stepAnalyzeTranslations": "Analyseer vertalingen",
239
+ "stepCompletedWithIcon": "✅ Voltooid: {stepName}",
240
+ "stepValidateTranslations": "Valideer vertalingen",
241
+ "stepRunning": "▶️ Stap {stepNumber}/{totalSteps}: {stepName}",
242
+ "separator": "==================================================",
243
+ "stepFailed": "❌ Mislukt: {stepName}",
244
+ "errorLabel": "Fout",
245
+ "autoRunScriptTitle": "🧪 Automatische workflow",
246
+ "usageTitle": "Gebruik",
247
+ "runAllSteps": "Uitvoeren: knooppunt i18ntk-autorun.js",
248
+ "configureSettingsFirst": "Config: i18ntk-config.json of CLI-vlaggen",
249
+ "runSpecificSteps": "Gebruik --step=1,3 of --list om stappen weer te geven",
250
+ "showHelp": "--help voor meer informatie",
251
+ "examplesTitle": "Voorbeelden",
252
+ "configExample": "knooppunt i18ntk-autorun.js --ui-taal=zh",
253
+ "stepsExample1": "knooppunt i18ntk-autorun.js --steps=analyseren, valideren",
254
+ "stepsExample2": "knooppunt i18ntk-autorun.js --list",
255
+ "customSettingsConfiguration": "Aangepaste autorun-instellingen",
256
+ "availableSteps": "Beschikbare stappen",
257
+ "startingAutoRunWorkflow": "🚀 Auto-Run-workflow starten...",
258
+ "workflowIncludesSteps": "Workflow omvat {count} stappen:",
259
+ "missingRequiredFile": "Ontbrekend vereist bestand: {file}",
260
+ "workflowStopped": "De workflow is gestopt vanwege een storing.",
261
+ "workflowCompleted": "🎉 Werkstroom voltooid!",
262
+ "successfulSteps": "Succesvolle stappen: {count}",
263
+ "failedSteps": "Mislukte stappen: {count}",
264
+ "stepInitializeProject": "Initialiseer het project",
265
+ "stepCheckUsage": "Controleer het sleutelgebruik",
266
+ "stepGenerateSummary": "Samenvattend rapport genereren",
267
+ "runInitializationFirst": "Voer eerst de initialisatie uit.",
268
+ "initializationCheckPassed": "Initialisatiecontrole geslaagd.",
269
+ "runningStep": "Lopende stap: {stepName}",
270
+ "commandLabel": "Commando: {command}",
271
+ "stepCompletedWithTime": "Stap '{stepName}' binnen voltooid {duration}mevrouw.",
272
+ "stepCompleted": "Stap '{stepName}' voltooid.",
273
+ "stepFailedWithError": "Stap '{stepName}' mislukt met fout: {error}",
274
+ "requiredStepFailed": "Vereiste stap is mislukt. Werkstroom stoppen.",
275
+ "optionalStepFailed": "Optionele stap mislukt. Voortdurende werkstroom.",
276
+ "stepRequired": "(Vereist)",
277
+ "stepOptional": "(Optioneel)",
278
+ "startingExecution": "Uitvoering starten...",
279
+ "pressEnterToContinue": "Druk op Enter om door te gaan...",
280
+ "runningSelectedSteps": "Geselecteerde stappen uitvoeren...",
281
+ "invalidStepNumber": "Ongeldig stapnummer: {stepNum}",
282
+ "executionReport": "Uitvoeringsrapport:",
283
+ "requiredFailedSteps": "Vereiste stappen zijn mislukt: {count}",
284
+ "stepDetails": "Stapdetails:",
285
+ "reportSavedTo": "Rapport opgeslagen in: {path}",
286
+ "overallStatusSuccess": "SUCCESS",
287
+ "overallStatusFailed": "FAILED",
288
+ "overallStatus": "Algemene status: {status}",
289
+ "pressEnterForDefaults": "Druk op Enter om de standaardinstellingen voor elke prompt te gebruiken.",
290
+ "sourceDirPrompt": "Voer de bronmap in (standaard: {default}):",
291
+ "sourceLangPrompt": "Voer de brontaal in (standaard: {default}):",
292
+ "targetLangsPrompt": "Voer doeltalen in (door komma's gescheiden, standaard: {default}):",
293
+ "translationMarkerPrompt": "Voer een vertaalmarkering in (standaard: {default}):",
294
+ "outputDirPrompt": "Voer de uitvoermap voor rapporten in (standaard: {default}):",
295
+ "settingsUpdatedSuccessfully": "Instellingen succesvol bijgewerkt!",
296
+ "errorConfiguringSettings": "Fout bij configureren van instellingen: {error}",
297
+ "configurationComplete": "Configuratie voltooid.",
298
+ "runAutoRunCommand": "Nu kunt u de opdracht auto-run uitvoeren.",
299
+ "configurationFailed": "Configuratie mislukt: {error}",
300
+ "noValidStepNumbers": "Er zijn geen geldige stapnummers opgegeven.",
301
+ "autoRunFailed": "Automatisch uitvoeren mislukt: {error}",
302
+ "stepCompleteTranslations": "Volledige vertalingen",
303
+ "stepAnalyzeSizing": "Analyseer de maatvoering",
304
+ "stepCompletedIcon": "✅",
305
+ "stepRunningWithNumber": "[{stepNumber}/{totalSteps}] Stap '{stepName}' rennen...",
306
+ "stepFailedIcon": "❌",
307
+ "translationLoadWarning": "Waarschuwing: kon niet laden {lang} vertalingen",
308
+ "configReadError": "Fout bij lezen {file}"
309
+ },
310
+ "analyze": {
311
+ "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",
312
+ "source_directory": "📁 Bronmap: {sourceDir}",
313
+ "i18n_directory": "🌐 I18n-map: {i18nDir}",
314
+ "loading_translation_files": "📋 Vertaalbestanden laden...",
315
+ "sourceDirectoryLabel": "📁 Bronmap: {sourceDir}",
316
+ "sourceLanguageLabel": "🌍 Brontaal: {sourceLanguage}",
317
+ "strictModeLabel": "⚙️ Strikte modus: {mode}",
318
+ "found_translation_files_count": "✅ Gevonden {count} vertaalbestanden",
319
+ "analyzing_translations": "🔍Vertalingen analyseren...",
320
+ "analysis_completed_successfully": "🎉 Analyse succesvol afgerond!",
321
+ "analysis_results": "📊 ANALYSIS RESULTS",
322
+ "language_analysis_stats": "{language}: {translatedKeys}/{totalKeys} ({percentage}% vertaald)",
323
+ "sample_missing_keys": "Voorbeeld van ontbrekende sleutels:",
324
+ "missing_key": "- {key}",
325
+ "and_more_missing": "...En {count} meer.",
326
+ "sample_unused_keys": "Voorbeeld van ongebruikte sleutels:",
327
+ "unused_key": "- {key}",
328
+ "and_more_unused": "...En {count} meer.",
329
+ "recommendations": "📋 AANBEVELINGEN",
330
+ "add_missing_translations": "💡 Voeg ontbrekende vertalingen toe om de dekking te verbeteren.",
331
+ "remove_unused_translations": "💡 Verwijder ongebruikte vertalingen om uw project schoon te houden.",
332
+ "next_steps": "📋 NEXT STEPS",
333
+ "review_analysis_results": "1. Bekijk de analyseresultaten in de console of het gegenereerde rapport.",
334
+ "run_with_output_report": "2. Voer het uit met --output-report voor een gedetailleerd rapport.",
335
+ "add_or_remove_translations": "3. Voeg ontbrekende vertalingen toe of verwijder ongebruikte vertalingen.",
336
+ "rerun_analysis": "4. Voer de analyse opnieuw uit om verbeteringen te verifiëren.",
337
+ "analysis_summary": "📊 ANALYSIS SUMMARY",
338
+ "source_files_scanned": "Bronbestanden gescand: {fileCount}",
339
+ "translation_files_checked": "Vertaalbestanden gecontroleerd: {translationFileCount}",
340
+ "total_keys": "Totaal sleutels: {totalKeys}",
341
+ "translated_keys": "Vertaalde sleutels: {translatedKeys}",
342
+ "missing_keys": "Ontbrekende sleutels: {missingKeys}",
343
+ "unused_keys": "Ongebruikte sleutels: {unusedKeys}",
344
+ "translation_coverage": "Vertaling dekking: {coverage}%",
345
+ "analysis_passed_for_language": "✅Analyse geslaagd {language}",
346
+ "analysis_failed_for_language": "❌ Analyse mislukt {language} ({missingKeys} vermist, {unusedKeys} ongebruikt)",
347
+ "starting": "🔍 Vertaalanalyse starten...",
348
+ "foundLanguages": "📋 Gevonden {count} talen om te analyseren: {languages}",
349
+ "analyzing": "🔄 Analyseren {language}...",
350
+ "reportTitle": "📊 VERTAALANALYSERAPPORT",
351
+ "generated": "Gegenereerd: {timestamp}",
352
+ "status": "Status: {translated}/{total} sleutels ({percentage}% vertaald)",
353
+ "filesAnalyzed": "Geanalyseerde bestanden: {analyzed}/{total}",
354
+ "keysNeedingTranslation": "Sleutels die vertaling nodig hebben: {count}",
355
+ "fileBreakdown": "📋 BESTANDSVERDELING",
356
+ "error": "Fout",
357
+ "completed": "✅ Analyse voltooid voor {language}",
358
+ "progress": "📊 Algemene voortgang: {translated}/{total} talen verwerkt",
359
+ "reportSaved": "Rapport opgeslagen: {reportPath}",
360
+ "summary": "📊 ANALYSIS SUMMARY",
361
+ "finished": "✅ Analyse succesvol afgerond!",
362
+ "statusFileMissing": "❌ Vertaalbestand ontbreekt",
363
+ "sourceKeys": "📊 Bronsleutels: {count}",
364
+ "translation": "📊 Vertaling: {translated}/{total} ({percentage}%)",
365
+ "structure": "🗂️ Structuur: {status}",
366
+ "consistent": "Consistent",
367
+ "inconsistent": "Inconsequent",
368
+ "missingKeys": "Ontbrekende sleutels: {count}",
369
+ "extraKeys": "Extra sleutels: {count}",
370
+ "issues": "⚠️ Gevonden problemen: {count}",
371
+ "issueType": {
372
+ "not_translated": "Niet vertaald: {count}",
373
+ "empty_value": "Lege waarden: {count}",
374
+ "partial_translation": "Gedeeltelijke vertalingen: {count}",
375
+ "format_mismatch": "Formaat komt niet overeen: {count}",
376
+ "type_mismatch": "Type-mismatches: {count}",
377
+ "structure_mismatch": "Structuurmismatches: {count}",
378
+ "same_as_source": "Hetzelfde als bron: {count}"
379
+ },
380
+ "keysToTranslate": "📋 SLEUTELS OM TE VERTALEN",
381
+ "key": "Sleutel",
382
+ "english": "Engels",
383
+ "needsTranslation": "HEEFT VERTALING NODIG",
384
+ "andMoreKeys": "...En {count} meer sleutels.",
385
+ "noLanguages": "⚠️ Geen doeltalen gevonden.",
386
+ "languageStats": "{language}: {percentage}% compleet ({translated}/{total} sleutels)",
387
+ "invalidReportFilePath": "Ongeldig rapportbestandspad",
388
+ "failedToWriteReportFile": "Kan het rapportbestand niet veilig schrijven"
389
+ },
390
+ "complete": {
391
+ "configLoadedSuccessfully": "Configuratie succesvol geladen",
392
+ "configLoadingFailed": "Het laden van de configuratie is mislukt",
393
+ "sourceLanguageNotFound": "Brontaaldirectory niet gevonden: {sourceLanguage}",
394
+ "couldNotParseTarget": "Kan doelbestand niet parseren: {file}",
395
+ "couldNotParseSource": "Kan bronbestand niet parseren: {file}",
396
+ "reportGenerated": "Rapport gegenereerd: {path}",
397
+ "generateReportPrompt": "Wilt u een rapport laten genereren?",
398
+ "title": "🌍 I18NTK VERTALING VOLTOOID",
399
+ "separator": "============================================================",
400
+ "sourceDir": "📁 Bronmap: {sourceDir}",
401
+ "sourceLanguage": "🌐 Brontaal: {sourceLanguage}",
402
+ "dryRunMode": "🧪 Droogloopmodus - er worden geen wijzigingen aangebracht",
403
+ "languages": "🌍 Beschikbare talen: {languages}",
404
+ "addingMissingKeys": "➕ Ontbrekende sleutels toevoegen aan vertaalbestanden...",
405
+ "processing": "🔄 Verwerking {language}...",
406
+ "addedKeys": "✅ Toegevoegd {count} ontbrekende sleutels",
407
+ "noChangesNeeded": "✅ Geen wijzigingen nodig voor {language}",
408
+ "summaryTitle": "📊 VOLTOOID SAMENVATTING",
409
+ "totalChanges": "📝 Totaal aantal wijzigingen: {totalChanges}",
410
+ "languagesProcessed": "🌍 Verwerkte talen: {languagesProcessed}",
411
+ "missingKeysAdded": "➕ Ontbrekende sleutels toegevoegd: {missingKeysAdded}",
412
+ "nextStepsTitle": "📋 NEXT STEPS",
413
+ "nextStep1": "1. Gebruiksanalyse uitvoeren:",
414
+ "nextStep2": "knooppunt i18ntk-usage.js --output-rapport",
415
+ "nextStep3": "2. Valideer vertalingen:",
416
+ "nextStep4": "knooppunt i18ntk-validate.js",
417
+ "nextStep5": "3. Analyseer patronen:",
418
+ "nextStep6": "knooppunt i18ntk-analyze.js",
419
+ "allKeysAvailable": "🎉 Alle vertaalsleutels zijn nu beschikbaar!",
420
+ "runWithoutDryRun": "💡 Uitvoeren zonder --drooglopen om wijzigingen toe te passen",
421
+ "deletingOldReport": "🗑️ Oud rapport verwijderen...",
422
+ "generatingFreshAnalysis": "📊 Nieuwe gebruiksanalyses genereren...",
423
+ "couldNotGenerate": "❌ Kan geen gebruiksanalyse genereren",
424
+ "reportNotFound": "📋 Gebruiksrapport niet gevonden. Gemeenschappelijke sleutels gebruiken...",
425
+ "foundMissingKeys": "📋 Gevonden {count} ontbrekende sleutels uit gebruiksanalyse",
426
+ "couldNotParse": "❌ Kan het gebruiksrapport niet parseren. Gemeenschappelijke sleutels gebruiken...",
427
+ "errorDuringCompletion": "❌ Fout tijdens voltooiing: {error}",
428
+ "fatalError": "❌ Fatale fout: {error}",
429
+ "configurationValidationFailed": "Configuratievalidatie mislukt: verplichte velden ontbreken"
430
+ },
431
+ "sizing": {
432
+ "separator": "================================================================================",
433
+ "lineSeparator": "--------------------------------------------------------------------------------",
434
+ "analysisStats": "{stats}",
435
+ "sourceDirectoryLabel": "📁 Bronmap: {sourceDir}",
436
+ "sourceLanguageLabel": "🌍 Brontaal: {sourceLanguage}",
437
+ "strictModeLabel": "⚙️ Strikte modus: {mode}",
438
+ "invalidSourceDirectoryError": "Ongeldig bronmappad: {sourceDir}",
439
+ "sourceDirectoryNotFoundError": "Bronmap niet gevonden: {sourceDir}",
440
+ "invalidOutputDirectoryError": "Ongeldig pad voor de uitvoermap: {outputDir}",
441
+ "invalidReportFileError": "Ongeldig rapportbestandspad",
442
+ "problematic_keys": "Problematische toetsen: {problematicKeys}",
443
+ "problematicKeysLabel": "Problematische toetsen: {problematicKeys}",
444
+ "long_translations": "Lange vertalingen: {longTranslations}",
445
+ "failedToSaveReportError": "Kan het rapport niet veilig opslaan",
446
+ "invalidCsvFileError": "Ongeldig CSV-bestandspad",
447
+ "failedToSaveCsvError": "Kan het CSV-rapport niet veilig opslaan",
448
+ "fatalError": "❌ Grootteanalyse mislukt: {error}",
449
+ "starting_i18n_sizing_analysis": "Grootteanalyse van i18n starten...",
450
+ "source_directory": "Bronmap: {sourceDir}",
451
+ "found_languages": "Gevonden talen: {languages}",
452
+ "analyzing_file_sizes": "Bestandsgroottes analyseren...",
453
+ "analyzing_translation_content": "Vertaalinhoud analyseren...",
454
+ "generating_size_comparisons": "Groottevergelijkingen genereren...",
455
+ "no_languages_found_for_comparison": "Geen talen gevonden ter vergelijking",
456
+ "sizing_analysis_results": "I18n Maatanalyseresultaten",
457
+ "file_sizes_title": "Bestandsgroottes",
458
+ "file_sizes_header": "Taalgrootte (KB) Lijnen Tekens",
459
+ "file_size_row": "{lang} {sizeKB} {lines} {characters}",
460
+ "language_statistics_title": "Taalstatistieken",
461
+ "language_stats_header": "Taaltoetsen Tekens Gem. lengte Max. lengte Leeg Lang",
462
+ "language_stats_row": "{lang} {totalKeys} {totalCharacters} {averageKeyLength} {maxKeyLength} {emptyKeys} {longKeys}",
463
+ "size_variations_title": "Maatvariaties",
464
+ "size_variations_header": "Taalteken verschil % verschil Problematisch",
465
+ "size_variation_row": "{lang} {characterDifference} {percentageDifference}% {problematic}",
466
+ "problematic_yes": "Ja",
467
+ "problematic_no": "Nee",
468
+ "recommendations_title": "Aanbevelingen",
469
+ "recommendation_item": "{index}. {recommendation}",
470
+ "problematic_key_detail": "{index}. Sleutel: '{key}' - Variaties: {variations}",
471
+ "generating_detailed_report": "Gedetailleerd rapport genereren...",
472
+ "keysHaveSignificantSizeVariations": "sleutels hebben aanzienlijke variaties in grootte",
473
+ "longTranslationsDetected": "${lang} heeft vertalingen van ${data.longKeys} die langer zijn dan 100 tekens. Overweeg deze op te splitsen",
474
+ "longer": "langer",
475
+ "shorter": "korter",
476
+ "review_translations": "Overweeg om te beoordelen {lang} vertalingen - dat zijn ze {percentageDifference}% {comparison} dan de basislijn",
477
+ "report_saved_to": "Rapport opgeslagen in: {reportPath}",
478
+ "considerReviewingTranslations": "Overweeg om te beoordelen ${lang} vertalingen - ze zijn ${data.percentageDifference}% langer dan de basislijn",
479
+ "csv_report_saved_to": "CSV-rapport opgeslagen in: {csvPath}",
480
+ "human_report_saved": "Leesbaar rapport opgeslagen: {reportPath}",
481
+ "folder_summary_title": "Mapsamenvatting",
482
+ "folder_summary_table_header": "Taalgrootte (KB) Toetsen Gem. lengte Totaal aantal tekens",
483
+ "folder_summary_row": "{lang} {sizeKB} {totalKeys} {avgLength} {totalChars}",
484
+ "language_comparison_title": "Taalvergelijking",
485
+ "language_comparison_row": "{lang}: {diff} tekens ({percent}%) {status}",
486
+ "summary_stats": "📊 Samenvatting: {totalLanguages} talen, {totalKeys} toetsen - Rapporten opgeslagen in {reportPath}",
487
+ "detailedKeysDescription": "Toon gedetailleerde analyse op sleutelniveau in de console",
488
+ "too_many_keys_warning": "⚠️ Te veel sleutels om in de console weer te geven - bekijk het gedetailleerde rapportbestand voor volledige analyse",
489
+ "no_translation_files_found": "Geen vertaalbestanden gevonden",
490
+ "analysis_completed": "Analyse voltooid in {duration}mevrouw",
491
+ "analysis_failed": "Analyse mislukt: {errorMessage}",
492
+ "starting_analysis": "Analyse starten...",
493
+ "found_files": "Gevonden {count} bestanden",
494
+ "failed_to_parse_language_error": "Kan niet parseren {language} vertalingen: {errorMessage}",
495
+ "recommendations": {
496
+ "keys_have_significant_size_variations": "sleutels hebben aanzienlijke variaties in grootte",
497
+ "consider_reviewing_translations": "Overweeg om te beoordelen {lang} vertalingen - dat zijn ze {percentageDifference}% {comparison} dan de basislijn",
498
+ "long_translations_detected": "{lang} heeft {longKeys} vertalingen langer dan {threshold} karakters - overweeg ze op te splitsen"
499
+ },
500
+ "detailed_key_analysis_title": "Gedetailleerde sleutelanalyse",
501
+ "key_analysis_detail": "{lang}: {length} tekens ({status}) - {translation}",
502
+ "key_analysis_header": "Sleutel: {key}",
503
+ "status_empty": "leeg",
504
+ "status_long": "lang",
505
+ "status_ok": "OK"
506
+ },
507
+ "usage": {
508
+ "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",
509
+ "source_directory_thissourcedir": "📁 Bronmap: {sourceDir}",
510
+ "translationCompletenessTitle": "🌍 Volledigheid van de vertaling:",
511
+ "i18n_directory_thisi18ndir": "🌐 I18n-map: {i18nDir}",
512
+ "failed_to_parse_filename_error": "⚠️ Kan niet parseren {fileName}: {errorMessage}",
513
+ "analyzing_source_files": "🔍 Bronbestanden analyseren...",
514
+ "found_files_in_source": "📂 Gevonden {numFiles} bestanden in de bronmap",
515
+ "found_thisusedkeyssize_unique_": "🎯 Gevonden {usedKeysSize} unieke gebruikte sleutels",
516
+ "total_key_usages_totalkeysfoun": "📊 Totaal sleutelgebruik: {totalKeysFound}",
517
+ "loading_available_translation_": "📋 Beschikbare vertaalsleutels laden...",
518
+ "found_thisavailablekeyssize_av": "✅ Gevonden {availableKeysSize} beschikbare sleutels",
519
+ "foundTranslationFiles": "✅ Gevonden {count} vertaalbestanden",
520
+ "errorReadingI18nDirectory": "⚠️ Fout bij het lezen van de i18n-directory: {error}",
521
+ "pressEnterToReturnToMenu": "📝 Druk op Enter om terug te keren naar het hoofdmenu...",
522
+ "notTranslatedKeysTotal": "⚠️ Niet vertaalde sleutels: {total}",
523
+ "noSourceFilesFound": "⚠️ Geen bronbestanden gevonden in de bronmap.",
524
+ "reviewNotTranslatedKeys": "💡 Review niet vertaalde sleutels",
525
+ "analysisCompletedSuccessfully": "🎉 Analyse succesvol afgerond!",
526
+ "detectedSourceDirectory": "Gedetecteerde bronmap: {sourceDir}",
527
+ "detectedI18nDirectory": "Gedetecteerde i18n-map: {i18nDir}",
528
+ "fileInfo": "📄 {namespace}: {keys} sleutels",
529
+ "failedToAnalyzeUsage": "❌ Kan het gebruik niet analyseren: {error}",
530
+ "failedToAnalyzeFile": "❌ Kan het bestand niet analyseren: {error}",
531
+ "failedToExtractKeys": "❌ Kan sleutels niet extraheren {filePath}: {error}",
532
+ "analysisFailedError": "❌ Analyse mislukt: {error}",
533
+ "analyzerInitialized": "Analysator geïnitialiseerd",
534
+ "analyzerInitFailed": "Initialisatie van de analyser is mislukt: {error}",
535
+ "argsParsed": "Argumenten ontleed",
536
+ "processedFiles": "Verwerkt {processedFiles} van {totalFiles} bestanden.",
537
+ "argsParseFailed": "Parseren van argumenten mislukt: {error}",
538
+ "translationDiscoveryError": "Fout bij het ontdekken van vertalingen: {error}",
539
+ "fileTraversalError": "Fout bij het doorlopen van bestanden: {error}",
540
+ "sourceEqualsI18nWarn": "{reason}. Bij gebruiksanalyse worden landinstellingsbestanden niet als broncode gescand.",
541
+ "i18nEqualsSourceWarn": "⚠️ I18n-directory en brondirectory zijn hetzelfde. Dit kan problemen met de analyse veroorzaken.",
542
+ "usageAnalysisFailed": "⚠️ Gebruiksanalyse mislukt: {error}",
543
+ "translationFileParseError": "⚠️ Parseerfout in vertaalbestand: {error}",
544
+ "translationKeysLoadError": "⚠️ Fout bij het laden van vertaalsleutels: {error}",
545
+ "languageCompletenessStats": "🌐 {language}: {translated}/{total} ({completeness}% vertaald)",
546
+ "missingKeysCount": "⚠️ Ontbrekende sleutels: {count}",
547
+ "analyzingTranslationCompleteness": "Volledigheid van vertalingen analyseren...",
548
+ "unusedKeysCount": "Ongebruikte sleutels: {count}",
549
+ "usedKeysCount": "Gebruikte sleutels: {count}",
550
+ "availableKeysCount": "Beschikbare sleutels: {count}",
551
+ "analysisResults": "Analyseresultaten:",
552
+ "i18nDirectoryNotFound": "⚠️ I18n-directory niet gevonden. Controleer het pad.",
553
+ "sourceDirectoryNotFound": "⚠️ Bronmap niet gevonden: {dir}",
554
+ "checkUsage": {
555
+ "title": "🔍 I18NTK USAGE ANALYSIS",
556
+ "analyzing_source_files": "🔍 Bronbestanden analyseren...",
557
+ "source_directory_thissourcedir": "📁 Bronmap: {sourceDir}",
558
+ "i18n_directory_thisi18ndir": "📁 i18n-map: {i18nDir}",
559
+ "found_files_in_source": "✅ Gevonden {numFiles} bestanden in de bronmap",
560
+ "no_source_files_found": "⚠️ Geen bronbestanden gevonden in de opgegeven map",
561
+ "processedFiles": "📊 Verwerkt {processedFiles} van {totalFiles} bestanden",
562
+ "failedToProcessFile": "❌ Kan niet worden verwerkt",
563
+ "found_thisusedkeyssize_unique_": "🔍Gevonden {usedKeysSize} unieke gebruikte sleutels",
564
+ "total_key_usages_totalkeysfoun": "📊 Totaal sleutelgebruik: {totalKeysFound}",
565
+ "loading_available_translation_": "📂 Beschikbare vertaalsleutels laden...",
566
+ "found_thisavailablekeyssize_av": "✅ Gevonden {availableKeysSize} beschikbare sleutels",
567
+ "message": "Analyseren van het gebruik van vertaalsleutels in uw project...",
568
+ "usage_analysis_results": "📊 USAGE ANALYSIS RESULTS",
569
+ "source_files_scanned_thisfileu": "📁 Bronbestanden gescand: {fileUsageSize}",
570
+ "available_translation_keys_thi": "✅ Beschikbare vertaalsleutels: {availableKeysSize}",
571
+ "used_translation_keys_thisused": "🔍 Gebruikte vertaalsleutels: {usedKeysSize}",
572
+ "dynamic_keys_detected_dynamick": "⚡ Dynamische sleutels gedetecteerd: {dynamicKeysLength}",
573
+ "unused_keys_unusedkeyslength": "🗑️ Ongebruikte sleutels: {unusedKeysLength}",
574
+ "missing_keys_missingkeyslength": "❌ Ontbrekende sleutels: {missingKeysLength}",
575
+ "translation_completeness_title": "📈 VOLLEDIGHEID VAN DE VERTALING",
576
+ "language_completeness_stats": "{language}: {translated}/{total} sleutels ({percentage}%)",
577
+ "n_sample_unused_keys": "🗑️ VOORBEELD VAN ONGEBRUIKTE SLEUTELS (eerste 5):",
578
+ "key": "🔑 {key}",
579
+ "and_unusedkeyslength_5_more": "... En {count} meer ongebruikte sleutels",
580
+ "n_sample_missing_keys": "❌ VOORBEELD ONTBREKENDE SLEUTELS (eerste 5):",
581
+ "and_missingkeyslength_5_more": "... En {count} meer ontbrekende sleutels",
582
+ "n_generating_detailed_report": "📊 Gedetailleerd rapport genereren...",
583
+ "report_saved_reportpath": "📄 Rapport opgeslagen: {reportPath}",
584
+ "n_recommendations": "💡 AANBEVELINGEN:",
585
+ "consider_removing_unused_trans": "🗑️ Overweeg om ongebruikte vertalingen te verwijderen om de bundelgrootte te verkleinen",
586
+ "add_missing_translation_keys_t": "➕ Voeg ontbrekende vertaalsleutels toe om de consistentie te behouden",
587
+ "review_dynamic_keys_manually_t": "🔍 Dynamische sleutels handmatig bekijken (ze kunnen geldig zijn)",
588
+ "all_translation_keys_are_prope": "✅ Alle vertaalsleutels worden correct gebruikt!",
589
+ "n_next_steps": "🎯 NEXT STEPS:",
590
+ "2_check_the_detailed_report_fo": "2. Controleer het gedetailleerde rapport op specifieke problemen",
591
+ "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",
592
+ "1_review_the_analysis_results": "1. Bekijk de analyseresultaten in de console of het gegenereerde rapport.",
593
+ "2_run_with_outputreport_for_de": "2. Voer het uit met --output-report voor een gedetailleerd rapport.",
594
+ "3_remove_unused_keys_or_add_mi": "3. Verwijder ongebruikte sleutels of voeg ontbrekende sleutels toe aan uw broncode.",
595
+ "4_rerun_analysis_to_verify_imp": "4. Voer de analyse opnieuw uit om verbeteringen te verifiëren.",
596
+ "noSourceFilesFound": "Er zijn geen bronbestanden gevonden om te analyseren.",
597
+ "i18nDirectoryNotFound": "I18n-directory niet gevonden: {i18nDir}",
598
+ "noTranslationLanguagesFound": "Geen vertaaltalen gevonden.",
599
+ "failedToAnalyzeFile": "Kan het bestand niet analyseren {filePath}: {error}",
600
+ "failedToAnalyzeLanguage": "Kan de taal niet analyseren {language}: {error}",
601
+ "translationCompletenessAnalysisFailed": "Analyse van de volledigheid van de vertaling is mislukt: {error}",
602
+ "n": "\\N"
603
+ },
604
+ "complete": {
605
+ "configLoadedSuccessfully": "Configuratie succesvol geladen",
606
+ "configLoadingFailed": "Het laden van de configuratie is mislukt",
607
+ "title": "🌍 I18NTK VERTALING VOLTOOID",
608
+ "separator": "============================================================",
609
+ "sourceDir": "📁 Bronmap: {sourceDir}",
610
+ "sourceLanguage": "🌐 Brontaal: {sourceLanguage}",
611
+ "dryRunMode": "🧪 Droogloopmodus - er worden geen wijzigingen aangebracht",
612
+ "languages": "🌍 Beschikbare talen: {languages}",
613
+ "addingMissingKeys": "➕ Ontbrekende sleutels toevoegen aan vertaalbestanden...",
614
+ "processing": "🔄 Verwerking {language}...",
615
+ "addedKeys": "✅ Toegevoegd {count} ontbrekende sleutels",
616
+ "changeDetails": "📝 {file}: {key}",
617
+ "andMore": "...En {count} meer",
618
+ "noChangesNeeded": "✅ Geen wijzigingen nodig voor {language}",
619
+ "summaryTitle": "📊 VOLTOOID SAMENVATTING",
620
+ "totalChanges": "📝 Totaal aantal wijzigingen: {totalChanges}",
621
+ "languagesProcessed": "🌍 Verwerkte talen: {languagesProcessed}",
622
+ "missingKeysAdded": "➕ Ontbrekende sleutels toegevoegd: {missingKeysAdded}",
623
+ "nextStepsTitle": "📋 NEXT STEPS",
624
+ "nextStep1": "1. Gebruiksanalyse uitvoeren:",
625
+ "nextStep2": "knooppunt i18ntk-usage.js --output-rapport",
626
+ "nextStep3": "2. Valideer vertalingen:",
627
+ "nextStep4": "knooppunt i18ntk-validate.js",
628
+ "nextStep5": "3. Analyseer patronen:",
629
+ "nextStep6": "knooppunt i18ntk-analyze.js",
630
+ "allKeysAvailable": "🎉 Alle vertaalsleutels zijn nu beschikbaar!",
631
+ "runWithoutDryRun": "💡 Uitvoeren zonder --drooglopen om wijzigingen toe te passen",
632
+ "deletingOldReport": "🗑️ Oud rapport verwijderen...",
633
+ "generatingFreshAnalysis": "📊 Nieuwe gebruiksanalyses genereren...",
634
+ "couldNotGenerate": "❌ Kan geen gebruiksanalyse genereren",
635
+ "reportNotFound": "📋 Gebruiksrapport niet gevonden. Gemeenschappelijke sleutels gebruiken...",
636
+ "foundMissingKeys": "📋 Gevonden {count} ontbrekende sleutels uit gebruiksanalyse",
637
+ "couldNotParse": "❌ Kan het gebruiksrapport niet parseren. Gemeenschappelijke sleutels gebruiken..."
638
+ },
639
+ "noTranslationLanguagesFound": "Geen vertaaltalen gevonden",
640
+ "failedToAnalyzeLanguage": "Kan de taal niet analyseren",
641
+ "translationCompletenessAnalysisFailed": "Analyse van de volledigheid van de vertaling is mislukt",
642
+ "failedToProcessFile": "Kan bestand niet verwerken:",
643
+ "failedToSaveReport": "Kan gebruiksrapport niet opslaan: {error}",
644
+ "i18nDirectoryDoesNotExist": "I18n-map bestaat niet: {dir}",
645
+ "reportSavedTo": "Gebruiksrapport opgeslagen in: {reportPath}",
646
+ "sourceDirectoryDoesNotExist": "Bronmap bestaat niet: {dir}",
647
+ "noSourceDirectoryConfigured": "(geen geconfigureerd)"
648
+ },
649
+ "validate": {
650
+ "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",
651
+ "title": "🔍 I18n Vertaalvalidator",
652
+ "message": "Validatieproces starten...",
653
+ "sourceDirectory": "📁 Bronmap: {dir}",
654
+ "sourceLanguage": "🌍 Brontaal: {sourceLanguage}",
655
+ "strictMode": "⚙️ Strikte modus: {mode}",
656
+ "noTargetLanguages": "Geen doeltalen geconfigureerd; doelvalidatie overslaan. Voeg talen toe via \"i18ntk init --linguals=de,fr\".",
657
+ "validatingLanguages": "🌍 Talen valideren: {langs}",
658
+ "validatingLanguage": "🔍Taal valideren: {lang}",
659
+ "filesCount": "📄 Bestanden: {count}",
660
+ "keysCount": "🔑 Toetsen: {count}",
661
+ "missingFilesCount": "📁 Ontbrekende bestanden: {count}",
662
+ "syntaxErrorsCount": "❌ Syntaxisfouten: {count}",
663
+ "translationPercentage": "🎯 Vertaling: {percentage}% ({translated}/{total} sleutels)",
664
+ "validationSummary": "📊 VALIDATIE SAMENVATTING",
665
+ "validation_failed": "❌ Validatie mislukt: {error}",
666
+ "totalErrors": "❌ Totaal aantal fouten: {count}",
667
+ "totalWarnings": "⚠️ Totaal aantal waarschuwingen: {count}",
668
+ "errorsSection": "❌ ERRORS",
669
+ "warningsSection": "⚠️ WARNINGS",
670
+ "recommendationsSection": "💡 AANBEVELINGEN",
671
+ "fixErrorsFirst": "1. Los eerst alle fouten op",
672
+ "resolveMissingFilesAndSyntaxErrors": "1. Los ontbrekende bestanden en syntaxisfouten op",
673
+ "fixStructuralInconsistencies": "2. Los structurele inconsistenties op",
674
+ "completeMissingTranslations": "3. Voltooi ontbrekende vertalingen",
675
+ "rerunValidation": "4. Voer de validatie opnieuw uit om de oplossingen te verifiëren",
676
+ "addressWarnings": "Adresseer waarschuwingen om de kwaliteit te verbeteren",
677
+ "reviewWarnings": "Bekijk waarschuwingen en corrigeer waar nodig",
678
+ "considerRunningWithStrict": "2. Overweeg om de vlag --strict uit te voeren voor een strengere validatie",
679
+ "allValidationsPassed": "🎉 Alle validaties geslaagd!",
680
+ "considerRunningUsageAnalysis": "Overweeg om een ​​gebruiksanalyse uit te voeren: node i18ntk-usage.js",
681
+ "deletedOldReport": "🗑️ Oud validatierapport verwijderd",
682
+ "sourceDir": "📁 Bronmap: {sourceDir}",
683
+ "i18nDir": "🌐 I18n-map: {i18nDir}",
684
+ "loadingTranslationFiles": "📋 Vertaalbestanden laden...",
685
+ "foundTranslationFilesCount": "✅ Gevonden {count} vertaalbestanden",
686
+ "analyzingTranslations": "🔍Vertalingen analyseren...",
687
+ "validationCompletedSuccessfully": "🎉 Validatie succesvol afgerond!",
688
+ "validationErrorsFound": "⚠️ Validatiefouten gevonden: {count}",
689
+ "validationWarningsFound": "⚠️ Validatiewaarschuwingen gevonden: {count}",
690
+ "validationPassed": "✅ Validatie geslaagd zonder fouten",
691
+ "validationFailed": "Validatie mislukt: {error}",
692
+ "startingValidationProcess": "🔍 Validatieproces starten...",
693
+ "validationProcessCompletedSuccessfully": "✅ Validatieproces succesvol afgerond",
694
+ "stackTrace": "Stapeltrace: {stack}",
695
+ "authenticationFailed": "❌ Authenticatie mislukt. Toegang geweigerd.",
696
+ "fatalValidationError": "❌ Fatale validatiefout: {error}",
697
+ "configAccess": "Toegang tot de configuratie voor validatie",
698
+ "configValidated": "Configuratie succesvol gevalideerd",
699
+ "configError": "Configuratiefout: {error}",
700
+ "validatorInit": "Initialisatie van de I18n-validator",
701
+ "validatorInitialized": "I18n-validator is succesvol geïnitialiseerd",
702
+ "validatorInitError": "Validator-initialisatiefout: {error}",
703
+ "argsParsing": "Het parseren van opdrachtregelargumenten",
704
+ "argsParsed": "Opdrachtregelargumenten zijn succesvol geparseerd",
705
+ "argsParseError": "Fout bij het parseren van argumenten: {error}",
706
+ "languagesScan": "Beschikbare talen scannen",
707
+ "languagesFound": "Gevonden {count} talen",
708
+ "languagesScanError": "Taalscanfout: {error}",
709
+ "filesScan": "Gevonden {count} bestanden binnen {language}",
710
+ "filesScanError": "Bestandsscanfout: {error}",
711
+ "jsonValidated": "JSON-syntaxis gevalideerd: {filePath}",
712
+ "jsonValidationError": "JSON-validatiefout: {error}",
713
+ "languageValidation": "Taal valideren: {language}",
714
+ "languageValidationError": "Taalvalidatiefout: {error}",
715
+ "fileDeleted": "Bestand verwijderd",
716
+ "runStarted": "Validatierun starten",
717
+ "runCompleted": "Validatierun is succesvol voltooid",
718
+ "runError": "Validatierun mislukt: {error}",
719
+ "scriptExecution": "Scriptuitvoering",
720
+ "validationCompleted": "Validatie voltooid",
721
+ "validationError": "Validatiefout: {error}",
722
+ "separator": "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━",
723
+ "languageHeader": "🌐 Taal: {language}",
724
+ "validationResults": "📊 Validatieresultaten",
725
+ "noErrors": "✅ Geen fouten gevonden",
726
+ "noWarnings": "✅ Geen waarschuwingen gevonden",
727
+ "summaryHeader": "📋 OVERALL SUMMARY",
728
+ "progressIndicator": "⏳ Verwerken...",
729
+ "completedIndicator": "✅ Voltooid",
730
+ "errorIndicator": "❌ Fout",
731
+ "warningIndicator": "⚠️Waarschuwing",
732
+ "infoIndicator": "ℹ️ Info",
733
+ "sourceDirNotConfigured": "Bronmap niet geconfigureerd",
734
+ "sourceLanguageNotConfigured": "Brontaal niet geconfigureerd",
735
+ "translationFunctionNotInitialized": "Vertaalfunctie niet correct geïnitialiseerd",
736
+ "sourceLanguageDirectoryNotFound": "Brontaaldirectory niet gevonden",
737
+ "specifiedLanguageNotFound": "Opgegeven taal niet gevonden",
738
+ "noJsonFilesFound": "Geen JSON-bestanden gevonden in de bronmap: {sourceDir}",
739
+ "i18nDirectoryNotFound": "I18n-directory niet gevonden: {i18nDir}",
740
+ "invalidDirectoryPaths": "Ongeldige mappaden gedetecteerd",
741
+ "invalidSampleFilePath": "Ongeldig voorbeeldbestandspad",
742
+ "failedToCreateSampleTranslationFile": "Kan voorbeeldvertaalbestand niet maken",
743
+ "invalidFilePathDetected": "Ongeldig bestandspad gedetecteerd",
744
+ "failedToWriteFile": "Kan bestand niet schrijven: {filePath}",
745
+ "invalidSourceDirectory": "Ongeldige bronmap: {sourceDir}",
746
+ "invalidSourceLanguageDirectory": "Ongeldige brontaaldirectory: {sourceDir}"
747
+ },
748
+ "adminCli": {
749
+ "setupPinProtectionTitle": "🔐 Beheerderspincodebeveiliging instellen",
750
+ "setupPinProtectionDescription": "Hiervoor is een pincode van 4 tot 6 cijfers vereist voor administratieve handelingen.",
751
+ "enablePinProtectionPrompt": "Wilt u beheerderspincodebeveiliging inschakelen?",
752
+ "setupCancelled": "Beveiligingsinstellingen met beheerderspincode geannuleerd.",
753
+ "enterPinPrompt": "Voer een pincode van 4 tot 6 cijfers in:",
754
+ "pinFormatError": "❌ De pincode moet 4-6 cijfers bevatten. Probeer het opnieuw.",
755
+ "confirmPinPrompt": "Bevestig pincode:",
756
+ "pinMismatchError": "❌ Pincodes komen niet overeen. Probeer het opnieuw.",
757
+ "pinProtectionEnabledSuccess": "✅ Beveiliging met beheerderspincode succesvol ingeschakeld!",
758
+ "pinRecoveryWarning": "⚠️ Onthoud uw pincode: deze kan niet worden hersteld als u deze kwijtraakt.",
759
+ "setupPinProtectionFailed": "❌ Kan beheerderspincode niet instellen.",
760
+ "errorSettingUpPin": "❌ Fout bij het instellen van de beheerderspincode: {message}",
761
+ "authRequiredForOperation": "🔐 Beheerderverificatie vereist voor: {operation}",
762
+ "invalidPinFormat": "❌ Ongeldig pincodeformaat. De pincode moet uit 4-6 cijfers bestaan.",
763
+ "authenticationSuccess": "✅ Authenticatie succesvol!",
764
+ "invalidPinAttemptsRemaining": "❌ Ongeldige pincode. {remaining} resterende pogingen.",
765
+ "authenticationFailedAccessDenied": "❌ Authenticatie mislukt. Toegang geweigerd.",
766
+ "authenticationError": "❌ Authenticatiefout: {message}",
767
+ "pinProtectionNotEnabled": "Beveiliging met beheerderspincode is momenteel niet ingeschakeld.",
768
+ "disablingPinProtectionTitle": "🔓 Beveiliging met beheerderspincode uitschakelen",
769
+ "confirmDisablePinProtection": "Weet u zeker dat u de beheerderspincodebeveiliging wilt uitschakelen?",
770
+ "operationCancelled": "Bewerking geannuleerd.",
771
+ "pinProtectionDisabledSuccess": "✅ Beveiliging met beheerderspincode uitgeschakeld.",
772
+ "disablePinProtectionFailed": "❌ Kan beheerderspincodebeveiliging niet uitschakelen.",
773
+ "errorDisablingPinProtection": "❌ Fout bij het uitschakelen van beheerdersbescherming: {message}",
774
+ "adminProtectionStatusTitle": "🔐 Beheerdersbeschermingsstatus",
775
+ "statusEnabled": "Status: ✅ INGESCHAKELD",
776
+ "protectionDetails": "Beveiliging: 4-6-cijferige pincode vereist voor beheerdersactiviteiten",
777
+ "lockoutDetails": "Uitsluiting: 3 mislukte pogingen = 15 minuten uitsluiting",
778
+ "statusDisabled": "Status: ❌ UITGESCHAKELD",
779
+ "noAuthRequired": "Bescherming: geen authenticatie vereist",
780
+ "unprotectedRisk": "Risico: Administratieve handelingen zijn onbeschermd",
781
+ "errorCheckingAdminStatus": "❌ Fout bij het controleren van de beheerdersstatus: {message}",
782
+ "authRequired": "🔐 Beheerderverificatie vereist.",
783
+ "invalidPin": "❌ Ongeldige pincode.",
784
+ "authSuccess": "✅ Authenticatie succesvol!",
785
+ "adminPinSetupCli": "admin_pin_setup_cli",
786
+ "adminAuthFailedCli": "admin_auth_failed_cli",
787
+ "adminAuthDisabledCli": "admin_auth_disabled_cli",
788
+ "protectedAccess": "Beveiligde toegang: beheerdersverificatie vereist voor gevoelige bewerkingen.",
789
+ "enterPin": "Voer de beheerderspincode in:",
790
+ "accessGranted": "Toegang verleend."
791
+ },
792
+ "adminPin": {
793
+ "setup_title": "🔐 Beheerderspincode instellen",
794
+ "setup_separator": "============================================================",
795
+ "setup_description": "Maak een 4-6-cijferige pincode aan voor beheerderstoegang tot gevoelige instellingen.",
796
+ "required_for_title": "Deze pincode is vereist voor:",
797
+ "required_for_1": "• Beveiligingsinstellingen wijzigen",
798
+ "required_for_2": "• Geavanceerde configuraties wijzigen",
799
+ "required_for_3": "• Toegang tot debug-tools",
800
+ "required_for_4": "• Instellingen resetten",
801
+ "setup_note": "💡 Opmerking: u ziet sterretjes (*) terwijl u typt - dit zijn slechts maskerende tekens.",
802
+ "setup_digits_only": "Alleen de cijfers 0-9 worden geaccepteerd als pincodecijfers.",
803
+ "invalid_pin_length": "❌ Ongeldige pincode. Moet 4-6 cijfers bevatten (alleen de cijfers 0-9).",
804
+ "invalid_pin_example": "Voorbeeld: 1234 of 567890",
805
+ "pins_do_not_match": "❌ Pincodes komen niet overeen.",
806
+ "setup_success": "✅ Beheerderspincode is succesvol ingesteld!",
807
+ "setup_warning": "⚠️ Bewaar deze pincode goed. Bij verlies kan het niet worden teruggehaald.",
808
+ "setup_error": "❌ Fout bij instellen van pincode:",
809
+ "session_expired": "⏰ Beheerderssessie verlopen vanwege inactiviteit.",
810
+ "no_pin_set_setting_up": "⚠️ Geen beheerderspincode ingesteld. Pincode instellen...",
811
+ "no_pin_configured_access_denied": "⚠️ Geen beheerderspincode geconfigureerd. Toegang geweigerd.",
812
+ "use_admin_settings_to_set_pin": "💡 Gebruik de beheerdersinstellingen om eerst een pincode in te stellen.",
813
+ "locked_out": "🔒 Beheerderstoegang is vergrendeld vanwege te veel mislukte pogingen.",
814
+ "wait_before_retry": "Wacht 5 minuten voordat u het opnieuw probeert.",
815
+ "access_granted": "✅ Beheerderstoegang verleend.",
816
+ "incorrect_pin": "❌ Onjuiste pincode. {attempts} resterende pogingen.",
817
+ "verify_pin_error": "❌ Fout bij het verifiëren van de pincode:",
818
+ "already_configured": "✅ Beheerderspincode is al geconfigureerd.",
819
+ "optional_setup_title": "🔐 Beheerderspincode instellen (optioneel)",
820
+ "optional_setup_description": "Beveiliging met beheerderspincode voegt beveiliging toe voor gevoelige handelingen, zoals:",
821
+ "setup_prompt": "Wilt u een beheerderspincode instellen? (j/N):",
822
+ "skipping_setup": "⏭️ Het instellen van de beheerderspincode wordt overgeslagen. Je kunt dit later instellen in de instellingen.",
823
+ "setup_prompt_error": "❌ Fout tijdens de prompt voor het instellen van de pincode:",
824
+ "protectedAccess": "Beveiligde toegang: beheerdersverificatie vereist voor gevoelige bewerkingen.",
825
+ "enterPin": "Voer de beheerderspincode in:",
826
+ "accessGranted": "Toegang verleend.",
827
+ "invalidPin": "❌ Ongeldige pincode. Probeer het opnieuw.",
828
+ "weak_pin_warning": "⚠️ WAARSCHUWING: deze pincode lijkt zwak of gebruikelijk.",
829
+ "weak_pin_suggestion": "💡 Overweeg het gebruik van een sterkere pincode met gevarieerde cijfers.",
830
+ "use_anyway_prompt": "Typ 'ja' om toch te gebruiken, of druk op Enter om een ​​andere pincode te kiezen:",
831
+ "enter_new_pin": "Voer een nieuwe beheerderspincode in (4-6 cijfers):",
832
+ "confirm_pin": "Bevestig de beheerderspincode:",
833
+ "not_set": "Niet ingesteld",
834
+ "pin_display_mask": "####"
835
+ },
836
+ "debug": {
837
+ "title": "🔧 Hulpmiddelen voor foutopsporing",
838
+ "separator": "============================================================",
839
+ "mainDebuggerSystemDiagnostics": "1. Systeemdiagnostiek",
840
+ "_consoleTranslationsCheck": "// 2. Controle van consolevertalingen",
841
+ "_exportMissingKeys": "// 3. Ontbrekende vertaalsleutels exporteren",
842
+ "_replaceHardcodedConsole": "// 4. Vervang hardgecodeerde consolestrings",
843
+ "_consoleKeyChecker": "// 5. Consolesleutelcontrole",
844
+ "debugLogs": "2. Foutopsporingslogboeken",
845
+ "backToMainMenu": "0. Terug naar hoofdmenu",
846
+ "selectOption": "Selecteer een foutopsporingstool:",
847
+ "runningDebugTool": "Rennen {displayName}...",
848
+ "debugToolNotFound": "❌ Foutopsporingstool niet gevonden: {toolName}",
849
+ "errorRunningDebugTool": "Fout bij het uitvoeren van foutopsporingstool '{displayName}': {error}",
850
+ "recentDebugLogs": "📄 Recente foutopsporingslogboeken",
851
+ "noDebugLogsFound": "❌ Geen foutopsporingslogboeken gevonden.",
852
+ "debugLogsDirectoryNotFound": "❌ Directory voor foutopsporingslogboeken niet gevonden.",
853
+ "selectLogPrompt": "Selecteer logbestand om te bekijken (1-{count}):",
854
+ "invalidChoiceSelectRange": "Ongeldige keuze. Maak uw keuze uit het beschikbare assortiment.",
855
+ "contentOf": "📄Inhoud van {filename}:",
856
+ "pressEnterToContinue": "Druk op Enter om door te gaan..."
857
+ },
858
+ "detect_language_mismatches": {
859
+ "tool_title": "🔍 Hulpprogramma voor detectie van taalmismatch",
860
+ "separator": "=====================================",
861
+ "analyzing_file": "📄 Analyseren {language}.json...",
862
+ "error_analyzing_file": "❌ Foutanalyse {filename}: {errorMessage}",
863
+ "results_title": "📊 DETECTIERESULTATEN VAN TAAL-WISOVEREENKOMST",
864
+ "results_separator": "========================================",
865
+ "summary_title": "📋 SUMMARY:",
866
+ "total_files_analyzed": "Totaal geanalyseerde bestanden: {totalFiles}",
867
+ "files_with_mismatches": "Bestanden met niet-overeenkomende bestanden: {filesWithMismatches}",
868
+ "total_mismatches_found": "Totaal aantal gevonden mismatches: {totalMismatches}",
869
+ "no_mismatches_found": "✅ Geen taalmismatches gevonden! Alle vertalingen lijken in de juiste talen te zijn.",
870
+ "detailed_results_title": "🔍 DETAILED RESULTS:",
871
+ "file_mismatch_header": "📄 {filename} ({language})",
872
+ "mismatches_count": "Gevonden {count} niet-overeenkomende(n):",
873
+ "mismatch_details": "{index}. Sleutel: {key}",
874
+ "mismatch_value": "Waarde: \"{value}\"",
875
+ "mismatch_issue": "Probleem: {description}",
876
+ "recommendations_title": "💡 AANBEVELINGEN:",
877
+ "recommendation_1": "1. Bekijk en vertaal alle vermeldingen gemarkeerd met [TRANSLATEN]",
878
+ "recommendation_2": "2. Vervang taalvoorvoegsels (bijvoorbeeld [DE], [FR]) door de juiste vertalingen",
879
+ "recommendation_3": "3. Vertaal Engelse tekst naar de juiste doeltaal",
880
+ "recommendation_4": "4. Gebruik equivalenten in de moedertaal voor alle gebruikersgerichte tekst",
881
+ "recommendation_5": "5. Voer dit hulpprogramma opnieuw uit nadat u correcties hebt aangebracht om de oplossingen te verifiëren",
882
+ "detailed_report_saved": "📄 Gedetailleerd rapport opgeslagen in: {reportPath}",
883
+ "error_saving_report": "❌ Fout bij opslaan rapport: {errorMessage}",
884
+ "auto_fix_mode": "🔧 Auto-fix-modus {dryRun}",
885
+ "auto_fix_separator": "=====================================",
886
+ "fixed_file": "✅ Vast {filename}",
887
+ "auto_fix_summary_title": "📊 Samenvatting van automatische correctie:",
888
+ "total_fixes_applied": "Totaal aantal toegepaste fixes: {count}",
889
+ "preview_fixes_title": "🔍 Voorbeeld van oplossingen:",
890
+ "fix_details": "{file}: {key} Oud: \"{old}\" Nieuw: \"{new}\"",
891
+ "more_fixes": "... En {count} meer reparaties",
892
+ "run_with_apply_fixes": "💡 Voer uit met --apply om deze oplossingen toe te passen",
893
+ "error_general": "❌ Fout:",
894
+ "mainDebuggerSystemDiagnostics": "Hoofddebugger / Systeemdiagnostiek",
895
+ "exportMissingKeys": "Exporteer ontbrekende sleutels",
896
+ "replaceHardcodedConsole": "Vervang de hardgecodeerde console",
897
+ "consoleKeyChecker": "Consolesleutelcontrole",
898
+ "debugLogs": "Foutopsporingslogboeken",
899
+ "backToMainMenu": "Terug naar het hoofdmenu",
900
+ "invalidChoiceSelectRange": "❌ Ongeldige keuze. Selecteer een getal binnen het weergegeven bereik.",
901
+ "runningDebugTool": "Foutopsporingstool uitvoeren: {displayName}",
902
+ "debugToolNotFound": "Foutopsporingstool '{toolName}' niet gevonden.",
903
+ "recentDebugLogs": "Recente foutopsporingslogboeken",
904
+ "noDebugLogsFound": "Geen foutopsporingslogboeken gevonden.",
905
+ "logEntry": "Logboekinvoer: {timestamp} - {message}",
906
+ "debugLogsDirectoryNotFound": "Map voor foutopsporingslogboeken niet gevonden."
907
+ },
908
+ "help": {
909
+ "title": "📊 I18NTK MANAGEMENTHULP",
910
+ "usage": "Gebruik: knooppunt main/manage/index.js [opties]",
911
+ "interactiveMode": "💡 Gebruik: knooppunt main/manage/index.js --command=<command> voor directe uitvoering",
912
+ "showHelp": "📖 Gebruik: node main/manage/index.js --help voor beschikbare opdrachten",
913
+ "availableCommands": "📖 Beschikbare opdrachten:",
914
+ "initProject": "🚀 Initialiseer nieuwe talen",
915
+ "analyzeTranslations": "🔍 Analyseer vertalingen",
916
+ "validateTranslations": "✅ Valideer vertalingen",
917
+ "checkUsage": "📊 Controleer het sleutelgebruik",
918
+ "initCommand": "init - Initialiseer nieuwe talen",
919
+ "analyzeCommand": "analyseren - Analyseer vertalingen",
920
+ "validateCommand": "valideren - Valideer vertalingen",
921
+ "usageCommand": "gebruik - Controleer het sleutelgebruik",
922
+ "sizingCommand": "maatvoering - Analyseer maatvoering",
923
+ "completeCommand": "compleet - Volledige vertalingen (100% dekking)",
924
+ "summaryCommand": "samenvatting - Toon projectstatus",
925
+ "debugCommand": "debug - Debug vertaalproblemen",
926
+ "scannerCommand": "scanner - Scannen naar sleutels",
927
+ "translateCommand": "vertalen - Landinstellingenbestanden automatisch vertalen",
928
+ "menu": {
929
+ "pressEnterToContinue": "Druk op Enter om door te gaan...",
930
+ "title": "🌐 I18NTK BEHEERMENU",
931
+ "description": "Interactief menu voor het beheren van internationalisering",
932
+ "exit": "🚪 Afsluiten"
933
+ },
934
+ "commands": {
935
+ "init": "init - Initialiseer nieuwe talen",
936
+ "analyze": "analyseren - Analyseer vertalingen",
937
+ "validate": "valideren - Valideer vertalingen",
938
+ "usage": "gebruik - Controleer het sleutelgebruik",
939
+ "sizing": "maatvoering - Analyseer maatvoering",
940
+ "complete": "compleet - Volledige vertalingen (100% dekking)",
941
+ "summary": "samenvatting - Toon projectstatus",
942
+ "debug": "debug - Debug vertaalproblemen"
943
+ },
944
+ "options": {
945
+ "sourceDir": "--bron-dir <dir> Bronmap om te analyseren",
946
+ "output": "--uitvoer <file> Uitvoerbestand voor het rapport",
947
+ "verbose": "--verbose, -v Gedetailleerde informatie weergeven",
948
+ "keepReports": "--keep-reports Behoud bestaande rapporten",
949
+ "deleteReports": "--delete-reports Verwijder bestaande rapporten",
950
+ "help": "--help, -h Toon deze hulp"
951
+ },
952
+ "examples": {
953
+ "title": "Voorbeelden:",
954
+ "example1": "knooppunt i18ntk-manage.js",
955
+ "example2": "knooppunt i18ntk-manage.js --source-dir ./locales",
956
+ "example3": "knooppunt i18ntk-manage.js --output summary-report.txt",
957
+ "example4": "knooppunt i18ntk-manage.js --verbose",
958
+ "example5": "knooppunt i18ntk-manage.js --source-dir ./locales --output report.json"
959
+ },
960
+ "features": {
961
+ "initProject": "🚀 Initialiseer nieuwe talen",
962
+ "analyzeTranslations": "🔍 Analyseer vertalingen",
963
+ "validateTranslations": "✅ Valideer vertalingen",
964
+ "checkUsage": "📊 Controleer het sleutelgebruik",
965
+ "completeTranslations": "🎯 Volledige vertalingen (100% dekking)",
966
+ "showSizing": "📏 Analyseer de maatvoering",
967
+ "runWorkflow": "🔄 Voer de volledige workflow uit",
968
+ "showStatus": "📋 Toon projectstatus",
969
+ "deleteReports": "🗑️ Verwijder alle rapporten",
970
+ "changeLanguage": "🌍 Wijzig de UI-taal",
971
+ "settings": "⚙️ Instellingen",
972
+ "showHelp": "❓ Hulp",
973
+ "debugTools": "🔧 Hulpmiddelen voor foutopsporing"
974
+ },
975
+ "messages": {
976
+ "selectOption": "Selecteer een optie:",
977
+ "invalidOption": "Ongeldige optie. Probeer het opnieuw.",
978
+ "operationCompleted": "✅ Operatie succesvol afgerond!",
979
+ "pressEnter": "Druk op Enter om door te gaan...",
980
+ "goodbye": "👋 Tot ziens!",
981
+ "unknownCommand": "Onbekend commando: {command}",
982
+ "nonInteractive": "⚠️ Niet-interactieve modus gedetecteerd. Menu wordt alleen ter referentie weergegeven."
983
+ },
984
+ "i18n_helper": {
985
+ "translation_file_not_found": "Vertaalbestand niet gevonden: {translationFile}",
986
+ "error_loading_translations": "Fout bij het laden van vertalingen: {errorMessage}",
987
+ "translation_not_found": "Geen vertaling gevonden voor sleutel: {key}",
988
+ "translation_key_not_string": "De vertaalsleutel leidt niet tot een tekenreeks: {key}",
989
+ "error_reading_locales_directory": "Fout bij lezen van de locales-map: {errorMessage}"
990
+ }
991
+ },
992
+ "init": {
993
+ "initializationTitle": "🚀 i18n Management Toolkit - Projectinitialisatie",
994
+ "initializationCancelled": "🚫 Initialisatie geannuleerd door gebruiker.",
995
+ "sourceDirectoryLabel": "📁 Bronmap: {dir}",
996
+ "requiredTitle": "Initialisatie vereist",
997
+ "requiredBody": "Dit project moet worden geïnitialiseerd voordat deze opdracht wordt uitgevoerd.",
998
+ "promptRunNow": "Wilt u de initialisatie nu uitvoeren? (j/N):",
999
+ "sourceLanguageLabel": "🌍 Brontaal: {language}",
1000
+ "detectedI18nFrameworks": "🔍 Gedetecteerde i18n-framework(s): {frameworks}",
1001
+ "pinMustBe4Digits": "🔐De pincode moet uit 4 cijfers bestaan.",
1002
+ "existingDirectoriesFound": "📁 Bestaande vertaalmappen gevonden:",
1003
+ "useExistingDirectoryPrompt": "Wilt u de bestaande map gebruiken? (j/n)",
1004
+ "selectDirectoryPrompt": "Selecteer een map door het nummer in te voeren (of kies 'Nieuwe map aanmaken')",
1005
+ "enterNewDirectoryName": "Voer de naam in voor uw nieuwe vertaaldirectory",
1006
+ "createdNewDirectory": "✅ Nieuwe map gemaakt: {dir}",
1007
+ "directoryAlreadyExists": "⚠️ Directory bestaat al: {dir}",
1008
+ "invalidDirectoryName": "❌ Ongeldige mapnaam opgegeven.",
1009
+ "usingExistingDirectory": "Bestaande map gebruiken: {dir}",
1010
+ "adminPinSetupOptional": "🔐 Beheerderspincode instellen optioneel (aanbevolen voor beveiliging)",
1011
+ "adminPinSeparator": "------------------------------",
1012
+ "adminPinDescription1": "Beheerderspincode: 4-cijferig nummer voor veilige toegang",
1013
+ "adminPinDescription2": "Laat dit leeg om het instellen van de pincode over te slaan",
1014
+ "adminPinDescription3": "Als u een pincode instelt, is deze vereist voor alle toekomstige veilige acties.",
1015
+ "adminPinDescription4": "AES-256-GCM-codering gebruikt voor veilige opslag van de pincode.",
1016
+ "adminPinSetupPrompt": "Voer de beheerderspincode in (4 cijfers) of laat dit leeg om over te slaan:",
1017
+ "skippingAdminPinSetup": "Configuratie van beheerderspincode overslaan...",
1018
+ "settingUpAdminPin": "🔐 Beheerderspincode instellen...",
1019
+ "enterAdminPin": "Voer de beheerderspincode in:",
1020
+ "confirmAdminPin": "Bevestig de beheerderspincode:",
1021
+ "pinMismatch": "Pincodes komen niet overeen. Probeer het opnieuw.",
1022
+ "adminPinSetupSuccess": "🔐 Configuratie beheerderspincode succesvol!",
1023
+ "adminPinSetupFailure": "🔐 Installatie beheerderspincode mislukt. Probeer het opnieuw.",
1024
+ "adminProtectionEnabled": "🔐 Beheerdersbescherming ingeschakeld. Voor alle acties is pincodeverificatie vereist.",
1025
+ "adminProtectionDisabled": "🔐 Beheerdersbescherming uitgeschakeld. Alle acties zijn nu beschikbaar zonder pincode.",
1026
+ "autoDetectedI18nDirectory": "Automatisch gedetecteerde i18n-map: {directory}",
1027
+ "initializingProject": "⚙️ Projectconfiguratie initialiseren...",
1028
+ "createdSampleTranslationFile": "✅ Voorbeeldvertaalbestand gemaakt: {file}",
1029
+ "languageSelectionTitle": "🌐 Taalconfiguratie",
1030
+ "available": "Beschikbaar",
1031
+ "defaultLanguages": "📝 Standaardtalen: {languages}",
1032
+ "enterLanguageCodes": "🎯 Voer doeltaalcodes in (door komma's gescheiden, bijvoorbeeld de, es, fr, ru):",
1033
+ "targetLanguages": "🌍 Doeltalen",
1034
+ "foundSourceFiles": "📄 Gevonden {count} bronbestanden om te analyseren",
1035
+ "processingLanguage": "🔄 Verwerkingstaal: {language}",
1036
+ "fileProcessingResult": "✅ Verwerkt {file}: {translated}/{total} sleutels ({percentage}%)",
1037
+ "overallProgress": "📊 Algemene voortgang: {translated}/{total} sleutels verwerkt ({percentage}%)",
1038
+ "initializationSummaryTitle": "📋 Initialisatiesamenvatting",
1039
+ "languageSummary": "{icon} {name} ({code}): {percentage}% compleet",
1040
+ "languageFiles": "📄 Bestanden: {count}",
1041
+ "languageKeys": "🔤 Toetsen: {translated}/{total}",
1042
+ "languageMissing": "⚠️ Ontbreekt: {count}",
1043
+ "initializationCompletedSuccessfully": "🎉 Projectinitialisatie succesvol voltooid!",
1044
+ "nextStepsTitle": "🚀 Volgende stappen",
1045
+ "nextStep1": "1. Bekijk de gegenereerde vertaalbestanden in uw landinstellingen/map",
1046
+ "nextStep2": "2. Voeg vertalingen toe voor elke doeltaal",
1047
+ "nextStep3": "3. Voer 'npm run i18ntk' opnieuw uit om vertalingen te valideren",
1048
+ "detectedFrameworks": "✅ Gedetecteerde i18n-framework(s): {frameworks}",
1049
+ "setup": {
1050
+ "title": "Installatie",
1051
+ "question": "Installatievraag",
1052
+ "opt_single": "Enkel bestand",
1053
+ "opt_modular": "Modulair",
1054
+ "opt_existing": "Bestaand",
1055
+ "choice_prompt": "Kies een optie:",
1056
+ "opt_confirm": "Bevestigen",
1057
+ "opt_cancel": "Annuleren",
1058
+ "apply_all_prompt": "Deze structuur toepassen op alle talen? (j/N):",
1059
+ "per_language_intro": "U heeft ervoor gekozen om de talen afzonderlijk te configureren. Dit zijn de beschikbare talen:",
1060
+ "available_languages": "Beschikbare talen: {languages}",
1061
+ "include_prompt": "Voer door komma's gescheiden taalcodes in die u wilt opnemen (bijvoorbeeld 'de,fr,es'):"
1062
+ },
1063
+ "warnings": {
1064
+ "noPackageJson": "Geen package.json gevonden. Kan i18n-framework niet automatisch detecteren."
1065
+ },
1066
+ "errorsPackageJsonRead": "Fout bij het lezen van package.json: {error}",
1067
+ "errorsNoFramework": "Geen i18n-framework gedetecteerd. Installeer er een of geef het handmatig op.",
1068
+ "suggestions": {
1069
+ "noFramework": "Geen i18n-framework gedetecteerd. Overweeg het gebruik van een van de volgende:",
1070
+ "installFramework": "Om een ​​framework te installeren, voer je het volgende uit: npm install <pakketnaam>"
1071
+ },
1072
+ "frameworks": {
1073
+ "react": "- Reageer i18next (reageer-i18next)",
1074
+ "vue": "- Vue i18n (vue-i18n)",
1075
+ "i18next": "- i18volgende (i18volgende)",
1076
+ "nuxt": "- Nuxt i18n (@nuxtjs/i18n)",
1077
+ "svelte": "- Svelte i18n (svelte-i18n)"
1078
+ },
1079
+ "continueWithoutI18nPrompt": "Geen i18n-framework gedetecteerd. Wil je verder zonder? (j/N):",
1080
+ "detectedI18nFramework": "Gedetecteerd i18n-framework: {frameworks}",
1081
+ "existingDirectoryItem": "{index}. {location}",
1082
+ "usingExistingStructure": "Bestaande structuur gebruiken: {dir}",
1083
+ "creatingSourceDirectory": "Bronmap maken: {dir}",
1084
+ "creatingSourceLanguageDirectory": "Brontaaldirectory maken: {dir}",
1085
+ "errors": {
1086
+ "errorExecutingCommand": "Fout bij uitvoeren opdracht: {error}",
1087
+ "sourceDirectoryNotFound": "Bronmap niet gevonden: {dir}",
1088
+ "sourceLanguageDirectoryNotFound": "Brontaaldirectory niet gevonden: {dir}",
1089
+ "noJsonFilesInSourceDirectory": "Geen JSON-bestanden gevonden in de bronmap: {dir}",
1090
+ "invalidFilePathDetected": "Ongeldig bestandspad gedetecteerd",
1091
+ "initializationFailed": "Initialisatie mislukt: {error}",
1092
+ "noFramework": "Geen i18n-framework gedetecteerd. Ga verder met de generieke modus.",
1093
+ "packageJsonRead": "Fout bij het lezen van package.json."
1094
+ },
1095
+ "processingFile": "Verwerking {file} voor {language}...",
1096
+ "fileAlreadyExistsMerging": "Bestand {file} bestaat al. Nieuwe sleutels samenvoegen.",
1097
+ "createdNewFile": "Nieuw bestand aangemaakt: {file}",
1098
+ "updatedFile": "Bijgewerkt bestand: {file}",
1099
+ "skippingExcludedFile": "Overslaan {file} voor {language} aangezien het uitgesloten is.",
1100
+ "continuingWithoutAdminPin": "Doorgaan zonder beheerderspincode in te stellen.",
1101
+ "createdSourceLanguageDirectory": "Brontaaldirectory aangemaakt: {dir}",
1102
+ "errorSettingUpAdminPin": "Fout bij het instellen van de beheerderspincode: {error}",
1103
+ "noTargetLanguagesSpecified": "Geen doeltalen gespecificeerd.",
1104
+ "translationFilesCreatedWarning": "Er zijn vertaalbestanden gemaakt met tijdelijke aanduidingen; beoordeling vóór productiegebruik.",
1105
+ "warningCannotReadSourceDir": "Waarschuwing: kan de bronmap niet lezen {dir}: {error}",
1106
+ "warningInvalidLanguageCodes": "Waarschuwing: ongeldige taalcodes genegeerd: {languages}",
1107
+ "warningProceedingWithoutFramework": "Doorgaan zonder gedetecteerd i18n-framework.",
1108
+ "backup": {
1109
+ "title": "Back-upinstellingen",
1110
+ "description": "Back-ups zijn standaard uitgeschakeld om back-uprecursie en repo-vervuiling te voorkomen.",
1111
+ "enablePrompt": "Automatische back-ups inschakelen? (j/N):",
1112
+ "keepPrompt": "Hoeveel back-ups moeten er automatisch worden bewaard (1-3, standaard 1):"
1113
+ },
1114
+ "completionSummaryTitle": "Samenvatting van de voltooiing",
1115
+ "completionSummaryBasicTitle": "Voltooiingsoverzicht (basis)",
1116
+ "totalChanges": "Totaal wijzigingen: {count}",
1117
+ "languagesProcessed": "Verwerkte talen: {count}",
1118
+ "missingKeysAdded": "Ontbrekende sleutels toegevoegd: {count}",
1119
+ "reportPrompt": "Wilt u een rapport laten genereren? (J/n):",
1120
+ "reportGenerated": "Rapport gegenereerd: {reportPath}",
1121
+ "reportFailed": "Kan rapport niet genereren: {error}",
1122
+ "completionError": "Fout tijdens voltooiing: {error}",
1123
+ "optimize": {
1124
+ "title": "Optimalisatie van de pakketgrootte",
1125
+ "preview": "Voorbeeld van locale-optimalisatie uitvoeren...",
1126
+ "reduceTip": "U kunt de pakketgrootte verkleinen door alleen de talen te selecteren die u nodig heeft.",
1127
+ "prompt": "Wilt u nu interactieve optimalisatie uitvoeren? (j/n):",
1128
+ "starting": "Interactieve landinstellingenoptimalisatie starten...",
1129
+ "completed": "Pakketoptimalisatie voltooid.",
1130
+ "later": "U kunt de locale-optimalisatie later uitvoeren met:",
1131
+ "unavailable": "Kan landinstellingen niet optimaliseren: {error}"
1132
+ }
1133
+ },
1134
+ "language": {
1135
+ "title": "🌍 Taal wijzigen",
1136
+ "separator": "============================================================",
1137
+ "current": "Huidige taal: {language}",
1138
+ "available": "Beschikbare talen:",
1139
+ "languageOption": "{index}. {displayName}{current}",
1140
+ "backToMainMenu": "Terug naar het hoofdmenu",
1141
+ "prompt": "Selecteer een taal (0-8):",
1142
+ "cancelled": "Taalwijziging geannuleerd.",
1143
+ "invalid": "Ongeldige keuze. Probeer het opnieuw.",
1144
+ "changed": "Taal gewijzigd in: {language}",
1145
+ "changeFailed": "Kan de taal niet wijzigen: {error}",
1146
+ "pressEnterToContinue": "Druk op Enter om door te gaan..."
1147
+ },
1148
+ "maintainLanguagePurity": {
1149
+ "workflow_title": "🚀 Workflow voor onderhoud van taalzuiverheid",
1150
+ "step1_title": "📊 STAP 1: Initiële taalzuiverheidsbeoordeling",
1151
+ "step2_title": "🔧 STAP 2: Taalmismatches detecteren en automatisch corrigeren",
1152
+ "step3_title": "🌐 STAP 3: Automatische vertalingen toepassen",
1153
+ "step4_title": "✅ STAP 4: Eindbeoordeling van de taalzuiverheid",
1154
+ "workflow_error": "❌ Workflowfout: {errorMessage}",
1155
+ "running_initial_validation": "Validatie van initiële taalzuiverheid uitvoeren...",
1156
+ "initial_assessment_complete": "✅ Eerste beoordeling afgerond: {count} overtredingen gevonden",
1157
+ "initial_assessment_warnings": "⚠️ Eerste beoordeling afgerond met waarschuwingen",
1158
+ "detecting_fixing_mismatches": "Taalmismatches detecteren en oplossen...",
1159
+ "detection_complete_applying_fixes": "Detectie voltooid. Automatische correcties toepassen...",
1160
+ "mismatch_fixes_complete": "✅ Oplossingen voor taalmismatch voltooid: {count} correcties toegepast",
1161
+ "mismatch_fixes_warnings": "⚠️ Oplossingen voor taalmismatches aangevuld met waarschuwingen",
1162
+ "applying_automatic_translations": "Automatische vertalingen toepassen...",
1163
+ "translation_preview_complete": "Voorbeeld van vertaling voltooid. Vertalingen toepassen..."
1164
+ },
1165
+ "menu": {
1166
+ "title": "🌐 I18NTK BEHEERMENU",
1167
+ "separator": "============================================================",
1168
+ "options": {
1169
+ "init": "🚀 Initialiseer nieuwe talen",
1170
+ "analyze": "🔍 Analyseer vertalingen",
1171
+ "validate": "✅ Valideer vertalingen",
1172
+ "usage": "📊 Controleer het sleutelgebruik",
1173
+ "complete": "🎯 Volledige vertalingen (100% dekking)",
1174
+ "sizing": "📏 Analyseer de maatvoering",
1175
+ "fix": "🛠️ Tijdelijke vertalingen corrigeren",
1176
+ "scanner": "🔍 Scannen op i18n-problemen",
1177
+ "translate": "🌐 Automatisch vertalen",
1178
+ "workflow": "🔄 Voer de volledige workflow uit",
1179
+ "status": "📋 Toon projectstatus",
1180
+ "delete": "🗑️ Verwijder alle rapporten",
1181
+ "language": "🌍 Wijzig de UI-taal",
1182
+ "settings": "⚙️ Instellingen",
1183
+ "help": "❓ Hulp",
1184
+ "debug": "🔧 Hulpmiddelen voor foutopsporing",
1185
+ "exit": "🚪 Afsluiten"
1186
+ },
1187
+ "update": "📦 Pakket bijwerken",
1188
+ "goodbye": "👋 Tot ziens!",
1189
+ "invalidChoice": "Ongeldige keuze. Selecteer 0-15.",
1190
+ "returning": "Terugkeren naar het hoofdmenu...",
1191
+ "invalidOption": "Ongeldige optie. Probeer het opnieuw.",
1192
+ "nonInteractiveModeWarning": "Niet-interactieve modus gedetecteerd. Menu wordt alleen ter referentie weergegeven.",
1193
+ "useDirectExecution": "Gebruik: knooppunt main/manage/index.js --command=<command> voor directe uitvoering.",
1194
+ "useHelpForCommands": "Gebruik: node main/manage/index.js --help voor beschikbare opdrachten.",
1195
+ "returnToMainMenu": "Druk op Enter om terug te keren naar het hoofdmenu.",
1196
+ "pressEnterToContinue": "Druk op Enter om door te gaan...",
1197
+ "selectOptionPrompt": "Selecteer een optie:",
1198
+ "selectDebugToolPrompt": "Selecteer een foutopsporingstool:",
1199
+ "selectLogPrompt": "Selecteer een logbestand (1-{count}):",
1200
+ "autoDetectedI18nDirectory": "Automatisch gedetecteerde i18n-map: {directory}",
1201
+ "executingCommand": "Commando uitvoeren: {command}",
1202
+ "unknownCommand": "Onbekend commando: {command}",
1203
+ "languageOption": "{index}. {displayName}{current}",
1204
+ "debugTools": {
1205
+ "1": "Analyse van logbestanden",
1206
+ "2": "Analyse van het gebruik van vertaalsleutels",
1207
+ "3": "Analyse van de volledigheid van de vertaling",
1208
+ "4": "Analyse van vertaalformaten",
1209
+ "5": "Analyse van het vertaaltype",
1210
+ "6": "Analyse van de vertaalstructuur"
1211
+ },
1212
+ "native_translations": {
1213
+ "exact_translation_found": "✅ {keyPath}: {value}",
1214
+ "no_exact_translation": "⚠️ Geen exacte vertaling voor '{keyPath}', soortgelijke sleutels gevonden:",
1215
+ "similar_key": "- {key} ({similarity}% overeenkomst)",
1216
+ "processing_language_files": "🔄 Verwerking {count} taalbestanden...",
1217
+ "file_not_found": "⚠️ Bestand niet gevonden: {file}",
1218
+ "processing_translations": "🌍 Verwerking {code} vertalingen...",
1219
+ "backup_created": "📋 Back-up gemaakt: {filename}",
1220
+ "error_parsing_json": "❌ Fout bij het parseren {code}.json: {errorMessage}",
1221
+ "existing_keys_found": "📊 {code}: Gevonden {count} bestaande sleutels",
1222
+ "error_writing_json": "❌ Fout bij schrijven {code}.json: {errorMessage}",
1223
+ "translations_replaced": "📊 {code}: {count} vertalingen vervangen",
1224
+ "translation_replacement_complete": "✅ Vervanging van de vertaling voltooid!",
1225
+ "total_replacements": "📊 Totaal aantal vervangingen: {count}",
1226
+ "dry_run_mode": "⚠️ DRY RUN-MODUS - Er zijn geen bestanden gewijzigd",
1227
+ "tool_title": "🌍 Native vertalingsvervanger v1.9.1",
1228
+ "tool_separator": "======================================",
1229
+ "dry_run_warning": "⚠️ Uitgevoerd in DRY RUN-modus - er worden geen bestanden gewijzigd",
1230
+ "error_during_replacement": "❌ Fout tijdens het vervangen van de vertaling:"
1231
+ }
1232
+ },
1233
+ "config": {
1234
+ "dirFallbackWarning": "⚠️ Telefoonboek {dir} niet gevonden. Gebruiken {fallback}.",
1235
+ "dirInvalidError": "❌ Ongeldige map: {dir}"
1236
+ },
1237
+ "operations": {
1238
+ "completed": "✅ Operatie succesvol afgerond!",
1239
+ "deleteReportsTitle": "🗑️ Rapporten, logboeken en cache verwijderen",
1240
+ "scanningForFiles": "🔍 Scannen naar bestanden die u wilt verwijderen...",
1241
+ "noFilesFoundToDelete": "✅ Geen bestanden gevonden om te verwijderen.",
1242
+ "availableDirectories": "📁 Beschikbare mappen:",
1243
+ "allDirectories": "Alle mappen",
1244
+ "andMore": "en meer...",
1245
+ "cancelOption": "Annuleren",
1246
+ "cancelReportOption": "Annuleren / Terug naar menu",
1247
+ "invalidSelection": "❌ Ongeldige selectie.",
1248
+ "foundFilesInSelectedDirectories": "📊 Gevonden {count} bestanden in geselecteerde mappen:",
1249
+ "deletionOptions": "🗑️ Verwijderingsopties:",
1250
+ "deleteAllFiles": "Verwijder alle bestanden",
1251
+ "keepLast3Files": "Bewaar de laatste 3 bestanden (op datum)",
1252
+ "keepLast5Files": "Laatste 5 bestanden bewaren (op datum)",
1253
+ "noFilesToDelete": "✅ Geen bestanden om te verwijderen.",
1254
+ "filesToDeleteCount": "📋 Bestanden om te verwijderen: {count}",
1255
+ "filesToKeepCount": "📋 Bestanden om te bewaren: {count}",
1256
+ "confirmDeletion": "⚠️ Weet u zeker dat u deze bestanden wilt verwijderen? (j/N):",
1257
+ "deletedFile": "✅ Verwijderd: {filename}",
1258
+ "failedToDeleteFile": "❌ Kan niet verwijderen {filename}: {error}",
1259
+ "cancelled": "❌ Bewerking geannuleerd.",
1260
+ "init": {
1261
+ "title": "🚀 Initialiseer nieuwe taal"
1262
+ },
1263
+ "usage": {
1264
+ "title": "📊 Controleer het sleutelgebruik",
1265
+ "noUsedKeysHint": "Er zijn vertalingen gevonden, maar geen gebruik in de bron. Controleer --source-dir en translationPatterns."
1266
+ },
1267
+ "analyze": {
1268
+ "title": "🔍 Analyseer vertalingen"
1269
+ },
1270
+ "validate": {
1271
+ "title": "✅ Valideer vertalingen"
1272
+ },
1273
+ "settings": {
1274
+ "title": "⚙️ Instellingenbeheer",
1275
+ "separator": "============================================================"
1276
+ },
1277
+ "complete": {
1278
+ "deletingOldReport": "🗑️ Oud gebruiksrapport verwijderen voor nieuwe analyse",
1279
+ "generatingFreshAnalysis": "🔄 Nieuwe gebruiksanalyse genereren...",
1280
+ "couldNotGenerate": "⚠️ Kan gebruiksanalyse niet genereren. Veelvoorkomende ontbrekende sleutels gebruiken.",
1281
+ "reportNotFound": "⚠️ Gebruiksrapport niet gevonden. Nieuwe analyse genereren...",
1282
+ "foundMissingKeys": "🔍Gevonden {count} ontbrekende sleutels uit gebruiksanalyse",
1283
+ "couldNotParse": "⚠️ Kan het gebruiksrapport niet parseren. Veelvoorkomende ontbrekende sleutels gebruiken.",
1284
+ "title": "🎯 VERTALINGEN VOLTOOIEN",
1285
+ "separator": "============================================================",
1286
+ "sourceDir": "📁 Bronmap: {sourceDir}",
1287
+ "sourceLanguage": "🔤 Brontaal: {sourceLanguage}",
1288
+ "dryRunMode": "🧪 DRY RUN-MODUS - Er worden geen bestanden gewijzigd",
1289
+ "languages": "🎯 Doeltalen: {languages}",
1290
+ "addingMissingKeys": "➕ Ontbrekende sleutels toevoegen aan vertaalbestanden...",
1291
+ "processing": "🔄 Verwerking {language}...",
1292
+ "addedKeys": "✅ Toegevoegd {count} sleutels",
1293
+ "changeDetails": "📝 {file}: {key}",
1294
+ "noChangesNeeded": "✅ Geen wijzigingen nodig voor {language}",
1295
+ "summaryTitle": "📊 VOLTOOID SAMENVATTING",
1296
+ "totalChanges": "📝 Totaal aantal wijzigingen: {totalChanges}",
1297
+ "languagesProcessed": "🌐 Verwerkte talen: {languagesProcessed}",
1298
+ "missingKeysAdded": "➕ Ontbrekende sleutels toegevoegd: {missingKeysAdded}",
1299
+ "nextStepsTitle": "📋 NEXT STEPS",
1300
+ "nextStep1": "1. Gebruiksanalyse uitvoeren:",
1301
+ "nextStep2": "2. Valideer vertalingen:",
1302
+ "nextStep3": "3. Analyseer de volledigheid:",
1303
+ "allKeysAvailable": "🎉 Alle vertaalsleutels zijn nu beschikbaar!",
1304
+ "runWithoutDryRun": "💡 Uitvoeren zonder --drooglopen om wijzigingen toe te passen",
1305
+ "pressEnterToContinue": "Druk op Enter om door te gaan..."
1306
+ },
1307
+ "updatePackage": {
1308
+ "title": "📦 Update i18n-toolkit-pakket",
1309
+ "description": "Hiermee wordt het i18n-toolkit-pakket bijgewerkt naar de nieuwste versie die beschikbaar is op npm.",
1310
+ "command": "Commando om te rennen",
1311
+ "confirm": "Weet u zeker dat u door wilt gaan met de update? (j/N):",
1312
+ "updating": "Pakket wordt bijgewerkt... Dit kan even duren.",
1313
+ "success": "✅ i18n-toolkit succesvol bijgewerkt!",
1314
+ "error": "❌ Kan i18n-toolkit niet updaten",
1315
+ "cancelled": "❌ Update geannuleerd."
1316
+ }
1317
+ },
1318
+ "security": {
1319
+ "pathValidationFailed": "pad_validatie_mislukt",
1320
+ "invalidInputType": "ongeldig_invoertype",
1321
+ "pathTraversalAttempt": "pad_traversal_poging",
1322
+ "pathValidated": "✅ Pad succesvol gevalideerd",
1323
+ "pathValidationError": "pad_validatie_fout",
1324
+ "fileTooLarge": "Beveiliging: Bestand te groot: {filePath}",
1325
+ "fileReadError": "Beveiliging: Leesfout bestand: {errorMessage}",
1326
+ "contentTooLargeForFile": "Beveiliging: inhoud te groot voor bestand: {filePath}",
1327
+ "fileWriteError": "Beveiliging: Bestandsschrijffout: {errorMessage}",
1328
+ "jsonStringTooLarge": "Beveiliging: JSON-tekenreeks te groot",
1329
+ "jsonParseError": "Beveiliging: JSON-parseerfout: {errorMessage}",
1330
+ "inputContainsDisallowedCharacters": "Beveiliging: invoer bevat niet-toegestane tekens",
1331
+ "unknownCommandArgument": "Beveiliging: onbekend opdrachtargument: {key}",
1332
+ "unknown_command_argument": "Beveiliging: onbekend opdrachtargument: {key}",
1333
+ "unknownConfigKey": "Beveiliging: Onbekende configuratiesleutel: {key}",
1334
+ "unknown_config_key": "Beveiliging: Onbekende configuratiesleutel: {key}",
1335
+ "securityAlert": "[BEVEILIGINGSALARM] {timestamp}: {event}",
1336
+ "contentTooLarge": "Beveiliging: inhoud te groot voor bestand: {validatedPath}",
1337
+ "inputDisallowedCharacters": "Beveiliging: invoer bevat niet-toegestane tekens",
1338
+ "unknownCommandArg": "Onbekend opdrachtargument",
1339
+ "logMessage": "[BEVEILIGING {level}] {timestamp}: {event}",
1340
+ "alertMessage": "[BEVEILIGINGSALARM] {timestamp}: {event}",
1341
+ "securityWarning": "[VEILIGHEIDSWAARSCHUWING] {timestamp}: {event}",
1342
+ "json_parse_error": "Beveiliging: JSON-parseerfout: {errorMessage}",
1343
+ "file_too_large": "Bestand te groot",
1344
+ "file_read_error": "Fout bij het lezen van bestanden",
1345
+ "content_too_large_for_file": "Inhoud te groot voor bestand",
1346
+ "file_write_error": "Fout bij het schrijven van bestand",
1347
+ "json_string_too_large": "Json-tekenreeks te groot",
1348
+ "recursion_detected": "Recursie gedetecteerd in {operation}",
1349
+ "operation_timeout": "Time-out van bewerking: {operation}",
1350
+ "operation_error": "Bedieningsfout in {operation}: {error}",
1351
+ "directory_read_error": "Directory-leesfout: {errorMessage}",
1352
+ "security_alert": "Beveiligingswaarschuwing"
1353
+ },
1354
+ "settings-cli": {
1355
+ "settings": {
1356
+ "mainMenu": {
1357
+ "title": "Hoofdmenu:",
1358
+ "uiSettings": "UI-instellingen",
1359
+ "uiSettingsDesc": "Taal-, thema- en interface-opties",
1360
+ "directorySettings": "Directory-instellingen",
1361
+ "directorySettingsDesc": "Bron- en uitvoermappaden",
1362
+ "scriptDirectorySettings": "Scriptdirectory-instellingen",
1363
+ "scriptDirectorySettingsDesc": "Directorypaden voor individuele scriptbewerkingen",
1364
+ "processingSettings": "Verwerkingsinstellingen",
1365
+ "processingSettingsDesc": "Batchgrootte, gelijktijdigheid en prestaties",
1366
+ "advancedSettings": "Geavanceerde instellingen",
1367
+ "advancedSettingsDesc": "Validatie, logging en expertopties",
1368
+ "viewAllSettings": "Bekijk alle instellingen",
1369
+ "viewAllSettingsDesc": "Geef huidige configuratie weer",
1370
+ "importExport": "Importeren/exporteren",
1371
+ "importExportDesc": "Back-up en herstel van instellingen",
1372
+ "resetToDefaults": "Terugzetten naar standaardwaarden",
1373
+ "resetToDefaultsDesc": "Herstel fabrieksinstellingen",
1374
+ "reportBug": "Rapporteer bug",
1375
+ "reportBugDesc": "Dien een probleemrapport in op GitHub",
1376
+ "saveChanges": "Wijzigingen opslaan",
1377
+ "saveChangesDesc": "Sla de huidige instellingen op in een bestand",
1378
+ "updatePackage": "Pakket bijwerken",
1379
+ "updatePackageDesc": "Update het i18n-toolkit-pakket via npm",
1380
+ "help": "Hulp",
1381
+ "helpDesc": "Toon gedetailleerde helpinformatie",
1382
+ "quit": "Ontslag nemen",
1383
+ "quitDesc": "Instellingen afsluiten (indien nodig met opslagprompt)",
1384
+ "unsavedChangesWarning": "⚠️ Je hebt niet-opgeslagen wijzigingen",
1385
+ "saveChangesBeforeQuit": "Wilt u de wijzigingen opslaan voordat u afsluit? (j/N):",
1386
+ "selectOption": "Selecteer een optie:",
1387
+ "goodbyeMessage": "Bedankt voor het gebruik van de i18n-instellingenbeheerder!"
1388
+ },
1389
+ "goodbyeMessage": "Bedankt voor het gebruik van de i18n-instellingenbeheerder!",
1390
+ "relativePathHint": "Gebruik relatieve paden vanuit deze map (bijvoorbeeld ./src/i18n/locales)",
1391
+ "currentDirectory": "Huidige projectdirectory"
1392
+ },
1393
+ "settings_manager": {
1394
+ "error_loading_settings": "❌ Fout bij het laden van instellingen:",
1395
+ "error_saving_settings": "❌ Fout bij opslaan van instellingen:",
1396
+ "error_setting_value": "❌ Foutinstellingswaarde:",
1397
+ "missing_required_setting": "❌ Ontbrekende vereiste instelling: {prop}",
1398
+ "invalid_language": "❌ Ongeldige taal: {language}",
1399
+ "invalid_source_language": "❌ Ongeldige brontaal: {sourceLanguage}",
1400
+ "default_languages_must_be_array": "❌ defaultLanguages ​​moet een array zijn",
1401
+ "invalid_date_format": "❌ Ongeldig datumformaat: {dateFormat}. Geldige formaten: {validFormats}",
1402
+ "invalid_time_format": "❌ Ongeldig tijdformaat: {timeFormat}. Geldige formaten: {validFormats}",
1403
+ "notifications_types_must_be_object": "❌ meldingen.types moeten een object zijn",
1404
+ "exclude_files_must_be_array": "❌ exhaustFiles moet een array zijn",
1405
+ "exclude_dirs_must_be_array": "❌ exhaustDirs moet een array zijn",
1406
+ "include_extensions_must_be_array": "❌ includeExtensions moet een array zijn",
1407
+ "invalid_batch_size": "❌ Ongeldige batchgrootte. Moet een positief getal zijn",
1408
+ "invalid_max_concurrent_files": "❌ Ongeldige maximale hoeveelheid gelijktijdige bestanden. Moet een positief getal zijn",
1409
+ "invalid_sizing_threshold": "❌ Ongeldige maatdrempel. Moet een positief getal zijn",
1410
+ "invalid_timeout": "❌ Ongeldige time-out. Moet minimaal 1000 ms zijn",
1411
+ "invalid_sizing_format": "❌ Ongeldig formaatformaat: {sizingFormat}. Geldige formaten: {validFormats}",
1412
+ "error_validating_settings": "❌ Fout bij het valideren van instellingen:",
1413
+ "backup_created": "📋 Back-up gemaakt: {backupPath}",
1414
+ "error_creating_backup": "❌ Fout bij het maken van een back-up:",
1415
+ "language_not_supported": "Taal '{language}' wordt niet ondersteund. Beschikbaar: {availableLanguages}",
1416
+ "ui_language_set": "🌍 UI-taal ingesteld op: {language}"
1417
+ }
1418
+ },
1419
+ "settings": {
1420
+ "title": "⚙️ Instellingenbeheer",
1421
+ "separator": "============================================================",
1422
+ "goodbyeMessage": "Bedankt voor het gebruik van de i18ntk-instellingenbeheerder!",
1423
+ "relativePathHint": "Gebruik relatieve paden vanuit deze map (bijvoorbeeld ./src/i18n/locales)",
1424
+ "currentDirectory": "Huidige projectdirectory",
1425
+ "startingSettings": "Startinstellingen:",
1426
+ "pin": "PIN:",
1427
+ "reportBug": {
1428
+ "title": "Rapporteer bug",
1429
+ "description": "Rapporteer eventuele problemen of bugs die u tegenkomt",
1430
+ "guidance": "Om problemen effectief te melden:",
1431
+ "checkLogs": "1. Controleer de foutopsporingslogboeken in uw projectmap",
1432
+ "documentIssue": "2. Documenteer het probleem met stappen om het te reproduceren",
1433
+ "contactSupport": "3. Neem contact op met uw systeembeheerder of ondersteuningsteam",
1434
+ "completed": "Begeleiding voor bugrapportage weergegeven",
1435
+ "instructions": "Volg de bovenstaande instructies om de bug te melden."
1436
+ },
1437
+ "mainMenu": {
1438
+ "title": "Hoofdmenu:",
1439
+ "uiSettings": "UI-instellingen",
1440
+ "uiSettingsDesc": "Taal-, thema- en interface-opties",
1441
+ "directorySettings": "Directory-instellingen",
1442
+ "directorySettingsDesc": "Bron- en uitvoermappaden",
1443
+ "processingSettings": "Verwerkingsinstellingen",
1444
+ "processingSettingsDesc": "Batchgrootte, gelijktijdigheid en prestaties",
1445
+ "advancedSettings": "Geavanceerde instellingen",
1446
+ "advancedSettingsDesc": "Validatie, logboekregistratie en expertopties",
1447
+ "viewAllSettings": "Bekijk alle instellingen",
1448
+ "viewAllSettingsDesc": "Geef huidige configuratie weer",
1449
+ "importExport": "Importeren/exporteren",
1450
+ "updatePackage": "Pakket bijwerken",
1451
+ "updatePackageDesc": "Update het i18n-toolkit-pakket via npm",
1452
+ "importExportDesc": "Back-up en herstel van instellingen",
1453
+ "resetToDefaults": "Terugzetten naar standaardwaarden",
1454
+ "resetToDefaultsDesc": "Herstel fabrieksinstellingen",
1455
+ "reportBug": "Rapporteer bug",
1456
+ "reportBugDesc": "Dien een probleemrapport in op GitHub",
1457
+ "saveChanges": "Wijzigingen opslaan",
1458
+ "saveChangesDesc": "Sla de huidige instellingen op in een bestand",
1459
+ "help": "Hulp",
1460
+ "helpDesc": "Toon gedetailleerde helpinformatie",
1461
+ "quit": "Ontslag nemen",
1462
+ "quitDesc": "Instellingen afsluiten (indien nodig met opslagprompt)",
1463
+ "unsavedChangesWarning": "⚠️ Je hebt niet-opgeslagen wijzigingen",
1464
+ "saveChangesBeforeQuit": "Wilt u de wijzigingen opslaan voordat u afsluit? (j/N):",
1465
+ "selectOption": "Selecteer een optie:",
1466
+ "goodbyeMessage": "Bedankt voor het gebruik van de i18n-instellingenbeheerder!",
1467
+ "selectSettingPrompt": "Selecteer een instelling om te bewerken (of 'b' om terug te gaan):",
1468
+ "enterNewValue": "Voer een nieuwe waarde in:",
1469
+ "updatedSuccessfully": "{setting} succesvol bijgewerkt!",
1470
+ "scriptDirectorySettings": "Scriptdirectory-instellingen",
1471
+ "scriptDirectoryDesc": "Geef aangepaste mappen op voor elk script",
1472
+ "scriptDirectorySettingsDesc": "U kunt voor elk script aangepaste mappen instellen. Als dit niet is ingesteld, worden de algemene instellingen gebruikt.",
1473
+ "currentDirectory": "Huidige projectdirectory",
1474
+ "securitySettings": "Beveiligingsinstellingen",
1475
+ "securitySettingsDesc": "Beheerderspincode en andere beveiligingsopties",
1476
+ "backupSettings": "Back-upinstellingen",
1477
+ "backupSettingsDesc": "Back-up en herstel van configuratie-instellingen",
1478
+ "autoTranslate": "Automatisch vertalen",
1479
+ "autoTranslateDesc": "Stem de verwerking van tijdelijke aanduidingen, gelijktijdigheid, batchverwerking en rapporten af"
1480
+ },
1481
+ "updatePackage": {
1482
+ "title": "Pakket bijwerken",
1483
+ "description": "Update het i18n-toolkit-pakket via npm",
1484
+ "command": "npm-update i18ntk -g",
1485
+ "success": "Update succesvol voltooid.",
1486
+ "failed": "Update mislukt.",
1487
+ "prompt": "Wilt u het pakket nu bijwerken? (j/N):",
1488
+ "promptDesc": "Opmerking: hierdoor wordt het i18ntk-pakket bijgewerkt naar de nieuwste versie.",
1489
+ "confirm": "j",
1490
+ "cancelled": "Update geannuleerd.",
1491
+ "error": "Kan het pakket niet updaten",
1492
+ "updating": "Pakket bijwerken..."
1493
+ },
1494
+ "admin": {
1495
+ "selectOption": "Selecteer optie:",
1496
+ "updateSuccess": "Beheerderspincode is succesvol bijgewerkt!",
1497
+ "updateFailed": "Kan de beheerderspincode niet updaten.",
1498
+ "protectionRemoved": "Beveiliging met beheerderspincode verwijderd.",
1499
+ "configSuccess": "Beheerderspincode succesvol geconfigureerd!",
1500
+ "configFailed": "Kan de beheerderspincode niet configureren.",
1501
+ "setupPinPrompt": "Wilt u een beheerderspincode instellen? (j/N):",
1502
+ "pinUpdatedSuccess": "Beheerderspincode is succesvol bijgewerkt!",
1503
+ "pinUpdatedFailed": "Kan de beheerderspincode niet updaten.",
1504
+ "pinRemoved": "Beveiliging met beheerderspincode verwijderd.",
1505
+ "pinConfiguredSuccess": "Beheerderspincode succesvol geconfigureerd!",
1506
+ "pinConfiguredFailed": "Kan de beheerderspincode niet configureren.",
1507
+ "accessDenied": "❌ Toegang geweigerd. Terugkeren naar menu.",
1508
+ "setupPin": "🔐 Beheerderspincode instellen...",
1509
+ "setupFailed": "❌ Kan de beheerderspincode niet instellen. Instelling niet gewijzigd.",
1510
+ "pinConfigured": "📌 De beheerderspincode is momenteel geconfigureerd.",
1511
+ "options": "Opties:",
1512
+ "changePin": "1) Wijzig de bestaande pincode",
1513
+ "removePin": "2) Verwijder de pincodebeveiliging",
1514
+ "cancel": "3) Annuleren",
1515
+ "verifyCurrentPin": "🔐 Controleer eerst de huidige pincode:",
1516
+ "settingNewPin": "🔄 Nieuwe pincode instellen...",
1517
+ "verifyToRemove": "🔐 Controleer de huidige pincode om de beveiliging te verwijderen:",
1518
+ "noPinConfigured": "🔓 Er is momenteel geen beheerderspincode geconfigureerd.",
1519
+ "pinBenefits": "Het instellen van de beheerderspincode voegt beveiliging toe voor:",
1520
+ "benefitSecurity": "• Beveiligingsinstellingen wijzigen",
1521
+ "benefitAdvanced": "• Geavanceerde configuraties wijzigen",
1522
+ "benefitDebug": "• Toegang tot debug-tools",
1523
+ "benefitReset": "• Instellingen resetten",
1524
+ "setupCancelled": "⏭️ Instelling beheerderspincode geannuleerd.",
1525
+ "operationCancelled": "❌ Bewerking geannuleerd.",
1526
+ "startingSettings": "🎛️ Instellingen CLI starten...",
1527
+ "authRequired": "🔒 Beheerderverificatie vereist voor: {label}",
1528
+ "pinSetupTitle": "Beheerderspincode instellen",
1529
+ "browserOpenFailed": "Kan de browser niet automatisch openen.",
1530
+ "manualVisit": "Ga handmatig naar: {url}",
1531
+ "browserOpened": "✅ Browser succesvol geopend!"
1532
+ },
1533
+ "importExport": {
1534
+ "title": "Instellingen importeren/exporteren",
1535
+ "export": "Instellingen exporteren",
1536
+ "import": "Instellingen importeren",
1537
+ "backup": "Maak een back-up",
1538
+ "enterFilename": "Voer de bestandsnaam in (of druk op Enter voor standaard):",
1539
+ "exportSuccess": "Instellingen geëxporteerd naar {file}",
1540
+ "exportFailed": "Kan instellingen niet exporteren: {error}",
1541
+ "importFilename": "Voer de bestandsnaam in om te importeren:",
1542
+ "fileNotFound": "Bestand niet gevonden.",
1543
+ "invalidFormat": "Ongeldig instellingenbestandsformaat.",
1544
+ "confirmImport": "Hiermee worden alle huidige instellingen vervangen. Doorgaan? (j/N):",
1545
+ "importSuccess": "Instellingen geïmporteerd.",
1546
+ "importFailed": "Kan instellingen niet importeren: {error}",
1547
+ "backupSuccess": "Back-up gemaakt: {file}",
1548
+ "backupFailed": "Kan geen back-up maken: {error}",
1549
+ "exportFilenamePrompt": "Voer de exportbestandsnaam in:",
1550
+ "importConfirm": "Dit instellingenbestand importeren? (j/N):",
1551
+ "importFilenamePrompt": "Voer de importbestandsnaam in:",
1552
+ "manageBackups": "Beheer back-ups",
1553
+ "restore": "Instellingen herstellen"
1554
+ },
1555
+ "selectOption": "Selecteer een optie:",
1556
+ "resetToDefaultsTitle": "Instellingen terugzetten naar standaardwaarden",
1557
+ "resetWarning1": "⚠️ Hiermee worden ALLE instellingen teruggezet naar hun standaardwaarden.",
1558
+ "resetWarning2": "Deze actie kan niet ongedaan worden gemaakt.",
1559
+ "resetConfirm": "Weet u zeker dat u wilt doorgaan? (j/N):",
1560
+ "resetSuccess": "Instellingen zijn succesvol teruggezet naar de standaardwaarden.",
1561
+ "resetFailed": "Kan instellingen niet resetten: {error}",
1562
+ "resetDone": "Instellingen zijn succesvol teruggezet naar de standaardwaarden.",
1563
+ "resetScriptDirsDone": "Scriptmappen zijn succesvol teruggezet naar de systeemstandaarden.",
1564
+ "saveSuccess": "Instellingen succesvol opgeslagen.",
1565
+ "saveFailed": "Kan instellingen niet opslaan.",
1566
+ "saveError": "Ongeldige instellingen opgegeven",
1567
+ "pressEnter": "Druk op Enter om door te gaan...",
1568
+ "initFailed": "Kan instellingen niet initialiseren: {error}",
1569
+ "invalidValueFormat": "Ongeldig waardeformaat.",
1570
+ "help": {
1571
+ "title": "Hulp bij instellingen",
1572
+ "navigationTitle": "Navigatie",
1573
+ "navigation1": "1. Algemene instellingen - Configureer de taal, het thema en de basisvoorkeuren van de gebruikersinterface",
1574
+ "navigation2": "2. Directory-instellingen - Stel bron- en uitvoermappen in voor vertaalbestanden",
1575
+ "navigation3": "3. Verwerkingsinstellingen - Configureer opties voor batchgrootte, gelijktijdigheid en prestaties",
1576
+ "navigation4": "4. Geavanceerde instellingen - Toegangsvalidatie, logboekregistratie en configuratieopties voor experts",
1577
+ "categoriesTitle": "Instellingen Categorieën",
1578
+ "categoryUI": "• UI-instellingen: interfacetaal, kleurthema en weergavevoorkeuren",
1579
+ "categoryDirectory": "• Directory-instellingen: locatie van bronbestanden en mappen voor uitvoerrapporten",
1580
+ "categoryProcessing": "• Verwerkingsinstellingen: batchverwerking, bestandslimieten en prestatie-afstemming",
1581
+ "categoryAdvanced": "• Geavanceerde instellingen: foutopsporingsmodus, auditregistratie en beveiligingsopties",
1582
+ "envVarsTitle": "Omgevingsvariabelen",
1583
+ "envVar1": "• I18N_SOURCE_DIR: overschrijf het standaardbronmappad",
1584
+ "envVar2": "• I18N_OUTPUT_DIR: overschrijf het standaardpad voor de uitvoermap",
1585
+ "envVar3": "• I18N_DEBUG: Debug-modus inschakelen (waar/onwaar)",
1586
+ "cliUsageTitle": "CLI-gebruiksvoorbeelden",
1587
+ "cliUsage1": "• npx i18ntk --settings: Open het interactieve instellingenmenu",
1588
+ "cliUsage2": "• npx i18ntk --settings --lang de: Open de instellingen in het Duits",
1589
+ "cliUsage3": "• npx i18ntk --reset-settings: alle instellingen terugzetten naar de standaardwaarden",
1590
+ "navigation": "Gebruik de cijfertoetsen om opties te selecteren, 'b' om terug te gaan",
1591
+ "editing": "Voer nieuwe waarden in wanneer daarom wordt gevraagd, of druk op Enter om actueel te blijven",
1592
+ "saving": "Gebruik 's' om de wijzigingen op te slaan voordat u afsluit",
1593
+ "reset": "Gebruik optie 7 om alle instellingen terug te zetten naar de standaardwaarden"
1594
+ },
1595
+ "categories": {
1596
+ "uiSettings": "UI-instellingen",
1597
+ "directorySettings": "Directory-instellingen",
1598
+ "processingSettings": "Verwerkingsinstellingen",
1599
+ "advancedSettings": "Geavanceerde instellingen",
1600
+ "scriptDirectorySettings": "Scriptdirectory-instellingen",
1601
+ "securitySettings": "Beveiligingsinstellingen",
1602
+ "autoTranslate": "Instellingen voor automatisch vertalen"
1603
+ },
1604
+ "security": {
1605
+ "title": "🔐 Beveiligingsinstellingen",
1606
+ "description": "Configureer beheerderspincodebeveiliging en beveiligingsopties",
1607
+ "currentPin": "Huidige pincode:",
1608
+ "pinConfigured": "✅ Geconfigureerd",
1609
+ "pinNotConfigured": "❌ Niet geconfigureerd",
1610
+ "pinDisplay": "PIN-weergave:",
1611
+ "menu": {
1612
+ "enableDisable": "1) Beheerderspincode in-/uitschakelen",
1613
+ "setupChange": "2) Beheerderspincode instellen/wijzigen",
1614
+ "sessionTimeout": "3) Sessietime-out",
1615
+ "maxAttempts": "4) Max. mislukte pogingen",
1616
+ "lockoutDuration": "5) Uitsluitingsduur",
1617
+ "back": "b) Terug naar het hoofdmenu"
1618
+ },
1619
+ "prompts": {
1620
+ "enablePin": "Beveiliging met beheerderspincode inschakelen? (j/N):",
1621
+ "disablePin": "Beveiliging met beheerderspincode uitschakelen? (j/N):",
1622
+ "enterTimeout": "Sessietime-out invoeren (minuten):",
1623
+ "enterMaxAttempts": "Voer het maximale aantal mislukte pogingen in:",
1624
+ "enterLockoutDuration": "Voer de uitsluitingsduur in (minuten):"
1625
+ },
1626
+ "messages": {
1627
+ "pinEnabled": "Beveiliging met beheerderspincode ingeschakeld",
1628
+ "pinDisabled": "Beveiliging met beheerderspincode uitgeschakeld",
1629
+ "timeoutUpdated": "Sessietime-out bijgewerkt naar {minutes} notulen",
1630
+ "maxAttemptsUpdated": "Max. mislukte pogingen bijgewerkt naar {attempts}",
1631
+ "lockoutDurationUpdated": "Duur van vergrendeling bijgewerkt naar {minutes} notulen"
1632
+ }
1633
+ },
1634
+ "fields": {
1635
+ "backup.enabled": {
1636
+ "label": "Enable Backup",
1637
+ "description": "Enable automatic backup of settings",
1638
+ "help": "Enable/disable backup feature"
1639
+ },
1640
+ "backup.singleFileMode": {
1641
+ "label": "Single File Mode",
1642
+ "description": "Use single file for backups",
1643
+ "help": "Backup settings in a single file"
1644
+ },
1645
+ "backup.singleBackupFile": {
1646
+ "label": "Backup File Path",
1647
+ "description": "Path to the backup file",
1648
+ "help": "Path to the single backup file"
1649
+ },
1650
+ "backup.retentionDays": {
1651
+ "label": "Retention Period",
1652
+ "description": "Days to keep backup files",
1653
+ "help": "Number of days to retain old backup files"
1654
+ },
1655
+ "backup.maxBackups": {
1656
+ "label": "Maximum Backups",
1657
+ "description": "Maximum backup files to keep",
1658
+ "help": "Maximum number of backup files to keep"
1659
+ },
1660
+ "backup.confirm": {
1661
+ "label": "Confirm Backup",
1662
+ "description": "Require confirmation for backup operations",
1663
+ "help": "Confirm backup operation"
1664
+ },
1665
+ "i18nDir": {
1666
+ "label": "I18n-telefoonboek",
1667
+ "description": "Directory met vertaalbestanden",
1668
+ "current": "Huidig: {value}",
1669
+ "help": "Pad naar map met vertaalbestanden"
1670
+ },
1671
+ "projectRoot": {
1672
+ "label": "Projectwortel",
1673
+ "description": "Hoofdmap van het project",
1674
+ "current": "Huidig: {value}",
1675
+ "help": "Pad naar de hoofdmap van het project"
1676
+ },
1677
+ "checkUsage": {
1678
+ "usage_analysis_failed": "Gebruiksanalyse is mislukt",
1679
+ "usage_analysis_success": "Gebruiksanalyse succesvol",
1680
+ "usage_analysis_complete": "Gebruiksanalyse voltooid",
1681
+ "usage_analysis_in_progress": "Gebruiksanalyse wordt uitgevoerd",
1682
+ "usage_analysis_started": "Gebruiksanalyse gestart",
1683
+ "usage_analysis_skipped": "Gebruiksanalyse overgeslagen"
1684
+ },
1685
+ "language": {
1686
+ "label": "Interfacetaal",
1687
+ "description": "Taal voor de gebruikersinterface",
1688
+ "current": "Huidig: {value}",
1689
+ "help": "Selecteer de interfacetaal van uw voorkeur"
1690
+ },
1691
+ "scriptDirectories": {
1692
+ "analyzeLabel": "Analyseer scriptmappen",
1693
+ "analyzeHelp": "Analyseer scriptmappen op problemen",
1694
+ "completeLabel": "Volledige installatiemappen",
1695
+ "initLabel": "Initialiseer scriptmappen",
1696
+ "manageLabel": "Beheer scriptmappen",
1697
+ "sizingLabel": "Grootte van scriptmappen",
1698
+ "summaryLabel": "Samenvattende rapportmappen",
1699
+ "usageLabel": "Mappen voor gebruiksrapporten",
1700
+ "validateLabel": "Valideer scriptmappen"
1701
+ },
1702
+ "theme": {
1703
+ "label": "Kleur thema",
1704
+ "description": "Voorkeur voor UI-thema",
1705
+ "current": "Huidig: {value}",
1706
+ "help": "Kies tussen lichte en donkere thema's"
1707
+ },
1708
+ "dateFormat": {
1709
+ "label": "Datumnotatie",
1710
+ "description": "Formaat voor het weergeven van datums",
1711
+ "current": "Huidig: {value}",
1712
+ "help": "Kies hoe datums worden weergegeven in rapporten"
1713
+ },
1714
+ "notifications": {
1715
+ "enabled": {
1716
+ "label": "Meldingen inschakelen",
1717
+ "description": "Toon bureaubladmeldingen",
1718
+ "current": "Huidig: {value}",
1719
+ "help": "Schakel bureaubladmeldingen in voor voltooide bewerkingen"
1720
+ }
1721
+ },
1722
+ "sourceDir": {
1723
+ "label": "Bronmap",
1724
+ "description": "Directory met vertaalbestanden",
1725
+ "current": "Huidig: {value}",
1726
+ "help": "Pad naar map met bronvertaalbestanden"
1727
+ },
1728
+ "sourceLanguage": {
1729
+ "label": "Brontaal",
1730
+ "description": "Primaire taal voor vertalingen",
1731
+ "current": "Huidig: {value}",
1732
+ "help": "De primaire taal die wordt gebruikt als bron voor vertalingen"
1733
+ },
1734
+ "outputDir": {
1735
+ "label": "Uitvoermap",
1736
+ "description": "Directory voor gegenereerde rapporten",
1737
+ "current": "Huidig: {value}",
1738
+ "help": "Waar rapporten en verwerkte bestanden worden opgeslagen"
1739
+ },
1740
+ "batchSize": {
1741
+ "label": "Batchgrootte",
1742
+ "description": "Aantal verwerkte artikelen per batch",
1743
+ "current": "Huidig: {value}",
1744
+ "help": "Hoeveel bestanden er in elke batch moeten worden verwerkt"
1745
+ },
1746
+ "maxConcurrentFiles": {
1747
+ "label": "Maximaal aantal gelijktijdige bestanden",
1748
+ "description": "Maximaal aantal bestanden dat tegelijkertijd wordt verwerkt",
1749
+ "current": "Huidig: {value}",
1750
+ "help": "Maximaal aantal bestanden dat tegelijkertijd kan worden verwerkt"
1751
+ },
1752
+ "sizingThreshold": {
1753
+ "label": "Groottedrempel (%)",
1754
+ "description": "Drempel voor waarschuwingen voor maatvariaties",
1755
+ "current": "Huidig: {value}%",
1756
+ "help": "Percentagedrempel voor het detecteren van niet-overeenkomende maten"
1757
+ },
1758
+ "strictMode": {
1759
+ "label": "Strikte validatiemodus",
1760
+ "description": "Schakel de strikte validatiemodus in",
1761
+ "current": "Huidig: {value}",
1762
+ "help": "Schakel strikte validatie in voor vertaalbestanden"
1763
+ },
1764
+ "enableAuditLog": {
1765
+ "label": "Schakel auditlogboek in",
1766
+ "description": "Volg alle vertalingswijzigingen",
1767
+ "current": "Huidig: {value}",
1768
+ "help": "Registreer alle wijzigingen die in vertaalbestanden zijn aangebracht"
1769
+ },
1770
+ "backupBeforeChanges": {
1771
+ "label": "Automatische back-up",
1772
+ "description": "Maak back-ups vóór wijzigingen",
1773
+ "current": "Huidig: {value}",
1774
+ "help": "Maak automatisch back-ups voordat u wijzigingen aanbrengt"
1775
+ },
1776
+ "advanced_maxConcurrentFiles": {
1777
+ "label": "Maximaal aantal gelijktijdige bestanden",
1778
+ "description": "Maximaal aantal bestanden dat tegelijkertijd wordt verwerkt",
1779
+ "current": "Huidig: {value}",
1780
+ "help": "Maximaal aantal bestanden dat tegelijkertijd kan worden verwerkt"
1781
+ },
1782
+ "advanced_strictMode": {
1783
+ "label": "Strikte validatiemodus",
1784
+ "description": "Schakel de strikte validatiemodus in",
1785
+ "current": "Huidig: {value}",
1786
+ "help": "Schakel strikte validatie in voor vertaalbestanden"
1787
+ },
1788
+ "adminPinEnabled": {
1789
+ "label": "Beveiliging met beheerderspincode",
1790
+ "description": "Schakel beheerderspincodeverificatie in voor gevoelige instellingen",
1791
+ "current": "Huidig: {value}",
1792
+ "help": "Beheerderspincode vereisen voor het wijzigen van beveiligings- en geavanceerde instellingen"
1793
+ },
1794
+ "sessionTimeout": {
1795
+ "label": "Sessietime-out",
1796
+ "description": "Time-out van beheerderssessie in minuten",
1797
+ "current": "Huidig: {value} notulen",
1798
+ "help": "Hoe lang beheerderssessies actief blijven voordat herauthenticatie vereist is"
1799
+ },
1800
+ "maxFailedAttempts": {
1801
+ "label": "Max mislukte pogingen",
1802
+ "description": "Maximaal aantal mislukte pinpogingen vóór uitsluiting",
1803
+ "current": "Huidig: {value} pogingen",
1804
+ "help": "Aantal mislukte pinpogingen toegestaan ​​vóór tijdelijke uitsluiting"
1805
+ },
1806
+ "lockoutDuration": {
1807
+ "label": "Uitsluitingsduur",
1808
+ "description": "Duur van de uitsluiting na mislukte pogingen",
1809
+ "current": "Huidig: {value} notulen",
1810
+ "help": "Hoe lang het systeem vergrendeld blijft na maximaal mislukte pogingen"
1811
+ },
1812
+ "scriptDirectories_analyze": {
1813
+ "label": "Analyseer scriptmappen",
1814
+ "description": "Aangepaste mappen voor analysescript",
1815
+ "current": "Huidig: {value}",
1816
+ "help": "Geef een aangepaste bronmap op voor het analysescript. Laat leeg om de globale instelling te gebruiken."
1817
+ },
1818
+ "scriptDirectories_complete": {
1819
+ "label": "Volledige installatiemappen",
1820
+ "description": "Aangepaste mappen voor een compleet installatiescript",
1821
+ "current": "Huidig: {value}",
1822
+ "help": "Geef een aangepaste bronmap op voor het volledige installatiescript. Laat leeg om de globale instelling te gebruiken."
1823
+ },
1824
+ "scriptDirectories_init": {
1825
+ "label": "Initialiseer scriptmappen",
1826
+ "description": "Aangepaste mappen voor initialisatiescript",
1827
+ "current": "Huidig: {value}",
1828
+ "help": "Geef een aangepaste bronmap op voor het initialisatiescript. Laat leeg om de globale instelling te gebruiken."
1829
+ },
1830
+ "scriptDirectories_manage": {
1831
+ "label": "Beheer scriptmappen",
1832
+ "description": "Aangepaste mappen voor beheerscript",
1833
+ "current": "Huidig: {value}",
1834
+ "help": "Geef een aangepaste bronmap op voor het beheerscript. Laat leeg om de globale instelling te gebruiken."
1835
+ },
1836
+ "scriptDirectories_sizing": {
1837
+ "label": "Grootte van scriptmappen",
1838
+ "description": "Aangepaste mappen voor het formaatscript",
1839
+ "current": "Huidig: {value}",
1840
+ "help": "Geef een aangepaste bronmap op voor het formaatscript. Laat leeg om de globale instelling te gebruiken."
1841
+ },
1842
+ "scriptDirectories_summary": {
1843
+ "label": "Samenvattende rapportmappen",
1844
+ "description": "Aangepaste mappen voor samenvattingsrapportscript",
1845
+ "current": "Huidig: {value}",
1846
+ "help": "Geef een aangepaste bronmap op voor het samenvattingsrapportscript. Laat leeg om de globale instelling te gebruiken."
1847
+ },
1848
+ "scriptDirectories_usage": {
1849
+ "label": "Mappen voor gebruiksrapporten",
1850
+ "description": "Aangepaste mappen voor gebruiksrapportscript",
1851
+ "current": "Huidig: {value}",
1852
+ "help": "Geef een aangepaste bronmap op voor het gebruiksrapportscript. Laat leeg om de globale instelling te gebruiken."
1853
+ },
1854
+ "scriptDirectories_validate": {
1855
+ "label": "Valideer scriptmappen",
1856
+ "description": "Aangepaste mappen voor het valideren van script",
1857
+ "current": "Huidig: {value}",
1858
+ "help": "Geef een aangepaste bronmap op voor het valideerscript. Laat leeg om de globale instelling te gebruiken."
1859
+ },
1860
+ "security_adminPinEnabled": {
1861
+ "label": "Beveiliging met beheerderspincode",
1862
+ "description": "Schakel beheerderspincodeverificatie in voor gevoelige instellingen",
1863
+ "current": "Huidig: {value}",
1864
+ "help": "Beheerderspincode vereisen voor het wijzigen van beveiligings- en geavanceerde instellingen"
1865
+ },
1866
+ "fields": {
1867
+ "adminPinEnabled": {
1868
+ "label": "Beveiliging met beheerderspincode",
1869
+ "description": "Schakel beheerderspincodeverificatie in voor gevoelige instellingen",
1870
+ "help": "Beheerderspincode vereisen voor het wijzigen van beveiligings- en geavanceerde instellingen"
1871
+ }
1872
+ },
1873
+ "security_pinProtection_enabled": {
1874
+ "label": "PIN-beveiliging",
1875
+ "description": "Schakel PIN-beveiliging in voor gevoelige instellingen",
1876
+ "current": "Huidig: {value}",
1877
+ "help": "Pincode vereisen voor het wijzigen van beveiligings- en geavanceerde instellingen"
1878
+ },
1879
+ "pinProtection_configure": {
1880
+ "label": "Configureer met pincode beveiligde scripts",
1881
+ "description": "Configureer welke scripts pincodebeveiliging vereisen",
1882
+ "help": "Selecteer individuele scripts waarvoor pincodeverificatie vereist is"
1883
+ },
1884
+ "pinProtection_debugMenu": {
1885
+ "label": "Menu Foutopsporingstools",
1886
+ "description": "Pincode vereisen voor het menu Debug Tools",
1887
+ "current": "Huidig: {value}",
1888
+ "help": "Schakel pincodebeveiliging in voor toegang tot foutopsporingstools"
1889
+ },
1890
+ "pinProtection_deleteReports": {
1891
+ "label": "Rapporten verwijderen",
1892
+ "description": "Pincode vereisen voor het verwijderen van rapporten",
1893
+ "current": "Huidig: {value}",
1894
+ "help": "Schakel pincodebeveiliging in voor het verwijderen van rapporten"
1895
+ },
1896
+ "pinProtection_summaryReports": {
1897
+ "label": "Samenvattende rapporten",
1898
+ "description": "Pincode vereisen voor samenvattende rapporten",
1899
+ "current": "Huidig: {value}",
1900
+ "help": "Schakel pincodebeveiliging in voor het genereren van samenvattende rapporten"
1901
+ },
1902
+ "pinProtection_settingsMenu": {
1903
+ "label": "Instellingenmenu",
1904
+ "description": "Pincode vereisen voor menu Instellingen",
1905
+ "current": "Huidig: {value}",
1906
+ "help": "Schakel PIN-beveiliging in voor toegang tot instellingen"
1907
+ },
1908
+ "pinProtection_initScript": {
1909
+ "label": "Initialiseer het script",
1910
+ "description": "Pincode vereisen voor initialisatiescript",
1911
+ "current": "Huidig: {value}",
1912
+ "help": "Schakel pincodebeveiliging in voor het uitvoeren van het initialisatiescript"
1913
+ },
1914
+ "pinProtection_resetDefaults": {
1915
+ "label": "Reset PIN-beveiliging",
1916
+ "description": "Reset alle instellingen voor pincodebeveiliging naar de standaardwaarden",
1917
+ "help": "Reset alle individuele script-PIN-beveiligingen naar de standaardwaarden"
1918
+ },
1919
+ "removeUiLanguages": {
1920
+ "label": "Verwijder UI-talen",
1921
+ "description": "Verwijder UI-talen die niet zijn geïnstalleerd",
1922
+ "help": "Verwijder UI-talen die niet op het systeem zijn geïnstalleerd"
1923
+ },
1924
+ "${helperKey}": {
1925
+ "help": "Hulp"
1926
+ },
1927
+ "reports_format": {
1928
+ "label": "Rapportformaat",
1929
+ "help": "Kies markdown voor leesbare rapporten, json voor automatisering of tekst voor gewone logbestanden."
1930
+ },
1931
+ "autoTranslate_placeholderMode": {
1932
+ "label": "Modus voor verwerking van tijdelijke aanduidingen",
1933
+ "help": "Hoe tekenreeksen met tijdelijke aanduidingen worden verwerkt tijdens automatische vertaling."
1934
+ },
1935
+ "autoTranslate_concurrency": {
1936
+ "label": "Gelijktijdige vertaalverzoeken",
1937
+ "help": "Maximaal gelijktijdige providerverzoeken. Google ondersteunt maximaal 100 in i18ntk; DeepL en LibreTranslate hebben een lagere limiet."
1938
+ },
1939
+ "autoTranslate_batchSize": {
1940
+ "label": "Tekstsegmenten per batch",
1941
+ "help": "Aantal tekstsegmenten gepland per batch."
1942
+ },
1943
+ "autoTranslate_progressInterval": {
1944
+ "label": "Voortgangsupdate-interval",
1945
+ "help": "Voltooide tekstsegmenten tussen voortgangsupdates."
1946
+ },
1947
+ "autoTranslate_retryCount": {
1948
+ "label": "Aantal nieuwe pogingen",
1949
+ "help": "Maximaal aantal nieuwe pogingen per mislukt verzoek."
1950
+ },
1951
+ "autoTranslate_retryDelay": {
1952
+ "label": "Vertraging nieuwe poging (ms)",
1953
+ "help": "Vertraging van nieuwe pogingen van de basis in milliseconden."
1954
+ },
1955
+ "autoTranslate_timeout": {
1956
+ "label": "Time-out aanvragen (ms)",
1957
+ "help": "Time-out voor aanvraag van vertaalprovider."
1958
+ },
1959
+ "autoTranslate_dryRunFirst": {
1960
+ "label": "Eerst proefdraaien",
1961
+ "help": "Bekijk een voorbeeld van wat er zal worden vertaald voordat u bestanden schrijft."
1962
+ },
1963
+ "autoTranslate_onlyMissingOrEnglish": {
1964
+ "label": "Alleen ontbrekende of Engelse sleutels",
1965
+ "help": "Behoud bestaande vertaalde doelwaarden en vertaal alleen ontbrekende waarden, markerwaarden, bronkopieën of waarschijnlijke Engelse waarden."
1966
+ },
1967
+ "autoTranslate_reportStdout": {
1968
+ "label": "Rapport afdrukken naar terminal",
1969
+ "help": "Druk het post-vertalingsrapport af naar stdout."
1970
+ },
1971
+ "autoTranslate_bom": {
1972
+ "label": "Schrijf UTF-8 BOM",
1973
+ "help": "Schrijf vertaalde JSON-bestanden met een UTF-8 BOM."
1974
+ },
1975
+ "autoTranslate_protectionEnabled": {
1976
+ "label": "Bescherm merktermen, sleutels en waarden",
1977
+ "help": "Schakel door de gebruiker bewerkbare, beveiligde termen, sleutels, waarden en patronen in."
1978
+ },
1979
+ "autoTranslate_protectionFile": {
1980
+ "label": "Bescherming JSON-bestand",
1981
+ "help": "Project-JSON-bestand met beveiligingsregels voor automatisch vertalen."
1982
+ },
1983
+ "autoTranslate_promptProtectionSetup": {
1984
+ "label": "Vraag om een ​​beveiligingsbestand te maken",
1985
+ "help": "Vraag om het beveiligingsbestand te maken wanneer Auto Translate voor het eerst wordt uitgevoerd."
1986
+ },
1987
+ "autoTranslate_promptProtectionUpdate": {
1988
+ "label": "Vraag om de beveiligingsregels bij te werken",
1989
+ "help": "Vraag of u de beveiligingsregels wilt bijwerken vóór managervertalingen."
1990
+ },
1991
+ "backup": {
1992
+ "enabled": {
1993
+ "label": "Schakel Back-up in",
1994
+ "description": "Schakel automatische back-up van instellingen in",
1995
+ "help": "Back-upfunctie in-/uitschakelen"
1996
+ },
1997
+ "singleFileMode": {
1998
+ "label": "Modus voor één bestand",
1999
+ "description": "Gebruik één bestand voor back-ups",
2000
+ "help": "Maak een back-up van instellingen in één bestand"
2001
+ },
2002
+ "singleBackupFile": {
2003
+ "label": "Back-upbestandspad",
2004
+ "description": "Pad naar het back-upbestand",
2005
+ "help": "Pad naar het enkele back-upbestand"
2006
+ },
2007
+ "retentionDays": {
2008
+ "label": "Bewaartermijn",
2009
+ "description": "Dagen om back-upbestanden te bewaren",
2010
+ "help": "Aantal dagen dat oude back-upbestanden moeten worden bewaard"
2011
+ },
2012
+ "maxBackups": {
2013
+ "label": "Maximale back-ups",
2014
+ "description": "Maximale back-upbestanden om te bewaren",
2015
+ "help": "Maximaal aantal back-upbestanden dat moet worden bewaard"
2016
+ },
2017
+ "confirm": {
2018
+ "label": "Bevestig Back-up",
2019
+ "description": "Bevestiging vereisen voor back-upbewerkingen",
2020
+ "help": "Bevestig de back-upbewerking"
2021
+ }
2022
+ }
2023
+ },
2024
+ "actions": {
2025
+ "editSetting": "Bewerking {setting}:",
2026
+ "settingUpdated": "✅ {setting} succesvol bijgewerkt!",
2027
+ "invalidValue": "❌ Ongeldige waarde. Probeer het opnieuw.",
2028
+ "pressEnter": "Druk op Enter om door te gaan...",
2029
+ "backToMenu": "Terug naar het hoofdmenu",
2030
+ "saveSuccess": "✅ Instellingen succesvol opgeslagen!",
2031
+ "saveFailed": "❌ Kan instellingen niet opslaan: {error}",
2032
+ "resetConfirm": "Weet u zeker dat u alle instellingen naar de standaardwaarden wilt terugzetten? (j/N):",
2033
+ "resetSuccess": "✅ Instellingen zijn succesvol teruggezet naar de standaardwaarden!",
2034
+ "importSuccess": "✅ Instellingen geïmporteerd!",
2035
+ "exportSuccess": "✅ Instellingen succesvol geëxporteerd!",
2036
+ "fileNotFound": "❌ Bestand niet gevonden: {path}",
2037
+ "invalidFormat": "❌ Ongeldig instellingenbestandsformaat",
2038
+ "pinProtectionUpdated": "✅ PIN-beveiliging voor {script} succesvol bijgewerkt!",
2039
+ "pinProtectionReset": "✅ Alle instellingen voor pincodebeveiliging worden teruggezet naar de standaardwaarden!",
2040
+ "pinProtectionConfigure": "Configureer pincodebeveiliging voor individuele scripts",
2041
+ "pinProtectionSelectScript": "Selecteer een script om PIN-beveiliging in of uit te schakelen:",
2042
+ "pinProtectionCurrentStatus": "Huidige status: {status}",
2043
+ "pinProtectionEnabled": "Ingeschakeld",
2044
+ "pinProtectionDisabled": "Gehandicapt",
2045
+ "pinProtectionToggle": "Schakel PIN-beveiliging in",
2046
+ "pinProtectionResetAll": "Alles terugzetten naar standaardwaarden",
2047
+ "pinProtectionBack": "Terug naar Beveiligingsinstellingen"
2048
+ },
2049
+ "themes": {
2050
+ "light": "Licht",
2051
+ "dark": "Donker",
2052
+ "system": "Systeem"
2053
+ },
2054
+ "languages": {
2055
+ "en": "Engels",
2056
+ "de": "Duits",
2057
+ "es": "Spaans",
2058
+ "fr": "Frans",
2059
+ "ru": "Russisch",
2060
+ "ja": "Japanse",
2061
+ "zh": "Chinese",
2062
+ "it": "Italiaans",
2063
+ "pt": "Portugees",
2064
+ "nl": "Nederlands",
2065
+ "pl": "Pools",
2066
+ "sv": "Zweeds",
2067
+ "uk": "Oekraïens",
2068
+ "cs": "Tsjechisch",
2069
+ "tr": "Turks",
2070
+ "ko": "Koreaans",
2071
+ "ar": "Arabisch",
2072
+ "hi": "Hindi",
2073
+ "th": "Thais",
2074
+ "vi": "Vietnamees",
2075
+ "he": "Hebreeuws",
2076
+ "el": "Grieks",
2077
+ "hu": "Hongaars"
2078
+ },
2079
+ "viewAll": {
2080
+ "title": "Bekijk alle instellingen"
2081
+ },
2082
+ "current": "Huidig",
2083
+ "back": "Terug naar het hoofdmenu",
2084
+ "selectSettingPrompt": "Selecteer de instelling om te bewerken (of b voor terug, r voor reset):",
2085
+ "invalidOption": "Ongeldige optie.",
2086
+ "editing": "Bewerken",
2087
+ "enterNewValue": "Voer een nieuwe waarde in (of druk op Enter om actueel te blijven, typ 'default' om de systeemstandaard te gebruiken):",
2088
+ "validOptions": "Geldige opties",
2089
+ "updatedSuccessfully": "succesvol bijgewerkt!",
2090
+ "noHelp": "Er is geen hulp beschikbaar voor deze instelling",
2091
+ "resetScriptDirectories": "Resetten naar standaardwaarden",
2092
+ "resetScriptDirectoriesTitle": "Scriptmappen opnieuw instellen op de standaardwaarden",
2093
+ "resetScriptDirectoriesWarning1": "Hierdoor worden alle scriptdirectoryconfiguraties teruggezet naar hun systeemstandaarden.",
2094
+ "resetScriptDirectoriesWarning2": "Alle aangepaste mappaden worden gewist. Deze actie kan niet ongedaan worden gemaakt.",
2095
+ "resetScriptDirectoriesConfirm": "Weet u zeker dat u alle scriptmappen wilt terugzetten naar de standaardwaarden? (j/N):",
2096
+ "backup": {
2097
+ "title": "Back-upinstellingen",
2098
+ "description": "Maak een back-up van de huidige instellingen naar een bestand",
2099
+ "confirm": "Weet u zeker dat u een back-up van de huidige instellingen wilt maken? (j/N):",
2100
+ "success": "✅ Er is met succes een back-up gemaakt van de instellingen {backupFile}",
2101
+ "failed": "❌ Kan geen back-up maken van de instellingen: {error}",
2102
+ "enabled": "Schakel Back-up in",
2103
+ "enabledHelp": "Back-upfunctie in-/uitschakelen",
2104
+ "singleFileMode": "Modus voor één bestand",
2105
+ "singleFileModeHelp": "Maak een back-up van instellingen in één bestand",
2106
+ "singleBackupFile": "Eén back-upbestand",
2107
+ "singleBackupFileHelp": "Pad naar het enkele back-upbestand",
2108
+ "retentionDays": "Retentiedagen",
2109
+ "retentionDaysHelp": "Aantal dagen dat oude back-upbestanden moeten worden bewaard",
2110
+ "maxBackups": "Maximale back-ups",
2111
+ "maxBackupsHelp": "Maximaal aantal back-upbestanden dat moet worden bewaard",
2112
+ "confirmHelp": "Bevestig de back-upbewerking",
2113
+ "confirmYes": "Ja",
2114
+ "confirmNo": "Nee"
2115
+ },
2116
+ "validation": {
2117
+ "valid": "Geldig",
2118
+ "validatingPaths": "Geconfigureerde paden valideren...",
2119
+ "validationComplete": "Padvalidatie voltooid: {valid}/{total} geldig."
2120
+ }
2121
+ },
2122
+ "summary": {
2123
+ "separator": "============================================================",
2124
+ "configurationTitle": "🔧 Configuratie:",
2125
+ "sourceLanguage": "Brontaal: {sourceLanguage}",
2126
+ "supportedExtensions": "Ondersteunde extensies: {extensions}",
2127
+ "excludedFiles": "Uitgesloten bestanden: {files}",
2128
+ "reportContent": "{report}",
2129
+ "fatalError": "❌ Fatale fout: {error}",
2130
+ "helpTitle": "📊 I18NTK SAMENVATTING RAPPORTGENERATOR",
2131
+ "helpDescription": "Analyseert de i18n-mapstructuur en genereert een uitgebreid samenvattend rapport inclusief belangrijke statistieken, analyse van de bestandsstructuur en validatiecontroles.",
2132
+ "helpUsage": "Gebruik: knooppunt i18ntk-summary.js [opties]",
2133
+ "helpOptions": "--bron-dir <dir> Bronmap om te analyseren",
2134
+ "helpSourceDir": "--bron-dir <dir> Bronmap om te analyseren",
2135
+ "helpOutput": "--uitvoer <file> Uitvoerbestand voor het rapport",
2136
+ "helpVerbose": "--verbose, -v Gedetailleerde informatie weergeven",
2137
+ "helpKeepReports": "--keep-reports Behoud bestaande rapporten",
2138
+ "helpDeleteReports": "--delete-reports Verwijder bestaande rapporten",
2139
+ "helpHelp": "--help, -h Toon deze hulp",
2140
+ "helpExamples": "Voorbeelden:",
2141
+ "helpExample1": "knooppunt i18ntk-summary.js",
2142
+ "helpExample2": "knooppunt i18ntk-summary.js --source-dir ./locales",
2143
+ "helpExample3": "knooppunt i18ntk-summary.js --output summary-report.txt",
2144
+ "helpExample4": "knooppunt i18ntk-summary.js --verbose",
2145
+ "helpExample5": "knooppunt i18ntk-summary.js --source-dir ./locales --output report.json",
2146
+ "couldNotReadFile": "⚠️ Kan bestand niet lezen: {filePath}",
2147
+ "couldNotParseJSFile": "⚠️ Kan JS/TS-bestand niet parseren: {filePath}",
2148
+ "errorReadingFile": "⚠️ Fout bij lezen bestand {filePath}: {error}",
2149
+ "analyzingFolder": "🔍 Mappenstructuur analyseren...",
2150
+ "noLanguageDirectoriesFound": "❌ Geen taalmappen gevonden in de opgegeven bronmap.",
2151
+ "foundLanguages": "✅ Gevonden {count} talen: {languages}",
2152
+ "referenceLanguageFiles": "📁 Referentietaal '{language}' heeft {count} bestanden",
2153
+ "analyzingLanguage": "🌍 Taal analyseren: {language}",
2154
+ "keysInFiles": "📊 Gevonden {keys} sleutels over {files} bestanden",
2155
+ "checkingInconsistentKeys": "🔍 Controleren op inconsistente sleutels in verschillende talen...",
2156
+ "generatingSummaryReport": "📝 Samenvattend rapport genereren...",
2157
+ "reportTitle": "📊 I18NTK SUMMARY REPORT",
2158
+ "generated": "Gegenereerd: {timestamp}",
2159
+ "sourceDirectory": "Bronmap: {dir}",
2160
+ "overview": "📈 OVERVIEW",
2161
+ "languagesCount": "Talen: {count}",
2162
+ "totalFiles": "Totaal bestanden: {count}",
2163
+ "totalKeys": "Totaal sleutels: {count}",
2164
+ "avgKeysPerLanguage": "Gemiddelde toetsen per taal: {count}",
2165
+ "languagesBreakdown": "🌍 TALENVERDELING",
2166
+ "languageBreakdown": "{language}: {files} bestanden, {keys} sleutels",
2167
+ "fileStructure": "📁 BESTANDSSTRUCTUUR",
2168
+ "fileKeys": "{file}: {keys} sleutels",
2169
+ "missingInLanguages": "⚠️ Ontbreekt in: {languages}",
2170
+ "issuesFound": "❌ ISSUES FOUND",
2171
+ "missingFiles": "📁 Ontbrekende bestanden:",
2172
+ "emptyFiles": "📄 Lege bestanden:",
2173
+ "malformedFiles": "⚠️ Misvormde bestanden:",
2174
+ "duplicateKeys": "🔑 Dubbele sleutels:",
2175
+ "inconsistentKeys": "🔍 Inconsistente sleutels:",
2176
+ "missingKeys": "Ontbrekend: {keys}{more}",
2177
+ "extraKeys": "Extra: {keys}{more}",
2178
+ "noIssuesFound": "✅ NO ISSUES FOUND",
2179
+ "allFilesConsistent": "Alle vertaalbestanden zijn consistent in alle talen.",
2180
+ "recommendations": "💡 AANBEVELINGEN",
2181
+ "createMissingFiles": "• Ontbrekende vertaalbestanden maken",
2182
+ "addContentToEmptyFiles": "• Voeg inhoud toe aan lege vertaalbestanden",
2183
+ "fixMalformedFiles": "• Misvormde JSON/JS-bestanden repareren",
2184
+ "removeDuplicateKeys": "• Verwijder dubbele sleutels uit bestanden",
2185
+ "synchronizeKeys": "• Synchroniseer sleutels in alle talen",
2186
+ "splitLargeFiles": "• Overweeg om grote bestanden op te splitsen in kleinere naamruimten",
2187
+ "addMoreLanguages": "• Overweeg om meer talen toe te voegen",
2188
+ "nextSteps": "🎯 NEXT STEPS",
2189
+ "nextStep1": "1. Los eventuele hierboven genoemde problemen op",
2190
+ "nextStep2": "2. Voer validatie uit om consistentie te garanderen",
2191
+ "nextStep3": "3. Overweeg het gebruik van i18ntk-validate voor gedetailleerde validatie",
2192
+ "nextStep4": "4. Regelmatige controle aanbevolen",
2193
+ "couldNotFindI18nDirectory": "❌ Kon de i18n-directory niet vinden. Specificeer --source-dir.",
2194
+ "sourceDirectoryDoesNotExist": "❌ Bronmap bestaat niet: {dir}",
2195
+ "i18nSummaryReportGenerator": "📊 I18N Samenvattingsrapportgenerator",
2196
+ "analysisComplete": "✅ Analyse voltooid",
2197
+ "analyzedLanguages": "📊 Geanalyseerde talen: {count}",
2198
+ "processedFiles": "📁 Verwerkte bestanden: {count}",
2199
+ "foundTranslationKeys": "🔑 Vertaalsleutels gevonden: {count}",
2200
+ "foundIssues": "❌ Gevonden {count} problemen",
2201
+ "noIssuesConsole": "✅ Geen problemen gevonden - alle bestanden zijn consistent!",
2202
+ "errorDuringAnalysis": "❌ Fout tijdens analyse: {error}",
2203
+ "usageReportTitle": "📊 I18NTK USAGE REPORT",
2204
+ "usageReportGenerated": "Gegenereerd: {timestamp}",
2205
+ "usageReportSourceDir": "Bronmap: {sourceDir}",
2206
+ "usageReportI18nDir": "I18n-map: {i18nDir}",
2207
+ "usageReportSummary": "📈 SUMMARY",
2208
+ "usageReportSourceFilesScanned": "Bronbestanden gescand: {count}",
2209
+ "usageReportTranslationFilesFound": "Vertaalbestanden gevonden: {count}",
2210
+ "usageReportAvailableKeys": "Beschikbare vertaalsleutels: {count}",
2211
+ "usageReportUsedKeys": "Gebruikte vertaalsleutels: {count}",
2212
+ "usageReportDynamicKeys": "Dynamische vertaalsleutels: {count}",
2213
+ "usageReportUnusedKeys": "Ongebruikte vertaalsleutels: {count}",
2214
+ "usageReportMissingKeys": "Ontbrekende vertaalsleutels: {count}",
2215
+ "usageReportNotTranslatedKeys": "Niet vertaalde sleutels: {count}",
2216
+ "usageReportTranslationCompleteness": "🌍 VOLLEDIGHEID VAN DE VERTALING",
2217
+ "usageReportLanguageCompleteness": "{language}: {completeness}% ({translated}/{total})",
2218
+ "usageReportNotTranslatedInLanguage": "Niet vertaald: {count} sleutels",
2219
+ "usageReportTranslationFilesDiscovered": "📁 VERTAALBESTANDEN",
2220
+ "usageReportFileInfo": "{relativePath} (naamruimte: {namespace}, typ: {type})",
2221
+ "usageReportUnusedTranslationKeys": "🗑️ ONGEBRUIKTE VERTAALSLEUTELS",
2222
+ "usageReportUnusedKeysDescription": "Deze sleutels bestaan ​​in vertaalbestanden, maar worden niet gebruikt in de broncode:",
2223
+ "usageReportUnusedKey": "• {key}",
2224
+ "usageReportMoreUnusedKeys": "... En {count} meer ongebruikte sleutels",
2225
+ "usageReportMissingTranslationKeys": "❌ ONTBREKENDE VERTAALSLEUTELS",
2226
+ "usageReportMissingKeysDescription": "Deze sleutels worden gebruikt in de broncode, maar ontbreken in vertaalbestanden:",
2227
+ "usageReportMissingKey": "• {key}",
2228
+ "usageReportUsedIn": "Gebruikt in: {filePath}",
2229
+ "usageReportMoreFiles": "... En {count} meer bestanden",
2230
+ "usageReportDynamicTranslationKeys": "⚡ DYNAMISCHE VERTAALTOETSEN",
2231
+ "usageReportDynamicKeysDescription": "Deze sleutels worden dynamisch gebruikt (tijdens runtime gebouwd):",
2232
+ "usageReportDynamicKey": "• {key}",
2233
+ "usageReportFileUsageBreakdown": "📊 VERDELING VAN BESTANDSGEBRUIK",
2234
+ "usageReportFileUsage": "{filePath}: {count} sleutels",
2235
+ "status": {
2236
+ "generating": "⏳ Genereren...",
2237
+ "completed": "✅ Voltooid"
2238
+ },
2239
+ "help": {
2240
+ "usage": "Gebruik: knooppunt main/manage/index.js [opties]",
2241
+ "interactiveMode": "💡 Gebruik: knooppunt main/manage/index.js --command=<command> voor directe uitvoering",
2242
+ "initProject": "🚀 Initialiseer nieuwe talen",
2243
+ "analyzeTranslations": "🔍 Analyseer vertalingen",
2244
+ "validateTranslations": "✅ Valideer vertalingen",
2245
+ "checkUsage": "📊 Controleer het sleutelgebruik",
2246
+ "showHelp": "📖 Gebruik: node main/manage/index.js --help voor beschikbare opdrachten",
2247
+ "availableCommands": "📖 Beschikbare opdrachten:",
2248
+ "initCommand": "init - Initialiseer nieuwe talen",
2249
+ "analyzeCommand": "analyseren - Analyseer vertalingen",
2250
+ "validateCommand": "valideren - Valideer vertalingen",
2251
+ "usageCommand": "gebruik - Controleer het sleutelgebruik",
2252
+ "sizingCommand": "maatvoering - Analyseer maatvoering",
2253
+ "completeCommand": "compleet - Volledige vertalingen (100% dekking)",
2254
+ "summaryCommand": "samenvatting - Toon projectstatus",
2255
+ "scannerCommand": "scanner - Scannen op i18n-problemen",
2256
+ "translateCommand": "vertalen - Landinstellingenbestanden automatisch vertalen",
2257
+ "debugCommand": "debug - Debug vertaalproblemen"
2258
+ },
2259
+ "test_complete_system": {
2260
+ "starting_test": "🧪 Volledige systeemtest starten",
2261
+ "separator": "=",
2262
+ "testing_ui_translations": "📝 UI-vertalingen testen...",
2263
+ "testing_settings_manager": "⚙️ Instellingenbeheer testen...",
2264
+ "testing_main_scripts": "🔧 Hoofdscripts testen...",
2265
+ "checking_translation_consistency": "🌐 Consistentie van de vertaling controleren...",
2266
+ "non_critical_missing_keys": "ℹ️ {file}: {count} niet-kritieke ontbrekende sleutels",
2267
+ "extra_keys": "ℹ️ {file}: {count} extra sleutels",
2268
+ "generating_report": "📊 Rapport genereren...",
2269
+ "final_test_report_title": "📋 FINAL TEST REPORT",
2270
+ "passed": "✅ Geslaagd: {passed}",
2271
+ "failed": "❌ Mislukt: {failed}",
2272
+ "warnings": "⚠️ Waarschuwingen: {warnings}",
2273
+ "missing_translations_title": "🔍 Ontbrekende vertalingen ({count}):",
2274
+ "missing_translation_key": "- {key}",
2275
+ "missing_translations_more": "... En {count} meer",
2276
+ "errors_title": "❌ Fouten:",
2277
+ "error_message": "- {error}",
2278
+ "overall_status": "📊 Algemene status: {status}",
2279
+ "success_message": "✅ {message}",
2280
+ "failure_message": "❌ {message}",
2281
+ "failure_error_message": "{errorMessage}",
2282
+ "warning_message": "⚠️ {message}",
2283
+ "test_runner_failed": "❌ Testloper mislukt:",
2284
+ "recommendations": {
2285
+ "add_missing_translation_keys": "Voeg ontbrekende vertaalsleutels toe om de consistentie te behouden",
2286
+ "fix_failing_scripts": "Repareer falende scripts vóór implementatie",
2287
+ "review_warning_messages": "Waarschuwingsberichten bekijken en oplossen",
2288
+ "system_ready_for_deployment": "Systeem is klaar voor implementatie"
2289
+ },
2290
+ "hardcodedTexts": {
2291
+ "addMissingTranslationKeys": "Voeg ontbrekende vertaalsleutels toe om de consistentie te behouden",
2292
+ "fixFailingScripts": "Repareer falende scripts vóór implementatie",
2293
+ "reviewWarningMessages": "Waarschuwingsberichten bekijken en oplossen",
2294
+ "systemReadyForDeployment": "Systeem is klaar voor implementatie"
2295
+ }
2296
+ },
2297
+ "testConsoleI18n": {
2298
+ "found_target_file": "Doelbestand gevonden: {fileName}",
2299
+ "scanning_files_for_console_statements": "Bestanden scannen op console-instructies...",
2300
+ "found_javascript_files": "Gevonden {count} JavaScript-bestanden.",
2301
+ "console_i18n_analysis_results": "Console I18n-analyseresultaten",
2302
+ "total_console_statements": "Totaal console-instructies: {count}",
2303
+ "translated_statements": "Vertaalde uitspraken: {count}",
2304
+ "hardcoded_statements": "Hardgecodeerde uitspraken: {count}",
2305
+ "translation_coverage": "Vertaaldekking: {percentage}%",
2306
+ "coverage_by_file": "Dekking per bestand:",
2307
+ "file_coverage_stats": "{emoji} {fileName}: {coverage}% ({translated}/{total})",
2308
+ "hardcoded_console_statements": "Hardgecodeerde consoleverklaringen:",
2309
+ "file_header": "Bestand: {file}",
2310
+ "line_statement": "Lijn {line}: {statement}",
2311
+ "suggested_key": "Voorgestelde sleutel: {key}",
2312
+ "suggested_replacement": "Voorgestelde vervanging: {replacement}",
2313
+ "recommendations": "Aanbevelingen:",
2314
+ "recommendation_1": "1. Vervang hardgecodeerde tekenreeksen door i18n.t()-aanroepen.",
2315
+ "recommendation_2": "2. Voeg nieuwe sleutels toe aan de relevante JSON-vertaalbestanden.",
2316
+ "recommendation_3": "3. Zorg ervoor dat alle consoleberichten op de gebruiker gericht zijn en vertaling vereisen.",
2317
+ "recommendation_4": "4. Gebruik sjabloonliterals of tekenreeksaaneenschakeling voor dynamische berichten, waarbij variabelen worden doorgegeven aan i18n.t().",
2318
+ "translation_keys_to_add": "Voorgestelde vertalingssleutels om toe te voegen:",
2319
+ "add_keys_instruction": "Kopieer de volgende JSON-structuur naar uw vertaalbestanden:",
2320
+ "perfect_translation_coverage": "Perfecte vertaaldekking!",
2321
+ "all_statements_using_translation": "Alle console-instructies maken gebruik van het vertaalsysteem.",
2322
+ "i18n_console_translation_checker": "I18n Console-vertalingscontrole",
2323
+ "script_description_line1": "Dit script scant alle JavaScript-bestanden op console-instructies",
2324
+ "script_description_line2": "en controleert of ze het vertaalsysteem gebruiken.",
2325
+ "analysis_completed_in_duration": "Analyse voltooid in {duration} seconden.",
2326
+ "report_saved_to_path": "Rapport opgeslagen in: {path}",
2327
+ "found_hardcoded_messages": "Gevonden {count} hardgecodeerde berichten. Afsluiten met foutcode 1.",
2328
+ "all_console_messages_use_translation": "Alle consoleberichten gebruiken vertaling. Afsluiten met code 0.",
2329
+ "consoleTranslationsCheck": "Consolevertalingen controleren"
2330
+ },
2331
+ "translate_mismatches": {
2332
+ "title": "🌐 Vertaalhulp {dryRun}",
2333
+ "separator": "=====================================",
2334
+ "processing_file": "📄 Verwerking {language}.json...",
2335
+ "translation_summary_title": "📊 Vertaalsamenvatting:",
2336
+ "total_translations_applied": "Totaal aantal toegepaste vertalingen: {totalTranslations}",
2337
+ "run_with_apply_instruction": "💡 Voer uit met --apply om deze vertalingen toe te passen",
2338
+ "no_translation_mappings": "⚠️ Geen vertaaltoewijzingen beschikbaar voor {language}",
2339
+ "translation_applied": "✅ {key}: \"{oldValue}\" → \"{newValue}\"",
2340
+ "saved_translations": "💾Opgeslagen {count} vertalingen naar {filename}",
2341
+ "found_translatable_items": "🔍Gevonden {count} vertaalbare artikelen",
2342
+ "no_automatic_translations": "✨ Geen automatische vertalingen beschikbaar",
2343
+ "error_processing_file": "❌ Foutverwerking {filename}: {errorMessage}",
2344
+ "coverage_report_title": "📊 Vertaaldekkingsrapport",
2345
+ "coverage_report_separator": "===============================",
2346
+ "file_header": "📄 {filename}:",
2347
+ "total_keys": "Totaal sleutels: {total}",
2348
+ "translated_keys": "Vertaald: {translated}",
2349
+ "untranslated_markers": "Onvertaalde markeringen: {untranslated}",
2350
+ "contains_english": "Bevat Engels: {hasEnglish}",
2351
+ "coverage_percentage": "Dekking: {coverage}%",
2352
+ "error_general": "❌ Fout:",
2353
+ "use_help": "Gebruik --help voor gebruiksinformatie"
2354
+ },
2355
+ "cleaningUpReportFiles": "Oude rapportbestanden opruimen...",
2356
+ "couldNotDelete": "Kan niet verwijderen {file}: {error}",
2357
+ "deletedOldReportFiles": "Verwijderd {count} oude rapportbestand(en).",
2358
+ "errorCleaningUpReports": "Fout bij het opschonen van rapporten: {error}",
2359
+ "noOldReportFilesToDelete": "Er zijn geen oude rapportbestanden om te verwijderen.",
2360
+ "reportFilesPreserved": "Rapportbestanden bewaard.",
2361
+ "reportSaveFailed": "Kan rapport niet opslaan in: {reportPath}",
2362
+ "reportSaved": "Rapport opgeslagen in: {reportPath}"
2363
+ },
2364
+ "ui": {
2365
+ "autoDetectedI18nDirectory": "Automatisch gedetecteerde i18n-map: {path}",
2366
+ "executingCommand": "Commando uitvoeren: {command}",
2367
+ "unknownCommand": "Onbekend commando: {command}",
2368
+ "errorExecutingCommand": "Fout bij uitvoeren opdracht: {error}",
2369
+ "errorLoadingTranslationFile": "Fout bij laden van vertaalbestand voor '{language}': {error}",
2370
+ "errorSavingLanguagePreference": "Fout bij opslaan van taalvoorkeur: {error}",
2371
+ "noActiveReadlineInterface": "Geen actieve leesregelinterface beschikbaar",
2372
+ "uiLanguageUpdated": "UI-taal bijgewerkt naar: {language}",
2373
+ "selectOptionPrompt": "Selecteer een optie:",
2374
+ "pressEnterToReturn": "Druk op Enter om terug te keren naar het hoofdmenu...",
2375
+ "detectedSourceDirectory": "Gedetecteerde bronmap: {sourceDir}",
2376
+ "detectedI18nDirectory": "Gedetecteerde i18n-map: {directory}",
2377
+ "toolkitTitle": "i18ntk - Enterprise i18n-beheertoolkit",
2378
+ "versionInfo": "Versie: {version}",
2379
+ "releaseDate": "Releasedatum: {date}",
2380
+ "maintainer": "Onderhouder: {maintainer}",
2381
+ "nodeVersion": "Knooppunt.js: {version}",
2382
+ "license": "Licentie: {license}",
2383
+ "whatsNew": "✨ Wat is er nieuw in v{version}:",
2384
+ "changeItem": "{change}",
2385
+ "documentation": "📚 Documentatie: {url}",
2386
+ "issues": "🐛 Problemen: {url}",
2387
+ "versionInfoUnavailable": "i18ntk-versie-informatie niet beschikbaar",
2388
+ "versionInfoError": "Fout: {error}"
2389
+ },
2390
+ "validateLanguagePurity": {
2391
+ "phrase_debug_tools": "debug-hulpmiddelen",
2392
+ "phrase_settings": "instellingen",
2393
+ "phrase_configuration": "configuratie",
2394
+ "phrase_invalid_choice": "ongeldige keuze",
2395
+ "phrase_please_select": "selecteer alstublieft",
2396
+ "phrase_back_to_main_menu": "terug naar het hoofdmenu",
2397
+ "phrase_error": "fout",
2398
+ "phrase_warning": "waarschuwing",
2399
+ "phrase_success": "succes",
2400
+ "phrase_failed": "mislukt",
2401
+ "phrase_loading": "laden",
2402
+ "phrase_saving": "besparing",
2403
+ "phrase_full_system_debug": "volledige systeemfoutopsporing",
2404
+ "phrase_configuration_debug": "configuratie foutopsporing",
2405
+ "phrase_translation_debug": "vertaling foutopsporing",
2406
+ "phrase_performance_debug": "prestatie-foutopsporing",
2407
+ "phrase_admin_pin_setup": "beheerderspin instellen",
2408
+ "phrase_enter_admin_pin": "voer de beheerderspincode in",
2409
+ "phrase_confirm_admin_pin": "bevestig de beheerderspincode",
2410
+ "phrase_authentication_failed": "authenticatie mislukt",
2411
+ "phrase_access_denied": "Toegang geweigerd",
2412
+ "phrase_security_log": "beveiligingslogboek",
2413
+ "language_german": "Duits",
2414
+ "language_french": "Frans",
2415
+ "language_spanish": "Spaans",
2416
+ "language_russian": "Russisch",
2417
+ "language_japanese": "Japanse",
2418
+ "language_chinese": "Chinese",
2419
+ "validator_title": "🔍 Taalzuiverheidsvalidator",
2420
+ "validating_file": "📄 Valideren {language}.json ({name})...",
2421
+ "valid_file_message": "✅ Geldig - Geen schendingen van de taalzuiverheid",
2422
+ "invalid_file_message": "❌ Ongeldig - {count} overtreding(en) gevonden",
2423
+ "no_validation_rules": "Geen validatieregels gedefinieerd voor taal: {language}",
2424
+ "error_reading_file": "Fout bij lezen bestand: {errorMessage}",
2425
+ "issue_forbidden_marker": "Bevat verboden marker: {marker}",
2426
+ "issue_english_phrase": "Bevat Engelse zin: \"{phrase}\"",
2427
+ "issue_english_words": "Bevat Engelse woorden: {words}",
2428
+ "issue_missing_cyrillic": "Lange tekst moet Cyrillische tekens voor Russisch bevatten",
2429
+ "issue_missing_japanese": "Lange tekst moet Japanse karakters bevatten",
2430
+ "issue_missing_chinese": "Lange tekst moet Chinese karakters bevatten",
2431
+ "summary_title": "📊 VALIDATIE SAMENVATTING",
2432
+ "overall_results_header": "📋 Algemene resultaten:",
2433
+ "total_files_validated": "Totaal aantal gevalideerde bestanden: {count}",
2434
+ "valid_files": "Geldige bestanden: {count}",
2435
+ "invalid_files": "Ongeldige bestanden: {count}",
2436
+ "total_violations": "Totaal aantal overtredingen: {count}",
2437
+ "violations_by_file_header": "❌ OVERTREDINGEN PER BESTAND:"
2438
+ },
2439
+ "workflow": {
2440
+ "title": "Workflowbeheer",
2441
+ "description": "Beheer i18n-workflows.",
2442
+ "select_workflow_file": "Selecteer een workflowbestand om uit te voeren:",
2443
+ "no_workflow_files": "Er zijn geen werkstroombestanden gevonden in de werkstroommap.",
2444
+ "invalid_selection": "Ongeldige selectie. Voer een nummer in dat overeenkomt met een workflowbestand.",
2445
+ "workflow_execution_started": "Werkstroom starten: {workflowName}",
2446
+ "workflow_execution_completed": "Werkstroom voltooid: {workflowName}",
2447
+ "workflow_execution_failed": "Werkstroom mislukt: {workflowName} - {error}",
2448
+ "workflow_cancelled": "Uitvoering van de workflow geannuleerd.",
2449
+ "press_enter_to_continue": "Druk op Enter om door te gaan!",
2450
+ "starting": "🚀 Werkstroom starten...",
2451
+ "completed": "✅ Workflow succesvol afgerond!",
2452
+ "checkReports": "📄 Controleer rapporten voor details.",
2453
+ "exitingCompleted": "📝 Werkstroom voltooid. Afsluiten...",
2454
+ "summary": {
2455
+ "title": "📋 WORKFLOW SUMMARY",
2456
+ "separator": "===================",
2457
+ "completedAt": "🕐 Workflow voltooid bij: {timestamp}",
2458
+ "initialViolations": "📊 Eerste overtredingen: {count}",
2459
+ "finalViolations": "📉 Laatste overtredingen: {count}",
2460
+ "totalFixes": "🔧 Totaal aantal toegepaste oplossingen: {count}",
2461
+ "improvement": "📈 Verbetering: {percentage}%",
2462
+ "stepResults": "📝 STEP RESULTS:",
2463
+ "stepDetail": "{number}. {status} {stepName}",
2464
+ "violations": "Overtredingen: {count}",
2465
+ "fixesApplied": "Oplossingen toegepast: {count}",
2466
+ "nextSteps": "💡 NEXT STEPS:",
2467
+ "congratulations": "🎉 Gefeliciteerd! Alle localebestanden hebben nu een perfecte taalzuiverheid!",
2468
+ "cicdIntegration": "✅ Overweeg om de validator in uw CI/CD-pijplijn te integreren",
2469
+ "automatedChecks": "✅ Stel geautomatiseerde controles in voor nieuwe vertalingen",
2470
+ "greatProgress": "🎯 Geweldige vooruitgang! De meeste problemen zijn opgelost.",
2471
+ "manualReview": "🔍 Beoordeel de resterende overtredingen handmatig",
2472
+ "addMappings": "🌐 Overweeg om meer vertaaltoewijzingen toe te voegen voor randgevallen",
2473
+ "goodProgress": "📈 Goede vooruitgang geboekt, maar er is meer werk nodig.",
2474
+ "expandMappings": "🔧 Automatische vertaaltoewijzingen uitbreiden",
2475
+ "professionalReview": "👥 Overweeg handmatige beoordeling van complexe vertalingen",
2476
+ "runAgain": "🔄 Voer de workflow opnieuw uit nadat u meer toewijzingen heeft toegevoegd",
2477
+ "limitedProgress": "⚠️Beperkte voortgang. Handmatig ingrijpen kan nodig zijn.",
2478
+ "reviewMappings": "🔍 Beoordeel vertaaltoewijzingen en voeg ontbrekende toe",
2479
+ "professionalServices": "👥 Overweeg professionele vertaaldiensten",
2480
+ "checkIssues": "🔧 Controleer op systematische problemen in landinstellingsbestanden",
2481
+ "success": "✅",
2482
+ "warning": "⚠️"
2483
+ }
2484
+ },
2485
+ "consoleI18nTester": {
2486
+ "found_target_file": "Doelbestand gevonden",
2487
+ "scanning_files_for_console_statements": "Bestanden scannen op console-instructies",
2488
+ "found_javascript_files": "JavaScript-bestanden gevonden",
2489
+ "console_i18n_analysis_results": "Console i18n-analyseresultaten",
2490
+ "total_console_statements": "Totaal console-instructies",
2491
+ "translated_statements": "Vertaalde uitspraken",
2492
+ "hardcoded_statements": "Hardgecodeerde uitspraken",
2493
+ "translation_coverage": "Vertaaldekking",
2494
+ "coverage_by_file": "Dekking per bestand",
2495
+ "file_coverage_stats": "Bestandsdekkingsstatistieken",
2496
+ "hardcoded_console_statements": "Hardgecodeerde console-instructies",
2497
+ "file_header": "Bestandskop",
2498
+ "line_statement": "Lijnverklaring",
2499
+ "suggested_key": "Voorgestelde sleutel",
2500
+ "suggested_replacement": "Voorgestelde vervanging",
2501
+ "recommendations": "Aanbevelingen",
2502
+ "recommendation_1": "Aanbeveling 1",
2503
+ "recommendation_2": "Aanbeveling 2",
2504
+ "recommendation_3": "Aanbeveling 3",
2505
+ "recommendation_4": "Aanbeveling 4",
2506
+ "translation_keys_to_add": "Vertaalsleutels om toe te voegen",
2507
+ "add_keys_instruction": "Sleutelinstructie toevoegen",
2508
+ "perfect_translation_coverage": "Perfecte vertalingsdekking",
2509
+ "all_statements_using_translation": "Alle uitspraken met behulp van vertaling",
2510
+ "i18n_console_translation_checker": "I18n-consolevertalingscontrole",
2511
+ "script_description_line1": "Scriptbeschrijving regel1",
2512
+ "script_description_line2": "Scriptbeschrijvingsregel2",
2513
+ "analysis_completed_in_duration": "Analyse voltooid in duur",
2514
+ "report_saved_to_path": "Rapport opgeslagen in pad",
2515
+ "found_hardcoded_messages": "Er zijn hardgecodeerde berichten gevonden",
2516
+ "all_console_messages_use_translation": "Alle consoleberichten gebruiken vertaling"
2517
+ },
2518
+ "exportTranslations": {
2519
+ "createdDirectory": "Map gemaakt",
2520
+ "foundFiles": "Gevonden bestanden",
2521
+ "createdTemplate": "Sjabloon gemaakt",
2522
+ "skippedExisting": "Bestaande overgeslagen",
2523
+ "title": "Titel",
2524
+ "creatingTemplates": "Sjablonen maken",
2525
+ "summary": "Samenvatting",
2526
+ "summaryLanguages": "Samenvatting Talen",
2527
+ "summaryFilesPerLanguage": "Samenvattingsbestanden per taal",
2528
+ "summaryTotalFiles": "Samenvatting Totaal aantal bestanden",
2529
+ "success": "Succes",
2530
+ "location": "Locatie",
2531
+ "nextSteps": "Volgende stappen"
2532
+ },
2533
+ "dashboard": {
2534
+ "title": "Titel",
2535
+ "overview": "Overzicht"
2536
+ },
2537
+ "auth": {
2538
+ "title": "Titel",
2539
+ "email": "E-mail",
2540
+ "password": "Wachtwoord",
2541
+ "signIn": "Inloggen",
2542
+ "forgotPassword": "Wachtwoord vergeten",
2543
+ "signUp": "Aanmelden"
2544
+ },
2545
+ "checkUsage": {
2546
+ "usage_analysis_failed": "Gebruiksanalyse is mislukt."
2547
+ },
2548
+ "completeTranslations": {
2549
+ "warning_could_not_parse_filepa": "Waarschuwing: kon het bestandspad niet parseren: {filePath}"
2550
+ },
2551
+ "pressEnterToContinue": "Druk op Enter om door te gaan...",
2552
+ "status": {
2553
+ "exitingCompleted": "Werkstroom voltooid. Afsluiten..."
2554
+ },
2555
+ "prompt": {
2556
+ "yesTokens": [
2557
+ "j",
2558
+ "Ja"
2559
+ ],
2560
+ "noTokens": [
2561
+ "N",
2562
+ "Nee"
2563
+ ]
2564
+ },
2565
+ "translate": {
2566
+ "title": "Automatisch vertalen",
2567
+ "sourceDirectory": {
2568
+ "title": "Directory met bronlandinstellingen",
2569
+ "currentProject": "Huidig ​​project: {dir}",
2570
+ "accepted": "Geaccepteerd: een absoluut pad, of een pad relatief ten opzichte van het huidige project.",
2571
+ "localeRootExample": "./locales (kies vervolgens de brontaal: en)",
2572
+ "folderHint": "De map kan rechtstreeks JSON-bestanden bevatten, of taalmappen zoals ./locales/en.",
2573
+ "defaultNotFound": "Standaardmap niet gevonden: {dir}",
2574
+ "enterExisting": "Voer een bestaande map met JSON-landinstellingsbestanden in.",
2575
+ "directoryNotFound": "Map niet gevonden: {dir}",
2576
+ "enterFolderExample": "Voer een bestaande map in, bijvoorbeeld ./locales/en.",
2577
+ "notDirectory": "Geen map: {dir}",
2578
+ "using": "Bronmap gebruiken: {dir}"
2579
+ },
2580
+ "targetLanguages": {
2581
+ "title": "Doeltaal(en)",
2582
+ "allConfigured": "a) Alle geconfigureerde doeltalen: {languages}",
2583
+ "noneConfigured": "a) Alle geconfigureerde doeltalen: geen geconfigureerd",
2584
+ "enterCodes": "Of voer een of meer door komma's/spaties gescheiden taalcodes in.",
2585
+ "sourceExcluded": "Brontaal \"{lang}\" wordt automatisch uitgesloten.",
2586
+ "noneSelected": "Geen geldige doeltalen geselecteerd. Afbreken.",
2587
+ "configureHint": "Configureer standaardtalen in .i18ntk-config of voer doelcodes handmatig in.",
2588
+ "selected": "Doeltalen: {languages}"
2589
+ },
2590
+ "protection": {
2591
+ "title": "Beschermde termen en sleutels"
2592
+ },
2593
+ "common": {
2594
+ "default": "Standaard: {value}",
2595
+ "examples": "Voorbeelden:",
2596
+ "exampleValue": "Voorbeeld: {value}",
2597
+ "examplesInline": "Voorbeelden: {examples}",
2598
+ "pressEnterDefault": "Druk op Enter om de standaardwaarde te gebruiken.",
2599
+ "usingDefault": "Standaard gebruiken: {value}"
2600
+ },
2601
+ "sourceLanguage": {
2602
+ "title": "Brontaalcode",
2603
+ "hint": "Dit moet overeenkomen met de taal van de bron-JSON-waarden.",
2604
+ "using": "Brontaal gebruiken: {lang}",
2605
+ "invalid": "Ongeldige taalcode. Gebruik meer dan 2 tekens (bijvoorbeeld en, de, fr)."
2606
+ },
2607
+ "files": {
2608
+ "title": "Welk(e) bestand(en) vertalen?",
2609
+ "all": "a) Alle JSON-bestanden ({count}: {files})",
2610
+ "choicePrompt": "Keuze [a/alles of dossiernummer]:",
2611
+ "invalidChoice": "Ongeldige keuze. Afbreken."
2612
+ },
2613
+ "dryRun": {
2614
+ "previewFor": "Voorbeeld van droogdraaien voor \"{lang}\"..."
2615
+ },
2616
+ "confirm": {
2617
+ "proceed": "Doorgaan met daadwerkelijke vertaling?",
2618
+ "yesNoPrompt": "[ja]es / [n]o:",
2619
+ "cancelled": "Vertaling geannuleerd."
2620
+ },
2621
+ "run": {
2622
+ "translatingTo": "Vertalen naar \"{lang}\"...",
2623
+ "failedFor": "Mislukt voor \"{lang}\": {error}"
2624
+ },
2625
+ "summary": {
2626
+ "title": "Samenvatting:",
2627
+ "complete": "Vertaling voltooid!"
2628
+ },
2629
+ "nonInteractive": {
2630
+ "useDirect": "Niet-interactieve modus. Gebruik in plaats daarvan directe CLI:"
2631
+ },
2632
+ "errors": {
2633
+ "sourceDirectoryNotFound": "Bronlandinstellingenmap niet gevonden: {dir}"
2634
+ }
2635
+ }
2636
+ }