UNPKG

i18ntk

Version:

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

729 lines 163 kB
{ "meta": { "version": "4.7.0", "updated": "2026-07-07", "lang": "it" }, "common": { "welcome": "Benvenuto", "hello": "Ciao", "goodbye": "Arrivederci", "yes": "SÌ", "no": "NO", "save": "Salva", "cancel": "Cancellare", "delete": "Eliminare", "edit": "Modificare", "loading": "Caricamento...", "offlineTitle": "Sei offline", "offlineMessage": "Controlla la tua connessione Internet", "tryReconnect": "Prova a riconnetterti", "logout": "Esci", "login": "Login", "amount": "Quantità", "success": "Successo", "error": "Errore", "warning": "Avvertimento", "info": "Informazioni:", "debug": "Debug", "progress": "Progressi:", "remaining": "Rimanente:", "total": "Totale:", "completed": "7. Completato con successo!", "missing": "Mancante", "partial": "Parziale", "sameAsSource": "Uguale alla fonte:", "formatMismatch": "Mancata corrispondenza del formato:", "typeMismatch": "Tipo non corrispondente:", "structureMismatch": "Mancata corrispondenza della struttura:", "invalidOption": "Opzione non valida", "separator": "==================================================", "initializationFailed": "❌ Inizializzazione non riuscita: {error}", "stackTrace": "Traccia dello stack: {stack}", "pressEnterToContinue": "Premi Invio per continuare...", "pressEnterToReturn": "Premere Invio per tornare al menu principale...", "stepCompleted": "Fare un passo '{stepName}' completato.", "stepFailed": "Fare un passo '{stepName}' fallito.", "runningStep": "Fase di esecuzione: {stepName}", "command": "Comando: {command}", "startingWorkflow": "Avvio del flusso di lavoro...", "workflowCompleted": "Flusso di lavoro completato.", "checkReports": "Controlla i rapporti per i dettagli.", "errorExecutingCommand": "Errore durante l'esecuzione del comando: {error}", "genericError": "❌ Errore: {error}", "errors": { "errors": "Errori:", "genericError": "❌ Errore: {error}", "initializationFailed": "❌ Inizializzazione non riuscita: {error}", "initializationCancelled": "❌ Inizializzazione annullata dall'utente.", "translationKeyNotFound": "Chiave di traduzione non trovata: {key}", "sourceDirectoryNotFound": "Directory di origine non trovata: {directory}", "configLoadingFailed": "Caricamento della configurazione non riuscito", "invalidSourceDirectory": "Directory di origine non valida: {directory}", "securityViolation": "Rilevata violazione della sicurezza", "authenticationFailed": "Autenticazione non riuscita", "sourceEqualsI18nWarn": "⚠️ sourceDir è uguale a i18nDir ({sourceDir}). Ricadere a {fallback} per la scansione della sorgente." }, "errorGeneratingStatusSummary": "Errore durante la generazione del riepilogo dello stato: {error}", "errorRunningDebugTool": "Errore durante l'esecuzione dello strumento di debug '{displayName}': {error}", "errorReadingDebugLogs": "Errore durante la lettura dei log di debug: {error}", "errorAnalyzingLogFile": "Errore durante l'analisi del file di registro: {error}", "errorAnalyzingTranslationKeys": "Errore durante l'analisi delle chiavi di traduzione: {error}", "errorAnalyzingTranslationCompleteness": "Errore durante l'analisi della completezza della traduzione: {error}", "analyzingTranslationCompleteness": "Analisi della completezza della traduzione in tutte le lingue...", "i18nDirectoryNotFound": "⚠️ Directory i18n non trovata: {i18nDir}", "translationCompletenessAnalysisFailed": "⚠️ L'analisi della completezza della traduzione non è riuscita: {error}", "failedToAnalyzeLanguage": "❌ Impossibile analizzare la lingua {language}: {error}", "errorReadingI18nDirectory": "❌ Errore durante la lettura della directory i18n:", "languageCompletenessTitle": "📈 COMPLETEZZA DELLA TRADUZIONE PER LINGUA", "errorAnalyzingTranslationFormat": "Errore durante l'analisi del formato di traduzione: {error}", "errorAnalyzingTranslationType": "Errore durante l'analisi del tipo di traduzione: {error}", "errorAnalyzingTranslationStructure": "Errore durante l'analisi della struttura della traduzione: {error}", "errorAnalyzingTranslationFormatMismatch": "Errore durante l'analisi della mancata corrispondenza del formato di traduzione: {error}", "errorAnalyzingTranslationTypeMismatch": "Errore durante l'analisi della mancata corrispondenza del tipo di traduzione: {error}", "errorAnalyzingTranslationStructureMismatch": "Errore durante l'analisi della mancata corrispondenza della struttura della traduzione: {error}", "errorAnalyzingTranslationSameAsSource": "Errore nell'analisi della traduzione uguale all'origine: {error}", "title": "Stato", "nextStep1": "1. Controlla l'analisi dell'utilizzo:", "nextStep2": "2. Convalida delle traduzioni:", "nextStep3": "3. Analizzare la completezza:", "nextStep4": "4. Completa le traduzioni mancanti:", "nextStep5": "5. Genera un rapporto di riepilogo:", "nextStep6": "6. Revisione e finalizzazione delle traduzioni:", "generating": "Generazione del rapporto di riepilogo in corso...", "review": "Revisione delle traduzioni...", "finalizing": "Finalizzazione delle traduzioni...", "finalized": "Finalizzato con successo!", "warnings": "Avvertenze:", "completedKeys": "Chiavi completate:", "missingKeys": "Chiavi mancanti:", "partialKeys": "Chiavi parziali:", "home": "Casa", "settings": "Impostazioni", "startingSettings": "🎛️ Avvio della CLI delle impostazioni...", "confirm": "Confermare", "errorExiting": "Errore durante l'uscita." }, "errors": { "invalidOption": "❌ Opzione non valida: {option}. Per favore riprova.", "readlineClosed": "Il flusso di input è chiuso; in esecuzione in modalità non interattiva.", "noPackageJson": "Nessun pacchetto.json trovato. Impossibile rilevare automaticamente il framework i18n.", "noI18nDir": "Nessuna directory i18n trovata nella root del progetto.", "noI18nConfig": "Nessun file di configurazione i18n trovato nella root del progetto.", "errorReadingDebugLogs": "Errore durante la lettura dei log di debug: {error}" }, "scanner": { "help_message": "Utilizzo dello scanner di testo I18n: nodo i18ntk-scanner.js [opzioni] Opzioni: --source-dir <dir> Directory di origine da scansionare (impostazione predefinita: ./src) --output <file> File di output per i risultati della scansione (impostazione predefinita: ./i18ntk-scanner-report.json) --framework <name> Framework da target (react, vue, angular, vanilla) --patterns <patterns> Modelli regex personalizzati (separati da virgole) --include-tests Includi file di test nella scansione --exclude-dirs <dirs> Directory da escludere (separate da virgole) --help Mostra questo aiuto Esempi: node i18ntk-scanner.js --source-dir=./src --framework=react node i18ntk-scanner.js --patterns 'console.log\\((.*?)\\)' --include-tests node i18ntk-scanner.js --output=./scan-results.json", "help_options": { "source_dir": "Directory di origine per la scansione dei problemi i18n", "output_dir": "Directory per i rapporti e i risultati della scansione", "framework": "Framework di destinazione (react, vue, angular, vanilla)", "patterns": "Modelli regex personalizzati per il rilevamento del testo", "exclude": "Modelli di file da escludere dalla scansione", "output_report": "Genera un rapporto di scansione dettagliato", "min_length": "Lunghezza minima del testo da considerare per la traduzione", "max_length": "Lunghezza massima del testo da considerare per la traduzione", "include_tests": "Includere file di prova nel processo di scansione" }, "starting": "🔍 Avvio dello scanner di testo per il framework: {framework}", "sourceDirectory": "📁 Directory di scansione: {sourceDir}", "frameworkDetected": "🎯 Quadro rilevato: {framework}", "scanningFiles": "📊 Scansione {fileCount} file...", "foundTexts": "📝 Trovato {textCount} testi che necessitano di traduzione", "generatingReport": "📊 Generazione di un rapporto dettagliato...", "reportSaved": "💾 Rapporto di scansione salvato in: {reportPath}", "noTextsFound": "✅ Nessun testo inglese codificato trovato", "scanComplete": "🎉 Scansione completata con successo!", "analysisTitle": "🔍 ANALISI SCANSIONE DELLA TRADUZIONE", "fileSummary": "📄 {file}: {count} testi trovati", "textLocation": "📍Linea {line}: {text}", "foundText": "Trovato {count} potenziali istanze di testo hardcoded", "context": "📝 Contesto: {context}", "severity": "⚠️ Gravità: {severity}", "recommendation": "💡 Raccomandazione: {recommendation}", "welcome": { "title": "🎯 Benvenuto nello scanner di testo!", "description": "Questo strumento esegue la scansione del codice sorgente alla ricerca di testo inglese codificato che potrebbe richiedere una traduzione." }, "frameworkPrompt": { "title": "🎯 Seleziona Quadro", "available": "Framework disponibili: react, vue, angular, vanilla", "description": "Inserisci il tipo di framework (o premi Invio per il rilevamento automatico):", "input": "Struttura:" }, "directoryPrompt": { "title": "📁 Seleziona Directory di origine", "current": "Directory corrente: {dir}", "description": "Immettere la directory da scansionare (o premere Invio per quella corrente):", "input": "Rubrica:" }, "options": { "includeTests": "Includere file di test?", "excludeDirs": "Directory da escludere (separate da virgole):", "customPatterns": "Modelli personalizzati da scansionare (regex):" }, "reportGenerated": "Rapporto di scansione generato: {path}" }, "fixer": { "help_message": "Utilizzo del Fixer traduzione I18n: nodo i18ntk-fixer.js [opzioni] Opzioni: --source-dir <dir> Directory di origine da scansionare (impostazione predefinita: ./locales) --linguals <langs> Elenco di lingue separate da virgole da correggere --markers <markers> Indicatori separati da virgole da considerare come non tradotti --no-backup Salta la creazione automatica del backup --help Mostra questo aiuto Esempi: node i18ntk-fixer.js --linguals de,fr node i18ntk-fixer.js --source-dir=./locales --markers NOT_TRANSLATED node i18ntk-fixer.js --no-backup", "starting": "🚀 Avvio della correzione della traduzione per le lingue: {languages}", "sourceDirectory": "📁 Directory di origine: {sourceDir}", "sourceLanguage": "🔤 Lingua di partenza: {sourceLanguage}", "markers": "🏷️ Marker da sistemare: {markers}", "scanningLanguage": "📊 Scansione {language}...", "noLanguages": "❌ Nessuna lingua specificata per la correzione.", "allComplete": "🎉 Tutte le traduzioni sono già complete!", "fullReportSaved": "📊 Rapporto completo salvato in: {reportPath}", "reviewReport": "Si prega di rivedere il rapporto prima di procedere.", "backupCreated": "💾 Backup creato con successo.", "applyingFixes": "🔄 Applicazione delle correzioni...", "fixingComplete": "✅ Correzione della traduzione completata!", "operationCancelled": "❌Operazione annullata dall'utente.", "analysisTitle": "🔍ANALISI DELLA FISSAZIONE DELLA TRADUZIONE", "analysisSeparator": "==================================================", "totalIssues": "Problemi totali rilevati: {totalIssues}", "missingTranslations": "Traduzioni mancanti: {missing}", "placeholderTranslations": "Traduzioni dei segnaposto: {placeholder}", "noIssues": "✅ Nessun problema riscontrato. Tutte le traduzioni sono complete.", "detailedIssues": "📋 DETAILED ISSUES:", "detailedSeparator": "--------------------------------------------------", "filePath": "📄 {file} → {path}", "missingKey": "❌ MANCANO: {source} → {new}", "placeholderKey": "⚠️ SEGNAPOSTO: \"{target}\" → \"{new}\"", "moreIssues": "... E {count} più problemi. Controlla il file del rapporto per i dettagli completi.", "confirmationTitle": "🤔 Vuoi procedere con queste correzioni?", "confirmationOptions": "Opzioni:", "optionYes": "y - Sì, applica tutte le correzioni", "optionNo": "n - No, annulla l'operazione", "optionShow": "s: mostra i problemi dettagliati", "choicePrompt": "La tua scelta (sì/n/s):", "nonInteractiveMode": "⚡ Rilevata modalità non interattiva: applicazione automatica delle correzioni...", "reportGenerated": "📊 Report del riparatore generato: {path}", "summary": "Riepilogo del riparatore:", "welcome": { "title": "🎯 Benvenuto in Translation Fixer!", "description": "Questo strumento ti aiuterà a correggere traduzioni e segnaposto interrotti nei file locali." }, "markerPrompt": { "title": "🏷️ Configura i marcatori segnaposto", "description": "Inserisci gli indicatori che indicano il testo non tradotto (separato da virgole):", "currentDefaults": "Indicatori predefiniti: {markers}", "input": "Marker (o premere Invio per le impostazioni predefinite):" }, "languagePrompt": { "title": "🌍 Seleziona le lingue da correggere", "available": "Lingue disponibili: {languages}", "description": "Inserisci le lingue da correggere (separate da virgole) o premi Invio per tutte:", "input": "Lingue:", "noLanguages": "Nessuna lingua trovata da correggere." }, "directoryPrompt": { "title": "📁 Seleziona Rubrica", "current": "Directory corrente: {dir}", "description": "Inserisci la directory contenente i file locali (o premi Invio per quelli correnti):", "input": "Rubrica:" }, "backupLocation": "Posizione del backup: {dir}", "completed": "Correzione completata.", "creatingBackup": "Creazione del backup in {dir}...", "dryRunMode": "Modalità di funzionamento a secco: {mode}", "error": "Il riparatore non è riuscito: {error}", "fixing": "Fissaggio {language}...", "foundLanguages": "Trovato {count} lingue: {languages}", "languageFixed": "{language}: fisso {fixed} tasto/i saltato {skipped}.", "running": "Esecuzione del correttore di traduzione...", "totalFixed": "Totale fisso: {count}" }, "autorun": { "stepAnalyzeTranslations": "Analizzare le traduzioni", "stepCompletedWithIcon": "✅ Completato: {stepName}", "stepValidateTranslations": "Convalida le traduzioni", "stepRunning": "▶️ Passo {stepNumber}/{totalSteps}: {stepName}", "separator": "==================================================", "stepFailed": "❌ Non riuscito: {stepName}", "errorLabel": "Errore", "autoRunScriptTitle": "🧪 Flusso di lavoro con esecuzione automatica", "usageTitle": "Utilizzo", "runAllSteps": "Esegui: nodo i18ntk-autorun.js", "configureSettingsFirst": "Configurazione: i18ntk-config.json o flag CLI", "runSpecificSteps": "Utilizza --steps=1,3 o --list per mostrare i passaggi", "showHelp": "--aiuto per maggiori informazioni", "examplesTitle": "Esempi", "configExample": "nodo i18ntk-autorun.js --ui-lingual=zh", "stepsExample1": "nodo i18ntk-autorun.js --steps=analyze,validate", "stepsExample2": "nodo i18ntk-autorun.js --list", "customSettingsConfiguration": "Impostazioni di esecuzione automatica personalizzate", "availableSteps": "Passaggi disponibili", "startingAutoRunWorkflow": "🚀 Avvio del flusso di lavoro con esecuzione automatica...", "workflowIncludesSteps": "Il flusso di lavoro include {count} passaggi:", "missingRequiredFile": "File richiesto mancante: {file}", "workflowStopped": "Il flusso di lavoro è stato interrotto a causa di un errore.", "workflowCompleted": "🎉 Flusso di lavoro completato!", "successfulSteps": "Passaggi riusciti: {count}", "failedSteps": "Passaggi non riusciti: {count}", "stepInitializeProject": "Inizializza progetto", "stepCheckUsage": "Controlla l'utilizzo della chiave", "stepGenerateSummary": "Genera un rapporto di riepilogo", "runInitializationFirst": "Eseguire prima l'inizializzazione.", "initializationCheckPassed": "Controllo di inizializzazione superato.", "runningStep": "Fase di esecuzione: {stepName}", "commandLabel": "Comando: {command}", "stepCompletedWithTime": "Fare un passo '{stepName}' completato dentro {duration}SM.", "stepCompleted": "Fare un passo '{stepName}' completato.", "stepFailedWithError": "Fare un passo '{stepName}' fallito con errore: {error}", "requiredStepFailed": "Passaggio obbligatorio non riuscito. Interruzione del flusso di lavoro.", "optionalStepFailed": "Passaggio facoltativo non riuscito. Flusso di lavoro continuo.", "stepRequired": "(Necessario)", "stepOptional": "(Opzionale)", "startingExecution": "Avvio dell'esecuzione...", "pressEnterToContinue": "Premi Invio per continuare...", "runningSelectedSteps": "Esecuzione dei passaggi selezionati...", "invalidStepNumber": "Numero di passaggio non valido: {stepNum}", "executionReport": "Rapporto di esecuzione:", "requiredFailedSteps": "I passaggi richiesti non sono riusciti: {count}", "stepDetails": "Dettagli del passaggio:", "reportSavedTo": "Rapporto salvato in: {path}", "overallStatusSuccess": "SUCCESS", "overallStatusFailed": "FAILED", "overallStatus": "Stato generale: {status}", "pressEnterForDefaults": "Premere Invio per utilizzare le impostazioni predefinite per qualsiasi prompt.", "sourceDirPrompt": "Inserisci la directory di origine (impostazione predefinita: {default}):", "sourceLangPrompt": "Inserisci la lingua di origine (predefinita: {default}):", "targetLangsPrompt": "Inserisci le lingue di destinazione (separate da virgole, impostazione predefinita: {default}):", "translationMarkerPrompt": "Inserisci l'indicatore di traduzione (predefinito: {default}):", "outputDirPrompt": "Inserisci la directory di output per i report (impostazione predefinita: {default}):", "settingsUpdatedSuccessfully": "Impostazioni aggiornate con successo!", "errorConfiguringSettings": "Errore durante la configurazione delle impostazioni: {error}", "configurationComplete": "Configurazione completata.", "runAutoRunCommand": "Ora puoi eseguire il comando di esecuzione automatica.", "configurationFailed": "Configurazione non riuscita: {error}", "noValidStepNumbers": "Nessun numero di passaggio valido fornito.", "autoRunFailed": "Esecuzione automatica non riuscita: {error}", "stepCompleteTranslations": "Traduzioni complete", "stepAnalyzeSizing": "Analizza il dimensionamento", "stepCompletedIcon": "✅", "stepRunningWithNumber": "[{stepNumber}/{totalSteps}] Fare un passo '{stepName}' corsa...", "stepFailedIcon": "❌", "translationLoadWarning": "Avviso: impossibile caricare {lang} traduzioni", "configReadError": "Errore durante la lettura {file}" }, "analyze": { "help_message": "Utilizzo dell'analizzatore di traduzione I18n: nodo i18ntk-analyze.js [opzioni] Opzioni: --source-dir <dir> Directory di origine da scansionare (impostazione predefinita: ./src) --i18n-dir <dir> Directory I18n (default: ./src/locales) --output-report Genera report dettagliato --output-dir <dir> Directory di output per i report (impostazione predefinita: ./reports) --help Mostra questo aiuto Esempi: node i18ntk-analyze.js --output-report node i18ntk-analyze.js --source-dir=./app --i18n-dir=./locales node i18ntk-analyze.js --output-dir=./analysis --output-report", "source_directory": "📁 Directory di origine: {sourceDir}", "i18n_directory": "🌐 Rubrica I18n: {i18nDir}", "loading_translation_files": "📋 Caricamento dei file di traduzione...", "sourceDirectoryLabel": "📁 Directory di origine: {sourceDir}", "sourceLanguageLabel": "🌍 Lingua originale: {sourceLanguage}", "strictModeLabel": "⚙️ Modalità rigorosa: {mode}", "found_translation_files_count": "✅Trovato {count} file di traduzione", "analyzing_translations": "🔍 Analizzando le traduzioni...", "analysis_completed_successfully": "🎉 Analisi completata con successo!", "analysis_results": "📊 ANALYSIS RESULTS", "language_analysis_stats": "{language}: {translatedKeys}/{totalKeys} ({percentage}% tradotto)", "sample_missing_keys": "Esempio di chiavi mancanti:", "missing_key": "- {key}", "and_more_missing": "...E {count} Di più.", "sample_unused_keys": "Chiavi inutilizzate di esempio:", "unused_key": "- {key}", "and_more_unused": "...E {count} Di più.", "recommendations": "📋 RACCOMANDAZIONI", "add_missing_translations": "💡 Aggiungi le traduzioni mancanti per migliorare la copertura.", "remove_unused_translations": "💡 Rimuovi le traduzioni inutilizzate per mantenere pulito il tuo progetto.", "next_steps": "📋 NEXT STEPS", "review_analysis_results": "1. Esaminare i risultati dell'analisi nella console o nel report generato.", "run_with_output_report": "2. Esegui con --output-report per un rapporto dettagliato.", "add_or_remove_translations": "3. Aggiungi le traduzioni mancanti o rimuovi quelle inutilizzate.", "rerun_analysis": "4. Eseguire nuovamente l'analisi per verificare i miglioramenti.", "analysis_summary": "📊 ANALYSIS SUMMARY", "source_files_scanned": "File di origine scansionati: {fileCount}", "translation_files_checked": "File di traduzione controllati: {translationFileCount}", "total_keys": "Chiavi totali: {totalKeys}", "translated_keys": "Chiavi tradotte: {translatedKeys}", "missing_keys": "Chiavi mancanti: {missingKeys}", "unused_keys": "Chiavi non utilizzate: {unusedKeys}", "translation_coverage": "Copertura della traduzione: {coverage}%", "analysis_passed_for_language": "✅Analisi superate {language}", "analysis_failed_for_language": "❌ Analisi fallita per {language} ({missingKeys} mancante, {unusedKeys} inutilizzato)", "starting": "🔍 Avvio dell'analisi della traduzione...", "foundLanguages": "📋 Trovato {count} lingue da analizzare: {languages}", "analyzing": "🔄 Analizzando {language}...", "reportTitle": "📊 RAPPORTO DI ANALISI DELLA TRADUZIONE", "generated": "generato: {timestamp}", "status": "Stato: {translated}/{total} chiavi ({percentage}% tradotto)", "filesAnalyzed": "File analizzati: {analyzed}/{total}", "keysNeedingTranslation": "Chiavi da tradurre: {count}", "fileBreakdown": "📋 RIPARTIZIONE DEL FILE", "error": "Errore", "completed": "✅ Analisi completata per {language}", "progress": "📊 Progressi complessivi: {translated}/{total} lingue elaborate", "reportSaved": "Rapporto salvato: {reportPath}", "summary": "📊 ANALYSIS SUMMARY", "finished": "✅ Analisi completata con successo!", "statusFileMissing": "❌ Manca il file di traduzione", "sourceKeys": "📊 Chiavi sorgente: {count}", "translation": "📊 Traduzione: {translated}/{total} ({percentage}%)", "structure": "🗂️ Struttura: {status}", "consistent": "Coerente", "inconsistent": "Incoerente", "missingKeys": "Chiavi mancanti: {count}", "extraKeys": "Chiavi aggiuntive: {count}", "issues": "⚠️ Problemi riscontrati: {count}", "issueType": { "not_translated": "Non tradotto: {count}", "empty_value": "Valori vuoti: {count}", "partial_translation": "Traduzioni parziali: {count}", "format_mismatch": "Mancate corrispondenze di formato: {count}", "type_mismatch": "Mancate corrispondenze di tipo: {count}", "structure_mismatch": "Disadattamenti della struttura: {count}", "same_as_source": "Uguale alla fonte: {count}" }, "keysToTranslate": "📋 CHIAVI PER TRADURRE", "key": "Chiave", "english": "Inglese", "needsTranslation": "NECESSITA DI TRADUZIONE", "andMoreKeys": "...E {count} più chiavi.", "noLanguages": "⚠️ Nessuna lingua di destinazione trovata.", "languageStats": "{language}: {percentage}% completato ({translated}/{total} chiavi)", "invalidReportFilePath": "Percorso del file di rapporto non valido", "failedToWriteReportFile": "Impossibile scrivere il file del rapporto in modo sicuro" }, "complete": { "configLoadedSuccessfully": "Configurazione caricata correttamente", "configLoadingFailed": "Caricamento della configurazione non riuscito", "sourceLanguageNotFound": "Directory della lingua di origine non trovata: {sourceLanguage}", "couldNotParseTarget": "Impossibile analizzare il file di destinazione: {file}", "couldNotParseSource": "Impossibile analizzare il file di origine: {file}", "reportGenerated": "Rapporto generato: {path}", "generateReportPrompt": "Desideri che venga generato un report?", "title": "🌍 COMPLETAMENTO DELLA TRADUZIONE I18NTK", "separator": "============================================================", "sourceDir": "📁 Directory di origine: {sourceDir}", "sourceLanguage": "🌐 Lingua di partenza: {sourceLanguage}", "dryRunMode": "🧪 Modalità prova: non verranno apportate modifiche", "languages": "🌍 Lingue disponibili: {languages}", "addingMissingKeys": "➕ Aggiunta delle chiavi mancanti ai file di traduzione...", "processing": "🔄 Elaborazione {language}...", "addedKeys": "✅ Aggiunto {count} chiavi mancanti", "noChangesNeeded": "✅ Non sono necessarie modifiche per {language}", "summaryTitle": "📊 RIEPILOGO COMPLETAMENTO", "totalChanges": "📝 Modifiche totali: {totalChanges}", "languagesProcessed": "🌍 Lingue trattate: {languagesProcessed}", "missingKeysAdded": "➕ Chiavi mancanti aggiunte: {missingKeysAdded}", "nextStepsTitle": "📋 NEXT STEPS", "nextStep1": "1. Esegui l'analisi dell'utilizzo:", "nextStep2": "nodo i18ntk-usage.js --output-report", "nextStep3": "2. Convalida delle traduzioni:", "nextStep4": "nodo i18ntk-validate.js", "nextStep5": "3. Analizza i modelli:", "nextStep6": "nodo i18ntk-analyze.js", "allKeysAvailable": "🎉 Tutte le chiavi di traduzione sono ora disponibili!", "runWithoutDryRun": "💡 Esegui senza --dry-run per applicare le modifiche", "deletingOldReport": "🗑️ Eliminazione del vecchio report...", "generatingFreshAnalysis": "📊 Generazione di nuove analisi sull'utilizzo...", "couldNotGenerate": "❌ Impossibile generare l'analisi dell'utilizzo", "reportNotFound": "📋 Rapporto sull'utilizzo non trovato. Utilizzo delle chiavi comuni...", "foundMissingKeys": "📋 Trovato {count} chiavi mancanti dall'analisi dell'utilizzo", "couldNotParse": "❌ Impossibile analizzare il rapporto sull'utilizzo. Utilizzo delle chiavi comuni...", "errorDuringCompletion": "❌ Errore durante il completamento: {error}", "fatalError": "❌ Errore fatale: {error}", "configurationValidationFailed": "Convalida della configurazione non riuscita: campi obbligatori mancanti" }, "sizing": { "separator": "================================================================================", "lineSeparator": "--------------------------------------------------------------------------------", "analysisStats": "{stats}", "sourceDirectoryLabel": "📁 Directory di origine: {sourceDir}", "sourceLanguageLabel": "🌍 Lingua di partenza: {sourceLanguage}", "strictModeLabel": "⚙️ Modalità rigorosa: {mode}", "invalidSourceDirectoryError": "Percorso della directory di origine non valido: {sourceDir}", "sourceDirectoryNotFoundError": "Directory di origine non trovata: {sourceDir}", "invalidOutputDirectoryError": "Percorso della directory di output non valido: {outputDir}", "invalidReportFileError": "Percorso del file di rapporto non valido", "problematic_keys": "Tasti problematici: {problematicKeys}", "problematicKeysLabel": "Tasti problematici: {problematicKeys}", "long_translations": "Traduzioni lunghe: {longTranslations}", "failedToSaveReportError": "Impossibile salvare il rapporto in modo sicuro", "invalidCsvFileError": "Percorso file CSV non valido", "failedToSaveCsvError": "Impossibile salvare il rapporto CSV in modo sicuro", "fatalError": "❌ Analisi dimensionale fallita: {error}", "starting_i18n_sizing_analysis": "Avvio dell'analisi del dimensionamento i18n...", "source_directory": "Directory di origine: {sourceDir}", "found_languages": "Lingue trovate: {languages}", "analyzing_file_sizes": "Analisi delle dimensioni dei file in corso...", "analyzing_translation_content": "Analisi del contenuto della traduzione...", "generating_size_comparisons": "Generazione confronti di dimensioni in corso...", "no_languages_found_for_comparison": "Nessuna lingua trovata per il confronto", "sizing_analysis_results": "Risultati dell'analisi del dimensionamento I18n", "file_sizes_title": "Dimensioni dei file", "file_sizes_header": "Dimensioni lingua (KB) Righe Caratteri", "file_size_row": "{lang} {sizeKB} {lines} {characters}", "language_statistics_title": "Statistiche della lingua", "language_stats_header": "Tasti lingua Caratteri Lunghezza media Lunghezza massima Vuoto Lungo", "language_stats_row": "{lang} {totalKeys} {totalCharacters} {averageKeyLength} {maxKeyLength} {emptyKeys} {longKeys}", "size_variations_title": "Variazioni di dimensioni", "size_variations_header": "Lingua Char Diff % Diff Problema", "size_variation_row": "{lang} {characterDifference} {percentageDifference}% {problematic}", "problematic_yes": "SÌ", "problematic_no": "NO", "recommendations_title": "Raccomandazioni", "recommendation_item": "{index}. {recommendation}", "problematic_key_detail": "{index}. Chiave: '{key}' - Variazioni: {variations}", "generating_detailed_report": "Generazione del rapporto dettagliato...", "keysHaveSignificantSizeVariations": "le chiavi presentano variazioni di dimensioni significative", "longTranslationsDetected": "${lang} ha traduzioni ${data.longKeys} più lunghe di 100 caratteri: valuta la possibilità di suddividerle", "longer": "più a lungo", "shorter": "più breve", "review_translations": "Considera la possibilità di rivedere {lang} traduzioni - lo sono {percentageDifference}% {comparison} rispetto al basale", "report_saved_to": "Rapporto salvato in: {reportPath}", "considerReviewingTranslations": "Considera la possibilità di rivedere ${lang} traduzioni: sono ${data.percentageDifference}% più lunghe rispetto alla linea di base", "csv_report_saved_to": "Rapporto CSV salvato in: {csvPath}", "human_report_saved": "Rapporto leggibile salvato: {reportPath}", "folder_summary_title": "Riepilogo della cartella", "folder_summary_table_header": "Dimensione lingua (KB) Chiavi Lunghezza media Caratteri totali", "folder_summary_row": "{lang} {sizeKB} {totalKeys} {avgLength} {totalChars}", "language_comparison_title": "Confronto linguistico", "language_comparison_row": "{lang}: {diff} caratteri ({percent}%) {status}", "summary_stats": "📊 Riepilogo: {totalLanguages} lingue, {totalKeys} tasti: report salvati in {reportPath}", "detailedKeysDescription": "Mostra un'analisi dettagliata a livello di chiave nella console", "too_many_keys_warning": "⚠️ Troppi tasti da visualizzare nella console: controlla il file del rapporto dettagliato per un'analisi completa", "no_translation_files_found": "Nessun file di traduzione trovato", "analysis_completed": "Analisi completata nel {duration}SM", "analysis_failed": "Analisi fallita: {errorMessage}", "starting_analysis": "Inizio analisi...", "found_files": "Trovato {count} file", "failed_to_parse_language_error": "Impossibile analizzare {language} traduzioni: {errorMessage}", "recommendations": { "keys_have_significant_size_variations": "le chiavi presentano variazioni di dimensioni significative", "consider_reviewing_translations": "Considera la possibilità di rivedere {lang} traduzioni - lo sono {percentageDifference}% {comparison} rispetto al basale", "long_translations_detected": "{lang} ha {longKeys} traduzioni più lunghe di {threshold} personaggi: considera la possibilità di scomporli" }, "detailed_key_analysis_title": "Analisi chiave dettagliata", "key_analysis_detail": "{lang}: {length} caratteri ({status}) - {translation}", "key_analysis_header": "Chiave: {key}", "status_empty": "vuoto", "status_long": "lungo", "status_ok": "OK" }, "usage": { "help_message": "Utilizzo dell'analizzatore di utilizzo I18n: nodo i18ntk-usage.js [opzioni] Opzioni: --source-dir <dir> Directory di origine da scansionare (impostazione predefinita: ./src) --i18n-dir <dir> Directory I18n (default: ./src/locales) --output-report Genera report dettagliato --output-dir <dir> Directory di output per i report (impostazione predefinita: ./reports) --help Mostra questo aiuto Esempi: node i18ntk-usage.js --output-report node i18ntk-usage.js --source-dir=./app --i18n-dir=./locales node i18ntk-usage.js --output-dir=./analysis --output-report", "source_directory_thissourcedir": "📁 Directory di origine: {sourceDir}", "translationCompletenessTitle": "🌍 Completezza della traduzione:", "i18n_directory_thisi18ndir": "🌐 Rubrica I18n: {i18nDir}", "failed_to_parse_filename_error": "⚠️ Impossibile analizzare {fileName}: {errorMessage}", "analyzing_source_files": "🔍 Analisi dei file sorgente...", "found_files_in_source": "📂 Trovato {numFiles} file nella directory di origine", "found_thisusedkeyssize_unique_": "🎯 Trovato {usedKeysSize} chiavi usate univoche", "total_key_usages_totalkeysfoun": "📊 Totale utilizzi chiave: {totalKeysFound}", "loading_available_translation_": "📋 Caricamento delle chiavi di traduzione disponibili...", "found_thisavailablekeyssize_av": "✅Trovato {availableKeysSize} chiavi disponibili", "foundTranslationFiles": "✅Trovato {count} file di traduzione", "errorReadingI18nDirectory": "⚠️ Errore durante la lettura della directory i18n: {error}", "pressEnterToReturnToMenu": "📝 Premi Invio per tornare al menu principale...", "notTranslatedKeysTotal": "⚠️ Chiavi non tradotte: {total}", "noSourceFilesFound": "⚠️ Nessun file sorgente trovato nella directory sorgente.", "reviewNotTranslatedKeys": "💡 Chiavi della recensione non tradotte", "analysisCompletedSuccessfully": "🎉 Analisi completata con successo!", "detectedSourceDirectory": "Directory di origine rilevata: {sourceDir}", "detectedI18nDirectory": "Directory i18n rilevata: {i18nDir}", "fileInfo": "📄 {namespace}: {keys} chiavi", "failedToAnalyzeUsage": "❌ Impossibile analizzare l'utilizzo: {error}", "failedToAnalyzeFile": "❌ Impossibile analizzare il file: {error}", "failedToExtractKeys": "❌ Impossibile estrarre le chiavi da {filePath}: {error}", "analysisFailedError": "❌ Analisi fallita: {error}", "analyzerInitialized": "Analizzatore inizializzato", "analyzerInitFailed": "Inizializzazione dell'analizzatore non riuscita: {error}", "argsParsed": "Argomenti analizzati", "processedFiles": "Elaborato {processedFiles} Di {totalFiles} file.", "argsParseFailed": "Analisi dell'argomento non riuscita: {error}", "translationDiscoveryError": "Errore di rilevamento della traduzione: {error}", "fileTraversalError": "Errore di attraversamento del file: {error}", "sourceEqualsI18nWarn": "{reason}. L'analisi dell'utilizzo non analizzerà i file locali come codice sorgente.", "i18nEqualsSourceWarn": "⚠️ La directory I18n e la directory dei sorgenti sono le stesse. Ciò potrebbe causare problemi con l'analisi.", "usageAnalysisFailed": "⚠️ Analisi dell'utilizzo non riuscita: {error}", "translationFileParseError": "⚠️ Errore di analisi del file di traduzione: {error}", "translationKeysLoadError": "⚠️ Errore di caricamento delle chiavi di traduzione: {error}", "languageCompletenessStats": "🌐 {language}: {translated}/{total} ({completeness}% tradotto)", "missingKeysCount": "⚠️ Chiavi mancanti: {count}", "analyzingTranslationCompleteness": "Analisi della completezza della traduzione...", "unusedKeysCount": "Chiavi non utilizzate: {count}", "usedKeysCount": "Chiavi usate: {count}", "availableKeysCount": "Chiavi disponibili: {count}", "analysisResults": "Risultati dell'analisi:", "i18nDirectoryNotFound": "⚠️ Directory I18n non trovata. Si prega di controllare il percorso.", "sourceDirectoryNotFound": "⚠️ Directory di origine non trovata: {dir}", "checkUsage": { "title": "🔍 I18NTK USAGE ANALYSIS", "analyzing_source_files": "🔍 Analisi dei file sorgente...", "source_directory_thissourcedir": "📁 Directory di origine: {sourceDir}", "i18n_directory_thisi18ndir": "📁 Rubrica i18n: {i18nDir}", "found_files_in_source": "✅Trovato {numFiles} file nella directory di origine", "no_source_files_found": "⚠️ Nessun file sorgente trovato nella directory specificata", "processedFiles": "📊 Elaborato {processedFiles} Di {totalFiles} file", "failedToProcessFile": "❌ Elaborazione non riuscita", "found_thisusedkeyssize_unique_": "🔍Trovato {usedKeysSize} chiavi usate univoche", "total_key_usages_totalkeysfoun": "📊 Totale utilizzi chiave: {totalKeysFound}", "loading_available_translation_": "📂 Caricamento delle chiavi di traduzione disponibili...", "found_thisavailablekeyssize_av": "✅Trovato {availableKeysSize} chiavi disponibili", "message": "Analisi dell'utilizzo della chiave di traduzione nel progetto...", "usage_analysis_results": "📊 USAGE ANALYSIS RESULTS", "source_files_scanned_thisfileu": "📁 File di origine scansionati: {fileUsageSize}", "available_translation_keys_thi": "✅ Chiavi di traduzione disponibili: {availableKeysSize}", "used_translation_keys_thisused": "🔍 Chiavi di traduzione utilizzate: {usedKeysSize}", "dynamic_keys_detected_dynamick": "⚡ Tasti dinamici rilevati: {dynamicKeysLength}", "unused_keys_unusedkeyslength": "🗑️ Chiavi non utilizzate: {unusedKeysLength}", "missing_keys_missingkeyslength": "❌ Chiavi mancanti: {missingKeysLength}", "translation_completeness_title": "📈 COMPLETEZZA DELLA TRADUZIONE", "language_completeness_stats": "{language}: {translated}/{total} chiavi ({percentage}%)", "n_sample_unused_keys": "🗑️ ESEMPIO DI CHIAVI NON UTILIZZATE (le prime 5):", "key": "🔑 {key}", "and_unusedkeyslength_5_more": "... E {count} più chiavi inutilizzate", "n_sample_missing_keys": "❌ ESEMPIO DI CHIAVI MANCANTI (prime 5):", "and_missingkeyslength_5_more": "... E {count} altre chiavi mancanti", "n_generating_detailed_report": "📊 Generazione di un rapporto dettagliato...", "report_saved_reportpath": "📄 Rapporto salvato: {reportPath}", "n_recommendations": "💡 RACCOMANDAZIONI:", "consider_removing_unused_trans": "🗑️ Valuta la possibilità di rimuovere le traduzioni inutilizzate per ridurre le dimensioni del pacchetto", "add_missing_translation_keys_t": "➕ Aggiungi le chiavi di traduzione mancanti per mantenere la coerenza", "review_dynamic_keys_manually_t": "🔍 Rivedi manualmente le chiavi dinamiche (potrebbero essere valide)", "all_translation_keys_are_prope": "✅ Tutte le chiavi di traduzione sono utilizzate correttamente!", "n_next_steps": "🎯 NEXT STEPS:", "2_check_the_detailed_report_fo": "2. Controlla il rapporto dettagliato per problemi specifici", "help_message": "Utilizzo dell'analizzatore di utilizzo I18n: nodo i18ntk-usage.js [opzioni] Opzioni: --source-dir <dir> Directory di origine da scansionare (impostazione predefinita: ./src) --i18n-dir <dir> Directory I18n (default: ./src/locales) --output-report Genera report dettagliato --output-dir <dir> Directory di output per i report (impostazione predefinita: ./reports) --help Mostra questo aiuto Esempi: node i18ntk-usage.js --output-report node i18ntk-usage.js --source-dir=./app --i18n-dir=./locales node i18ntk-usage.js --output-dir=./analysis --output-report", "1_review_the_analysis_results": "1. Esaminare i risultati dell'analisi nella console o nel report generato.", "2_run_with_outputreport_for_de": "2. Esegui con --output-report per un rapporto dettagliato.", "3_remove_unused_keys_or_add_mi": "3. Rimuovi le chiavi non utilizzate o aggiungi le chiavi mancanti al codice sorgente.", "4_rerun_analysis_to_verify_imp": "4. Eseguire nuovamente l'analisi per verificare i miglioramenti.", "noSourceFilesFound": "Nessun file sorgente trovato da analizzare.", "i18nDirectoryNotFound": "Directory I18n non trovata: {i18nDir}", "noTranslationLanguagesFound": "Nessuna lingua di traduzione trovata.", "failedToAnalyzeFile": "Impossibile analizzare il file {filePath}: {error}", "failedToAnalyzeLanguage": "Impossibile analizzare la lingua {language}: {error}", "translationCompletenessAnalysisFailed": "L'analisi della completezza della traduzione non è riuscita: {error}", "n": "\\N" }, "complete": { "configLoadedSuccessfully": "Configurazione caricata correttamente", "configLoadingFailed": "Caricamento della configurazione non riuscito", "title": "🌍 COMPLETAMENTO DELLA TRADUZIONE I18NTK", "separator": "============================================================", "sourceDir": "📁 Directory di origine: {sourceDir}", "sourceLanguage": "🌐 Lingua di partenza: {sourceLanguage}", "dryRunMode": "🧪 Modalità prova: non verranno apportate modifiche", "languages": "🌍 Lingue disponibili: {languages}", "addingMissingKeys": "➕ Aggiunta delle chiavi mancanti ai file di traduzione...", "processing": "🔄 Elaborazione {language}...", "addedKeys": "✅ Aggiunto {count} chiavi mancanti", "changeDetails": "📝 {file}: {key}", "andMore": "...E {count} Di più", "noChangesNeeded": "✅ Non sono necessarie modifiche per {language}", "summaryTitle": "📊 RIEPILOGO COMPLETAMENTO", "totalChanges": "📝 Modifiche totali: {totalChanges}", "languagesProcessed": "🌍 Lingue trattate: {languagesProcessed}", "missingKeysAdded": "➕ Chiavi mancanti aggiunte: {missingKeysAdded}", "nextStepsTitle": "📋 NEXT STEPS", "nextStep1": "1. Esegui l'analisi dell'utilizzo:", "nextStep2": "nodo i18ntk-usage.js --output-report", "nextStep3": "2. Convalida delle traduzioni:", "nextStep4": "nodo i18ntk-validate.js", "nextStep5": "3. Analizza i modelli:", "nextStep6": "nodo i18ntk-analyze.js", "allKeysAvailable": "🎉 Tutte le chiavi di traduzione sono ora disponibili!", "runWithoutDryRun": "💡 Esegui senza --dry-run per applicare le modifiche", "deletingOldReport": "🗑️ Eliminazione del vecchio report...", "generatingFreshAnalysis": "📊 Generazione di nuove analisi sull'utilizzo...", "couldNotGenerate": "❌ Impossibile generare l'analisi dell'utilizzo", "reportNotFound": "📋 Rapporto sull'utilizzo non trovato. Utilizzo delle chiavi comuni...", "foundMissingKeys": "📋 Trovato {count} chiavi mancanti dall'analisi dell'utilizzo", "couldNotParse": "❌ Impossibile analizzare il rapporto sull'utilizzo. Utilizzo delle chiavi comuni..." }, "noTranslationLanguagesFound": "Nessuna lingua di traduzione trovata", "failedToAnalyzeLanguage": "Impossibile analizzare la lingua", "translationCompletenessAnalysisFailed": "Analisi della completezza della traduzione non riuscita", "failedToProcessFile": "Impossibile elaborare il file:", "failedToSaveReport": "Impossibile salvare il rapporto sull'utilizzo: {error}", "i18nDirectoryDoesNotExist": "La directory I18n non esiste: {dir}", "reportSavedTo": "Rapporto sull'utilizzo salvato in: {reportPath}", "sourceDirectoryDoesNotExist": "La directory di origine non esiste: {dir}", "noSourceDirectoryConfigured": "(nessuno configurato)" }, "validate": { "help_message": "Utilizzo del validatore di traduzione I18n: nodo i18ntk-validate.js [opzioni] Opzioni: --source-dir <dir> Directory di origine da scansionare (impostazione predefinita: ./src) --i18n-dir <dir> Directory I18n (default: ./src/locales) --output-report Genera report dettagliato --output-dir <dir> Directory di output per i report (impostazione predefinita: ./reports) --help Mostra questo aiuto Esempi: node i18ntk-validate.js --output-report node i18ntk-validate.js --source-dir=./app --i18n-dir=./locales node i18ntk-validate.js --output-dir=./analysis --output-report", "title": "🔍 Validatore di traduzione I18n", "message": "Avvio del processo di convalida...", "sourceDirectory": "📁 Directory di origine: {dir}", "sourceLanguage": "🌍 Lingua di partenza: {sourceLanguage}", "strictMode": "⚙️ Modalità rigorosa: {mode}", "noTargetLanguages": "Nessuna lingua di destinazione configurata; saltare la convalida del target. Aggiungi lingue tramite \"i18ntk init --linguals=de,fr\".", "validatingLanguages": "🌍 Lingue di convalida: {langs}", "validatingLanguage": "🔍 Lingua di convalida: {lang}", "filesCount": "📄 File: {count}", "keysCount": "🔑 Chiavi: {count}", "missingFilesCount": "📁 File mancanti: {count}", "syntaxErrorsCount": "❌ Errori di sintassi: {count}", "translationPercentage": "🎯 Traduzione: {percentage}% ({translated}/{total} chiavi)", "validationSummary": "📊RIEPILOGO CONVALIDA", "validation_failed": "❌ Convalida non riuscita: {error}", "totalErrors": "❌ Errori totali: {count}", "totalWarnings": "⚠️ Avvisi totali: {count}", "errorsSection": "❌ ERRORS", "warningsSection": "⚠️ WARNINGS", "recommendationsSection": "💡 RACCOMANDAZIONI", "fixErrorsFirst": "1. Correggi prima tutti gli errori", "resolveMissingFilesAndSyntaxErrors": "1. Risolvi file mancanti ed errori di sintassi", "fixStructuralInconsistencies": "2. Correggere le incoerenze strutturali", "completeMissingTranslations": "3. Completa le traduzioni mancanti", "rerunValidation": "4. Eseguire nuovamente la convalida per verificare le correzioni", "addressWarnings": "Risolvere gli avvisi per migliorare la qualità", "reviewWarnings": "Esaminare gli avvisi e correggerli ove appropriato", "considerRunningWithStrict": "2. Considera l'esecuzione con il flag --strict per una convalida più rigorosa", "allValidationsPassed": "🎉 Tutte le convalide sono state superate!", "considerRunningUsageAnalysis": "Prendi in considerazione l'esecuzione di un'analisi dell'utilizzo: nodo i18ntk-usage.js", "deletedOldReport": "🗑️ Cancellato il vecchio report di validazione", "sourceDir": "📁 Directory di origine: {sourceDir}", "i18nDir": "🌐 Rubrica I18n: {i18nDir}", "loadingTranslationFiles": "📋 Caricamento dei file di traduzione...", "foundTranslationFilesCount": "✅Trovato {count} file di traduzione", "analyzingTranslations": "🔍 Analizzando le traduzioni...", "validationCompletedSuccessfully": "🎉 Convalida completata con successo!", "validationErrorsFound": "⚠️ Errori di convalida rilevati: {count}", "validationWarningsFound": "⚠️ Avvisi di convalida trovati: {count}", "validationPassed": "✅ Validazione superata senza errori", "validationFailed": "Convalida non riuscita: {error}", "startingValidationProcess": "🔍 Avvio del processo di convalida...", "validationProcessCompletedSuccessfully": "✅ Processo di convalida completato con successo", "stackTrace": "Traccia dello stack: {stack}", "authenticationFailed": "❌ Autenticazione fallita. Accesso negato.", "fatalValidationError": "❌ Errore irreversibile di convalida: {error}", "configAccess": "Accesso alla configurazione per la convalida", "configValidated": "Configurazione convalidata con successo", "configError": "Errore di configurazione: {error}", "validatorInit": "Inizializzazione del validatore I18n", "validatorInitialized": "Il validatore I18n è stato inizializzato correttamente", "validatorInitError": "Errore di inizializzazione del validatore: {error}", "argsParsing": "Analisi degli argomenti della riga di comando", "argsParsed": "Argomenti della riga di comando analizzati correttamente", "argsParseError": "Errore durante l'analisi dell'argomento: {error}", "languagesScan": "Scansione delle lingue disponibili", "languagesFound": "Trovato {count} lingue", "languagesScanError": "Errore di scansione della lingua: {error}", "filesScan": "Trovato {count} file in {language}", "filesScanError": "Errore di scansione del file: {error}", "jsonValidated": "Sintassi JSON convalidata: {filePath}", "jsonValidationError": "Errore di convalida JSON: {error}", "languageValidation": "Lingua di convalida: {language}", "languageValidationError": "Errore di convalida della lingua: {error}", "fileDeleted": "File eliminato", "runStarted": "Avvio dell'esecuzione di convalida", "runCompleted": "L'esecuzione di convalida è stata completata con successo", "runError": "Esecuzione di convalida non riuscita: {error}", "scriptExecution": "Esecuzione dello script", "validationCompleted": "Convalida completata", "validationError": "Errore di convalida: {error}", "separator": "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━", "languageHeader": "🌐 Lingua: {language}", "validationResults": "📊 Risultati della validazione", "noErrors": "✅ Nessun errore trovato", "noWarnings": "✅ Nessun avviso trovato", "summaryHeader": "📋 OVERALL SUMMARY", "progressIndicator": "⏳ Elaborazione...", "completedIndicator": "✅Comple