i18ntk
Version:
i18n Tool Kit - Zero-dependency internationalization toolkit for setup, scanning, analysis, validation, auto translation, fixing, reporting, and runtime translation loading.
744 lines (743 loc) • 224 kB
JSON
{
"meta": {
"version": "4.7.0",
"updated": "2026-07-07",
"lang": "el"
},
"common": {
"welcome": "Καλωσόρισμα",
"hello": "Γειά σου",
"goodbye": "Αντίο",
"yes": "Ναί",
"no": "Οχι",
"save": "Εκτός",
"cancel": "Ματαίωση",
"delete": "Διαγράφω",
"edit": "Εκδίδω",
"loading": "Φόρτωση...",
"offlineTitle": "Είστε εκτός σύνδεσης",
"offlineMessage": "Ελέγξτε τη σύνδεσή σας στο Διαδίκτυο",
"tryReconnect": "Προσπαθήστε να επανασυνδεθείτε",
"logout": "Αποσύνδεση",
"login": "Σύνδεση",
"amount": "Ποσό",
"success": "Επιτυχία",
"error": "Σφάλμα",
"warning": "Προειδοποίηση",
"info": "Πληροφορίες:",
"debug": "Εντοπισμός σφαλμάτων",
"progress": "Πρόοδος:",
"remaining": "Παραμένων:",
"total": "Σύνολο:",
"completed": "7. Ολοκληρώθηκε με επιτυχία!",
"missing": "Απών",
"partial": "Μερικός",
"sameAsSource": "Ίδιο με την πηγή:",
"formatMismatch": "Αναντιστοιχία μορφής:",
"typeMismatch": "Αναντιστοιχία τύπου:",
"structureMismatch": "Αναντιστοιχία δομής:",
"invalidOption": "Μη έγκυρη επιλογή",
"separator": "==================================================",
"initializationFailed": "❌ Η προετοιμασία απέτυχε: {error}",
"stackTrace": "Ίχνη στοίβας: {stack}",
"pressEnterToContinue": "Πατήστε Enter για να συνεχίσετε...",
"pressEnterToReturn": "Πατήστε Enter για να επιστρέψετε στο κύριο μενού...",
"stepCompleted": "Βήμα '{stepName}'ολοκληρώθηκε.",
"stepFailed": "Βήμα '{stepName}'Απέτυχε.",
"runningStep": "Βήμα τρεξίματος: {stepName}",
"command": "Εντολή: {command}",
"startingWorkflow": "Έναρξη ροής εργασιών...",
"workflowCompleted": "Η ροή εργασίας ολοκληρώθηκε.",
"checkReports": "Ελέγξτε τις αναφορές για λεπτομέρειες.",
"errorExecutingCommand": "Σφάλμα κατά την εκτέλεση της εντολής: {error}",
"genericError": "❌ Σφάλμα: {error}",
"errors": {
"errors": "Σφάλματα:",
"genericError": "❌ Σφάλμα: {error}",
"initializationFailed": "❌ Η προετοιμασία απέτυχε: {error}",
"initializationCancelled": "❌ Η αρχικοποίηση ακυρώθηκε από τον χρήστη.",
"translationKeyNotFound": "Δεν βρέθηκε το κλειδί μετάφρασης: {key}",
"sourceDirectoryNotFound": "Ο κατάλογος πηγής δεν βρέθηκε: {directory}",
"configLoadingFailed": "Η φόρτωση της διαμόρφωσης απέτυχε",
"invalidSourceDirectory": "Μη έγκυρος κατάλογος πηγής: {directory}",
"securityViolation": "Εντοπίστηκε παραβίαση ασφαλείας",
"authenticationFailed": "Ο έλεγχος ταυτότητας απέτυχε",
"sourceEqualsI18nWarn": "⚠️ sourceDir ισούται με i18nDir ({sourceDir}). Πέφτοντας πίσω στο {fallback} για σάρωση πηγής."
},
"errorGeneratingStatusSummary": "Σφάλμα κατά τη δημιουργία σύνοψης κατάστασης: {error}",
"errorRunningDebugTool": "Σφάλμα κατά την εκτέλεση του εργαλείου εντοπισμού σφαλμάτων \"{displayName}': {error}",
"errorReadingDebugLogs": "Σφάλμα κατά την ανάγνωση των αρχείων καταγραφής εντοπισμού σφαλμάτων: {error}",
"errorAnalyzingLogFile": "Σφάλμα κατά την ανάλυση του αρχείου καταγραφής: {error}",
"errorAnalyzingTranslationKeys": "Σφάλμα κατά την ανάλυση των κλειδιών μετάφρασης: {error}",
"errorAnalyzingTranslationCompleteness": "Σφάλμα κατά την ανάλυση της πληρότητας της μετάφρασης: {error}",
"analyzingTranslationCompleteness": "Ανάλυση της πληρότητας της μετάφρασης σε όλες τις γλώσσες...",
"i18nDirectoryNotFound": "⚠️ Ο κατάλογος i18n δεν βρέθηκε: {i18nDir}",
"translationCompletenessAnalysisFailed": "⚠️ Η ανάλυση πληρότητας μετάφρασης απέτυχε: {error}",
"failedToAnalyzeLanguage": "❌ Απέτυχε η ανάλυση της γλώσσας {language}: {error}",
"errorReadingI18nDirectory": "❌ Σφάλμα κατά την ανάγνωση του καταλόγου i18n:",
"languageCompletenessTitle": "📈 ΠΛΗΡΕΣΗ ΜΕΤΑΦΡΑΣΗΣ ΚΑΤΑ ΓΛΩΣΣΑ",
"errorAnalyzingTranslationFormat": "Σφάλμα κατά την ανάλυση της μορφής μετάφρασης: {error}",
"errorAnalyzingTranslationType": "Σφάλμα κατά την ανάλυση του τύπου μετάφρασης: {error}",
"errorAnalyzingTranslationStructure": "Σφάλμα κατά την ανάλυση της δομής μετάφρασης: {error}",
"errorAnalyzingTranslationFormatMismatch": "Σφάλμα ανάλυσης αναντιστοιχίας μορφής μετάφρασης: {error}",
"errorAnalyzingTranslationTypeMismatch": "Σφάλμα ανάλυσης αναντιστοιχίας τύπου μετάφρασης: {error}",
"errorAnalyzingTranslationStructureMismatch": "Σφάλμα ανάλυσης αναντιστοιχίας δομής μετάφρασης: {error}",
"errorAnalyzingTranslationSameAsSource": "Σφάλμα κατά την ανάλυση της μετάφρασης όπως η πηγή: {error}",
"title": "Κατάσταση",
"nextStep1": "1. Ελέγξτε την ανάλυση χρήσης:",
"nextStep2": "2. Επικύρωση μεταφράσεων:",
"nextStep3": "3. Αναλύστε την πληρότητα:",
"nextStep4": "4. Συμπληρώστε τις μεταφράσεις που λείπουν:",
"nextStep5": "5. Δημιουργία συνοπτικής αναφοράς:",
"nextStep6": "6. Ελέγξτε και οριστικοποιήστε τις μεταφράσεις:",
"generating": "Δημιουργία συνοπτικής αναφοράς...",
"review": "Έλεγχος μεταφράσεων...",
"finalizing": "Ολοκλήρωση μεταφράσεων...",
"finalized": "Ολοκληρώθηκε με επιτυχία!",
"warnings": "Προειδοποιήσεις:",
"completedKeys": "Ολοκληρωμένα κλειδιά:",
"missingKeys": "Λείπουν κλειδιά:",
"partialKeys": "Μερικά κλειδιά:",
"home": "Σπίτι",
"settings": "Ρυθμίσεις",
"startingSettings": "🎛️ Έναρξη ρυθμίσεων CLI...",
"confirm": "Επιβεβαιώνω",
"errorExiting": "Σφάλμα κατά την έξοδο."
},
"errors": {
"invalidOption": "❌ Μη έγκυρη επιλογή: {option}. Δοκιμάστε ξανά.",
"readlineClosed": "Η ροή εισόδου είναι κλειστή. τρέχει σε μη διαδραστική λειτουργία.",
"noPackageJson": "Δεν βρέθηκε πακέτο.json. Δεν είναι δυνατός ο αυτόματος εντοπισμός του πλαισίου i18n.",
"noI18nDir": "Δεν βρέθηκε κατάλογος i18n στη ρίζα του έργου.",
"noI18nConfig": "Δεν βρέθηκε αρχείο διαμόρφωσης i18n στη ρίζα του έργου.",
"errorReadingDebugLogs": "Σφάλμα κατά την ανάγνωση των αρχείων καταγραφής εντοπισμού σφαλμάτων: {error}"
},
"scanner": {
"help_message": "I18n Text Scanner Χρήση: node i18ntk-scanner.js [επιλογές] Επιλογές: --source-dir <dir> Κατάλογος προέλευσης για σάρωση (προεπιλογή: ./src) --έξοδος <file> Αρχείο εξόδου για αποτελέσματα σάρωσης (προεπιλογή: ./i18ntk-scanner-report.json) --framework <name> Πλαίσιο για στόχευση (react, vue, angular, vanilla) -- μοτίβα <patterns> Προσαρμοσμένα μοτίβα regex (χωρισμένα με κόμμα) --include-tests Συμπερίληψη δοκιμαστικών αρχείων στη σάρωση --exclude-dirs <dirs> Κατάλογοι προς εξαίρεση (χωρισμένοι με κόμμα) --help Εμφάνιση αυτής της βοήθειας Παραδείγματα: κόμβος i18ntk-scanner.js --source-dir=./src --framework=react κόμβος i18ntk-scanner.js --patterns 'console.log\\((.*?)\\)' --include18nerts node --output=./scan-results.json",
"help_options": {
"source_dir": "Κατάλογος προέλευσης για σάρωση για ζητήματα i18n",
"output_dir": "Κατάλογος για αναφορές και αποτελέσματα σάρωσης",
"framework": "Πλαίσιο στόχου (react, vue, angular, vanilla)",
"patterns": "Προσαρμοσμένα μοτίβα regex για ανίχνευση κειμένου",
"exclude": "Μοτίβα αρχείων προς εξαίρεση από τη σάρωση",
"output_report": "Δημιουργήστε λεπτομερή αναφορά σάρωσης",
"min_length": "Ελάχιστο μήκος κειμένου που πρέπει να ληφθεί υπόψη για τη μετάφραση",
"max_length": "Μέγιστο μήκος κειμένου που πρέπει να ληφθεί υπόψη για τη μετάφραση",
"include_tests": "Συμπεριλάβετε αρχεία δοκιμής στη διαδικασία σάρωσης"
},
"starting": "🔍 Έναρξη σαρωτή κειμένου για πλαίσιο: {framework}",
"sourceDirectory": "📁 Σάρωση καταλόγου: {sourceDir}",
"frameworkDetected": "🎯 Ανιχνευμένο πλαίσιο: {framework}",
"scanningFiles": "📊 Σάρωση {fileCount} αρχεία...",
"foundTexts": "📝 Βρέθηκε {textCount} κείμενα που απαιτούν μετάφραση",
"generatingReport": "📊 Δημιουργία λεπτομερούς αναφοράς...",
"reportSaved": "💾 Η αναφορά σάρωσης αποθηκεύτηκε σε: {reportPath}",
"noTextsFound": "✅ Δεν βρέθηκαν κωδικοποιημένα αγγλικά κείμενα",
"scanComplete": "🎉 Η σάρωση ολοκληρώθηκε με επιτυχία!",
"analysisTitle": "🔍 ΑΝΑΛΥΣΗ ΣΑΡΩΣΗΣ ΜΕΤΑΦΡΑΣΗΣ",
"fileSummary": "📄 {file}: {count} κείμενα που βρέθηκαν",
"textLocation": "📍 Γραμμή {line}: {text}",
"foundText": "Θεμελιώ {count} πιθανές παρουσίες κειμένου με σκληρό κώδικα",
"context": "📝 Περιεχόμενο: {context}",
"severity": "⚠️ Σοβαρότητα: {severity}",
"recommendation": "💡 Σύσταση: {recommendation}",
"welcome": {
"title": "🎯 Καλώς ήρθατε στο Text Scanner!",
"description": "Αυτό το εργαλείο σαρώνει τον πηγαίο κώδικα σας για έντυπο αγγλικό κείμενο που μπορεί να χρειάζεται μετάφραση."
},
"frameworkPrompt": {
"title": "🎯 Επιλέξτε Πλαίσιο",
"available": "Διαθέσιμα πλαίσια: react, vue, angular, vanilla",
"description": "Εισαγάγετε τον τύπο πλαισίου (ή πατήστε Enter για αυτόματη ανίχνευση):",
"input": "Σκελετός:"
},
"directoryPrompt": {
"title": "📁 Επιλέξτε Κατάλογος πηγών",
"current": "Τρέχων κατάλογος: {dir}",
"description": "Εισαγάγετε τον κατάλογο για σάρωση (ή πατήστε Enter για τρέχον):",
"input": "Τηλεφωνικός κατάλογος:"
},
"options": {
"includeTests": "Να συμπεριληφθούν αρχεία δοκιμής;",
"excludeDirs": "Κατάλογοι προς εξαίρεση (χωρισμένοι με κόμματα):",
"customPatterns": "Προσαρμοσμένα μοτίβα για σάρωση (regex):"
},
"reportGenerated": "Δημιουργήθηκε αναφορά σάρωσης: {path}"
},
"fixer": {
"help_message": "I18n Translation Fixer Χρήση: node i18ntk-fixer.js [επιλογές] Επιλογές: --source-dir <dir> Κατάλογος πηγής για σάρωση (προεπιλογή: ./locales) --γλώσσες <langs> Λίστα γλωσσών διαχωρισμένων με κόμματα προς διόρθωση --δείκτες <markers> Σημάντες διαχωρισμένοι με κόμματα για να αντιμετωπίζονται ως αμετάφραστα --no-backup Παράλειψη αυτόματης δημιουργίας αντιγράφων ασφαλείας --βοήθεια Εμφάνιση αυτής της βοήθειας Παραδείγματα: κόμβος i18ntk-fixer.js --languages de,fr node i18ntk-fixer.js --source-dir=./locales --markers NOT_TRANSLATED.backup.",
"starting": "🚀 Έναρξη επιδιόρθωσης μετάφρασης για γλώσσες: {languages}",
"sourceDirectory": "📁 Κατάλογος πηγής: {sourceDir}",
"sourceLanguage": "🔤 Γλώσσα πηγής: {sourceLanguage}",
"markers": "🏷️ Μαρκαδόροι προς διόρθωση: {markers}",
"scanningLanguage": "📊 Σάρωση {language}...",
"noLanguages": "❌ Δεν έχουν καθοριστεί γλώσσες για επιδιόρθωση.",
"allComplete": "🎉 Όλες οι μεταφράσεις έχουν ήδη ολοκληρωθεί!",
"fullReportSaved": "📊 Η πλήρης αναφορά αποθηκεύτηκε σε: {reportPath}",
"reviewReport": "Ελέγξτε την αναφορά πριν συνεχίσετε.",
"backupCreated": "💾 Το αντίγραφο ασφαλείας δημιουργήθηκε με επιτυχία.",
"applyingFixes": "🔄 Εφαρμογή διορθώσεων...",
"fixingComplete": "✅ Η διόρθωση της μετάφρασης ολοκληρώθηκε!",
"operationCancelled": "❌ Η λειτουργία ακυρώθηκε από τον χρήστη.",
"analysisTitle": "🔍 ΑΝΑΛΥΣΗ ΔΙΟΡΘΩΣΗΣ ΜΕΤΑΦΡΑΣΗΣ",
"analysisSeparator": "==================================================",
"totalIssues": "Συνολικά προβλήματα που βρέθηκαν: {totalIssues}",
"missingTranslations": "Λείπουν μεταφράσεις: {missing}",
"placeholderTranslations": "Μεταφράσεις placeholder: {placeholder}",
"noIssues": "✅ Δεν βρέθηκαν προβλήματα. Όλες οι μεταφράσεις είναι ολοκληρωμένες.",
"detailedIssues": "📋 DETAILED ISSUES:",
"detailedSeparator": "--------------------------------------------------",
"filePath": "📄 {file} → {path}",
"missingKey": "❌ ΛΕΙΠΟΥΝ: {source} → {new}",
"placeholderKey": "⚠️ ΤΟΠΟΘΕΤΗΣ: \"{target}\" → \"{new}\"",
"moreIssues": "... και {count} περισσότερα θέματα. Ελέγξτε το αρχείο αναφοράς για πλήρεις λεπτομέρειες.",
"confirmationTitle": "🤔 Θέλετε να συνεχίσετε με αυτές τις διορθώσεις;",
"confirmationOptions": "Επιλογές:",
"optionYes": "y - Ναι, εφαρμόστε όλες τις διορθώσεις",
"optionNo": "n - Όχι, ακυρώστε τη λειτουργία",
"optionShow": "s - Εμφάνιση λεπτομερών ζητημάτων",
"choicePrompt": "Η επιλογή σας (y/n/s):",
"nonInteractiveMode": "⚡ Εντοπίστηκε μη διαδραστική λειτουργία - αυτόματη εφαρμογή διορθώσεων...",
"reportGenerated": "📊 Δημιουργήθηκε αναφορά επιδιόρθωσης: {path}",
"summary": "Σύνοψη Fixer:",
"welcome": {
"title": "🎯 Καλώς ήρθατε στο Translation Fixer!",
"description": "Αυτό το εργαλείο θα σας βοηθήσει να διορθώσετε κατεστραμμένες μεταφράσεις και σύμβολα κράτησης θέσης στα αρχεία τοπικών ρυθμίσεων."
},
"markerPrompt": {
"title": "🏷️ Διαμόρφωση δεικτών κράτησης θέσης",
"description": "Εισαγάγετε τους δείκτες που υποδεικνύουν μη μεταφρασμένο κείμενο (χωρισμένο με κόμμα):",
"currentDefaults": "Προεπιλεγμένοι δείκτες: {markers}",
"input": "Δείκτες (ή πατήστε Enter για προεπιλογές):"
},
"languagePrompt": {
"title": "🌍 Επιλέξτε Γλώσσες προς διόρθωση",
"available": "Διαθέσιμες γλώσσες: {languages}",
"description": "Εισαγάγετε γλώσσες προς διόρθωση (χωρισμένες με κόμματα) ή πατήστε Enter για όλες:",
"input": "Γλώσσες:",
"noLanguages": "Δεν βρέθηκαν γλώσσες για διόρθωση."
},
"directoryPrompt": {
"title": "📁 Επιλέξτε Κατάλογο",
"current": "Τρέχων κατάλογος: {dir}",
"description": "Εισαγάγετε τον κατάλογο που περιέχει τα αρχεία τοπικής ρύθμισης (ή πατήστε Enter για τρέχοντα):",
"input": "Τηλεφωνικός κατάλογος:"
},
"backupLocation": "Εφεδρική τοποθεσία: {dir}",
"completed": "Η επισκευή ολοκληρώθηκε.",
"creatingBackup": "Δημιουργία αντιγράφων ασφαλείας σε {dir}...",
"dryRunMode": "Λειτουργία ξηρής λειτουργίας: {mode}",
"error": "Ο διορθωτής απέτυχε: {error}",
"fixing": "Διόρθωση {language}...",
"foundLanguages": "Θεμελιώ {count} γλώσσες: {languages}",
"languageFixed": "{language}: σταθερό {fixed} κλειδί(α), παραλείφθηκε {skipped}.",
"running": "Εκτελείται επιδιόρθωση μετάφρασης...",
"totalFixed": "Συνολικά διορθώθηκε: {count}"
},
"autorun": {
"stepAnalyzeTranslations": "Αναλύστε τις μεταφράσεις",
"stepCompletedWithIcon": "✅ Ολοκληρώθηκε: {stepName}",
"stepValidateTranslations": "Επικύρωση μεταφράσεων",
"stepRunning": "▶️ Βήμα {stepNumber}/{totalSteps}: {stepName}",
"separator": "==================================================",
"stepFailed": "❌ Απέτυχε: {stepName}",
"errorLabel": "Σφάλμα",
"autoRunScriptTitle": "🧪 Αυτόματη εκτέλεση ροής εργασίας",
"usageTitle": "Χρήση",
"runAllSteps": "Εκτέλεση: node i18ntk-autorun.js",
"configureSettingsFirst": "Config: i18ntk-config.json ή σημαίες CLI",
"runSpecificSteps": "Χρησιμοποιήστε --steps=1,3 ή --list για να εμφανίσετε τα βήματα",
"showHelp": "--βοήθεια για περισσότερες πληροφορίες",
"examplesTitle": "Παραδείγματα",
"configExample": "κόμβος i18ntk-autorun.js --ui-language=zh",
"stepsExample1": "κόμβος i18ntk-autorun.js --steps=analyze,validate",
"stepsExample2": "κόμβος i18ntk-autorun.js --list",
"customSettingsConfiguration": "Προσαρμοσμένες ρυθμίσεις αυτόματης εκτέλεσης",
"availableSteps": "Διαθέσιμα βήματα",
"startingAutoRunWorkflow": "🚀 Έναρξη ροής εργασίας αυτόματης εκτέλεσης...",
"workflowIncludesSteps": "Η ροή εργασίας περιλαμβάνει {count} βήματα:",
"missingRequiredFile": "Λείπει το απαιτούμενο αρχείο: {file}",
"workflowStopped": "Η ροή εργασίας σταμάτησε λόγω αποτυχίας.",
"workflowCompleted": "🎉 Η ροή εργασίας ολοκληρώθηκε!",
"successfulSteps": "Επιτυχημένα βήματα: {count}",
"failedSteps": "Αποτυχημένα βήματα: {count}",
"stepInitializeProject": "Αρχικοποίηση έργου",
"stepCheckUsage": "Ελέγξτε τη χρήση του κλειδιού",
"stepGenerateSummary": "Δημιουργία συνοπτικής αναφοράς",
"runInitializationFirst": "Εκτελέστε πρώτα την προετοιμασία.",
"initializationCheckPassed": "Ο έλεγχος αρχικοποίησης πέρασε.",
"runningStep": "Βήμα τρεξίματος: {stepName}",
"commandLabel": "Εντολή: {command}",
"stepCompletedWithTime": "Βήμα '{stepName}'ολοκληρώθηκε σε {duration}ms.",
"stepCompleted": "Βήμα '{stepName}'ολοκληρώθηκε.",
"stepFailedWithError": "Βήμα '{stepName}' απέτυχε με σφάλμα: {error}",
"requiredStepFailed": "Το απαιτούμενο βήμα απέτυχε. Διακοπή ροής εργασιών.",
"optionalStepFailed": "Το προαιρετικό βήμα απέτυχε. Συνεχιζόμενη ροή εργασιών.",
"stepRequired": "(Υποχρεούμαι)",
"stepOptional": "(Προαιρετικός)",
"startingExecution": "Έναρξη εκτέλεσης...",
"pressEnterToContinue": "Πατήστε Enter για να συνεχίσετε...",
"runningSelectedSteps": "Εκτέλεση επιλεγμένων βημάτων...",
"invalidStepNumber": "Μη έγκυρος αριθμός βήματος: {stepNum}",
"executionReport": "Έκθεση εκτέλεσης:",
"requiredFailedSteps": "Τα απαιτούμενα βήματα απέτυχαν: {count}",
"stepDetails": "Λεπτομέρειες βήματος:",
"reportSavedTo": "Η αναφορά αποθηκεύτηκε σε: {path}",
"overallStatusSuccess": "SUCCESS",
"overallStatusFailed": "FAILED",
"overallStatus": "Συνολική κατάσταση: {status}",
"pressEnterForDefaults": "Πατήστε Enter για να χρησιμοποιήσετε τις προεπιλεγμένες ρυθμίσεις για οποιοδήποτε μήνυμα προτροπής.",
"sourceDirPrompt": "Εισαγάγετε τον κατάλογο προέλευσης (προεπιλογή: {default}):",
"sourceLangPrompt": "Εισαγάγετε τη γλώσσα πηγής (προεπιλογή: {default}):",
"targetLangsPrompt": "Εισαγάγετε γλώσσες-στόχους (χωρισμένες με κόμματα, προεπιλογή: {default}):",
"translationMarkerPrompt": "Εισαγάγετε δείκτη μετάφρασης (προεπιλογή: {default}):",
"outputDirPrompt": "Εισαγάγετε τον κατάλογο εξόδου για αναφορές (προεπιλογή: {default}):",
"settingsUpdatedSuccessfully": "Οι ρυθμίσεις ενημερώθηκαν με επιτυχία!",
"errorConfiguringSettings": "Σφάλμα κατά τη διαμόρφωση των ρυθμίσεων: {error}",
"configurationComplete": "Η διαμόρφωση ολοκληρώθηκε.",
"runAutoRunCommand": "Τώρα μπορείτε να εκτελέσετε την εντολή αυτόματης εκτέλεσης.",
"configurationFailed": "Η διαμόρφωση απέτυχε: {error}",
"noValidStepNumbers": "Δεν παρέχονται έγκυροι αριθμοί βημάτων.",
"autoRunFailed": "Η αυτόματη εκτέλεση απέτυχε: {error}",
"stepCompleteTranslations": "Ολοκληρωμένες Μεταφράσεις",
"stepAnalyzeSizing": "Αναλύστε το μέγεθος",
"stepCompletedIcon": "✅",
"stepRunningWithNumber": "[{stepNumber}/{totalSteps}] Βήμα '{stepName}\"τρέξιμο...",
"stepFailedIcon": "❌",
"translationLoadWarning": "Προειδοποίηση: Δεν ήταν δυνατή η φόρτωση {lang} μεταφράσεις",
"configReadError": "Σφάλμα ανάγνωσης {file}"
},
"analyze": {
"help_message": "I18n Translation Analyzer Χρήση: node i18ntk-analyze.js [επιλογές] Επιλογές: --source-dir <dir> Κατάλογος πηγής για σάρωση (προεπιλογή: ./src) --i18n-dir <dir> Κατάλογος I18n (προεπιλογή: ./src/locales) --output-report Δημιουργία λεπτομερούς αναφοράς --output-dir <dir> Κατάλογος εξόδου για αναφορές (προεπιλογή: ./αναφορές) --help Εμφάνιση αυτής της βοήθειας Παραδείγματα: κόμβος i18ntk-analyze.js --output-report node i18ntk-analyze.js --source-dir=./app --i18n-dir=./locales κόμβος i18ntk-analyze.",
"source_directory": "📁 Κατάλογος πηγής: {sourceDir}",
"i18n_directory": "🌐 Κατάλογος I18n: {i18nDir}",
"loading_translation_files": "📋 Φόρτωση αρχείων μετάφρασης...",
"sourceDirectoryLabel": "📁 Κατάλογος πηγών: {sourceDir}",
"sourceLanguageLabel": "🌍 Γλώσσα πηγής: {sourceLanguage}",
"strictModeLabel": "⚙️ Αυστηρή λειτουργία: {mode}",
"found_translation_files_count": "✅ Βρέθηκε {count} αρχεία μετάφρασης",
"analyzing_translations": "🔍 Ανάλυση μεταφράσεων...",
"analysis_completed_successfully": "🎉 Η ανάλυση ολοκληρώθηκε με επιτυχία!",
"analysis_results": "📊 ANALYSIS RESULTS",
"language_analysis_stats": "{language}: {translatedKeys}/{totalKeys} ({percentage}% μεταφρασμένο)",
"sample_missing_keys": "Δείγμα κλειδιών που λείπουν:",
"missing_key": "- {key}",
"and_more_missing": "...και {count} περισσότερο.",
"sample_unused_keys": "Δείγμα αχρησιμοποίητων κλειδιών:",
"unused_key": "- {key}",
"and_more_unused": "...και {count} περισσότερο.",
"recommendations": "📋 ΠΡΟΤΑΣΕΙΣ",
"add_missing_translations": "💡 Προσθέστε μεταφράσεις που λείπουν για να βελτιώσετε την κάλυψη.",
"remove_unused_translations": "💡 Καταργήστε τις αχρησιμοποίητες μεταφράσεις για να διατηρήσετε το έργο σας καθαρό.",
"next_steps": "📋 NEXT STEPS",
"review_analysis_results": "1. Ελέγξτε τα αποτελέσματα της ανάλυσης στην κονσόλα ή στην αναφορά που δημιουργήθηκε.",
"run_with_output_report": "2. Εκτελέστε με --output-report για λεπτομερή αναφορά.",
"add_or_remove_translations": "3. Προσθέστε μεταφράσεις που λείπουν ή αφαιρέστε τις αχρησιμοποίητες.",
"rerun_analysis": "4. Επαναλάβετε την ανάλυση για να επαληθεύσετε τις βελτιώσεις.",
"analysis_summary": "📊 ANALYSIS SUMMARY",
"source_files_scanned": "Τα αρχεία πηγής σαρώθηκαν: {fileCount}",
"translation_files_checked": "Ελεγμένα αρχεία μετάφρασης: {translationFileCount}",
"total_keys": "Σύνολο κλειδιών: {totalKeys}",
"translated_keys": "Μεταφρασμένα κλειδιά: {translatedKeys}",
"missing_keys": "Λείπουν κλειδιά: {missingKeys}",
"unused_keys": "Αχρησιμοποίητα κλειδιά: {unusedKeys}",
"translation_coverage": "Μεταφραστική κάλυψη: {coverage}%",
"analysis_passed_for_language": "✅ Η ανάλυση πέρασε για {language}",
"analysis_failed_for_language": "❌ Η ανάλυση απέτυχε για {language} ({missingKeys} απών, {unusedKeys} αχρησιμοποίητος)",
"starting": "🔍 Έναρξη ανάλυσης μετάφρασης...",
"foundLanguages": "📋 Βρέθηκε {count} γλώσσες προς ανάλυση: {languages}",
"analyzing": "🔄 Αναλύοντας {language}...",
"reportTitle": "📊 ΕΚΘΕΣΗ ΑΝΑΛΥΣΗΣ ΜΕΤΑΦΡΑΣΗΣ",
"generated": "Δημιουργήθηκε: {timestamp}",
"status": "Κατάσταση: {translated}/{total} κλειδιά ({percentage}% μεταφρασμένο)",
"filesAnalyzed": "Αρχεία που αναλύθηκαν: {analyzed}/{total}",
"keysNeedingTranslation": "Κλειδιά που χρειάζονται μετάφραση: {count}",
"fileBreakdown": "📋 ΑΝΑΛΥΣΗ ΑΡΧΕΙΟΥ",
"error": "Σφάλμα",
"completed": "✅ Η ανάλυση ολοκληρώθηκε για {language}",
"progress": "📊 Συνολική πρόοδος: {translated}/{total} επεξεργασμένες γλώσσες",
"reportSaved": "Η αναφορά αποθηκεύτηκε: {reportPath}",
"summary": "📊 ANALYSIS SUMMARY",
"finished": "✅ Η ανάλυση ολοκληρώθηκε με επιτυχία!",
"statusFileMissing": "❌ Λείπει το αρχείο μετάφρασης",
"sourceKeys": "📊 Κλειδιά πηγής: {count}",
"translation": "📊 Μετάφραση: {translated}/{total} ({percentage}%)",
"structure": "🗂️ Δομή: {status}",
"consistent": "Συνεπής",
"inconsistent": "Ασυνεπής",
"missingKeys": "Λείπουν κλειδιά: {count}",
"extraKeys": "Επιπλέον κλειδιά: {count}",
"issues": "⚠️ Βρέθηκαν προβλήματα: {count}",
"issueType": {
"not_translated": "Μη μεταφρασμένο: {count}",
"empty_value": "Κενές τιμές: {count}",
"partial_translation": "Μερικές μεταφράσεις: {count}",
"format_mismatch": "Αναντιστοιχίες μορφής: {count}",
"type_mismatch": "Αναντιστοιχίες τύπου: {count}",
"structure_mismatch": "Αναντιστοιχίες δομής: {count}",
"same_as_source": "Ίδιο με την πηγή: {count}"
},
"keysToTranslate": "📋 ΚΛΕΙΔΙΑ ΓΙΑ ΜΕΤΑΦΡΑΣΗ",
"key": "Κλειδί",
"english": "αγγλικός",
"needsTranslation": "ΧΡΕΙΑΖΕΤΑΙ ΜΕΤΑΦΡΑΣΗ",
"andMoreKeys": "...και {count} περισσότερα κλειδιά.",
"noLanguages": "⚠️ Δεν βρέθηκαν γλώσσες-στόχοι.",
"languageStats": "{language}: {percentage}% ολοκληρωμένη ({translated}/{total} κλειδιά)",
"invalidReportFilePath": "Μη έγκυρη διαδρομή αρχείου αναφοράς",
"failedToWriteReportFile": "Απέτυχε η ασφαλής εγγραφή του αρχείου αναφοράς"
},
"complete": {
"configLoadedSuccessfully": "Η διαμόρφωση φορτώθηκε με επιτυχία",
"configLoadingFailed": "Η φόρτωση της διαμόρφωσης απέτυχε",
"sourceLanguageNotFound": "Ο κατάλογος γλώσσας πηγής δεν βρέθηκε: {sourceLanguage}",
"couldNotParseTarget": "Δεν ήταν δυνατή η ανάλυση του αρχείου προορισμού: {file}",
"couldNotParseSource": "Δεν ήταν δυνατή η ανάλυση του αρχείου προέλευσης: {file}",
"reportGenerated": "Δημιουργήθηκε αναφορά: {path}",
"generateReportPrompt": "Θα θέλατε να δημιουργηθεί μια αναφορά;",
"title": "🌍 ΟΛΟΚΛΗΡΩΣΗ ΜΕΤΑΦΡΑΣΗΣ I18NTK",
"separator": "============================================================",
"sourceDir": "📁 Κατάλογος πηγής: {sourceDir}",
"sourceLanguage": "🌐 Γλώσσα πηγής: {sourceLanguage}",
"dryRunMode": "🧪 Λειτουργία ξηρής λειτουργίας - δεν θα γίνουν αλλαγές",
"languages": "🌍 Διαθέσιμες γλώσσες: {languages}",
"addingMissingKeys": "➕ Προσθήκη κλειδιών που λείπουν στα αρχεία μετάφρασης...",
"processing": "🔄 Επεξεργασία {language}...",
"addedKeys": "✅ Προστέθηκε {count} λείπουν κλειδιά",
"noChangesNeeded": "✅ Δεν χρειάζονται αλλαγές για {language}",
"summaryTitle": "📊 ΣΥΝΟΨΗ ΟΛΟΚΛΗΡΩΣΗΣ",
"totalChanges": "📝 Συνολικές αλλαγές: {totalChanges}",
"languagesProcessed": "🌍 Γλώσσες που υποβλήθηκαν σε επεξεργασία: {languagesProcessed}",
"missingKeysAdded": "➕ Προστέθηκαν κλειδιά που λείπουν: {missingKeysAdded}",
"nextStepsTitle": "📋 NEXT STEPS",
"nextStep1": "1. Εκτελέστε την ανάλυση χρήσης:",
"nextStep2": "κόμβος i18ntk-usage.js --output-report",
"nextStep3": "2. Επικύρωση μεταφράσεων:",
"nextStep4": "κόμβος i18ntk-validate.js",
"nextStep5": "3. Αναλύστε μοτίβα:",
"nextStep6": "κόμβος i18ntk-analyze.js",
"allKeysAvailable": "🎉 Όλα τα κλειδιά μετάφρασης είναι πλέον διαθέσιμα!",
"runWithoutDryRun": "💡 Εκτελέστε χωρίς --dry-run για να εφαρμόσετε αλλαγές",
"deletingOldReport": "🗑️ Διαγραφή παλιάς αναφοράς...",
"generatingFreshAnalysis": "📊 Δημιουργία νέας ανάλυσης χρήσης...",
"couldNotGenerate": "❌ Δεν ήταν δυνατή η δημιουργία ανάλυσης χρήσης",
"reportNotFound": "📋 Η αναφορά χρήσης δεν βρέθηκε. Χρήση κοινών πλήκτρων...",
"foundMissingKeys": "📋 Βρέθηκε {count} λείπουν κλειδιά από την ανάλυση χρήσης",
"couldNotParse": "❌ Δεν ήταν δυνατή η ανάλυση της αναφοράς χρήσης. Χρήση κοινών πλήκτρων...",
"errorDuringCompletion": "❌ Σφάλμα κατά την ολοκλήρωση: {error}",
"fatalError": "❌ Θανατηφόρο σφάλμα: {error}",
"configurationValidationFailed": "Η επικύρωση διαμόρφωσης απέτυχε: λείπουν υποχρεωτικά πεδία"
},
"sizing": {
"separator": "================================================================================",
"lineSeparator": "--------------------------------------------------------------------------------",
"analysisStats": "{stats}",
"sourceDirectoryLabel": "📁 Κατάλογος πηγής: {sourceDir}",
"sourceLanguageLabel": "🌍 Γλώσσα πηγής: {sourceLanguage}",
"strictModeLabel": "⚙️ Αυστηρή λειτουργία: {mode}",
"invalidSourceDirectoryError": "Μη έγκυρη διαδρομή καταλόγου προέλευσης: {sourceDir}",
"sourceDirectoryNotFoundError": "Ο κατάλογος πηγής δεν βρέθηκε: {sourceDir}",
"invalidOutputDirectoryError": "Μη έγκυρη διαδρομή καταλόγου εξόδου: {outputDir}",
"invalidReportFileError": "Μη έγκυρη διαδρομή αρχείου αναφοράς",
"problematic_keys": "Προβληματικά κλειδιά: {problematicKeys}",
"problematicKeysLabel": "Προβληματικά κλειδιά: {problematicKeys}",
"long_translations": "Εκτενείς μεταφράσεις: {longTranslations}",
"failedToSaveReportError": "Η ασφαλής αποθήκευση της αναφοράς απέτυχε",
"invalidCsvFileError": "Μη έγκυρη διαδρομή αρχείου CSV",
"failedToSaveCsvError": "Αποτυχία αποθήκευσης της αναφοράς CSV με ασφάλεια",
"fatalError": "❌ Η ανάλυση μεγέθους απέτυχε: {error}",
"starting_i18n_sizing_analysis": "Έναρξη ανάλυσης μεγέθους i18n...",
"source_directory": "Κατάλογος πηγής: {sourceDir}",
"found_languages": "Βρέθηκαν γλώσσες: {languages}",
"analyzing_file_sizes": "Ανάλυση μεγεθών αρχείων...",
"analyzing_translation_content": "Ανάλυση μεταφραστικού περιεχομένου...",
"generating_size_comparisons": "Δημιουργία συγκρίσεων μεγεθών...",
"no_languages_found_for_comparison": "Δεν βρέθηκαν γλώσσες για σύγκριση",
"sizing_analysis_results": "Αποτελέσματα ανάλυσης μεγέθους I18n",
"file_sizes_title": "Μεγέθη αρχείων",
"file_sizes_header": "Γλώσσα Μέγεθος (KB) Γραμμές Χαρακτήρες",
"file_size_row": "{lang} {sizeKB} {lines} {characters}",
"language_statistics_title": "Γλωσσική Στατιστική",
"language_stats_header": "Πλήκτρα γλώσσας Χαρακτήρες Μέσο μήκος Μέγιστο μήκος Κενό Μακρύ",
"language_stats_row": "{lang} {totalKeys} {totalCharacters} {averageKeyLength} {maxKeyLength} {emptyKeys} {longKeys}",
"size_variations_title": "Παραλλαγές μεγέθους",
"size_variations_header": "Γλώσσα Char Diff % Diff Προβληματική",
"size_variation_row": "{lang} {characterDifference} {percentageDifference}% {problematic}",
"problematic_yes": "Ναί",
"problematic_no": "Οχι",
"recommendations_title": "συστάσεις",
"recommendation_item": "{index}. {recommendation}",
"problematic_key_detail": "{index}. Κλειδί: '{key}' - Παραλλαγές: {variations}",
"generating_detailed_report": "Δημιουργία λεπτομερούς αναφοράς...",
"keysHaveSignificantSizeVariations": "τα κλειδιά έχουν σημαντικές διακυμάνσεις μεγέθους",
"longTranslationsDetected": "${lang} έχει μεταφράσεις ${data.longKeys} μεγαλύτερες από 100 χαρακτήρες - σκεφτείτε να τις αναλύσετε",
"longer": "μακρύτερα",
"shorter": "κοντύτερος",
"review_translations": "Εξετάστε το ενδεχόμενο αναθεώρησης {lang} μεταφράσεις - είναι {percentageDifference}% {comparison} από τη γραμμή βάσης",
"report_saved_to": "Η αναφορά αποθηκεύτηκε σε: {reportPath}",
"considerReviewingTranslations": "Σκεφτείτε την αναθεώρηση ${lang} μεταφράσεις - είναι ${data.percentageDifference}% μεγαλύτερες από τη γραμμή βάσης",
"csv_report_saved_to": "Η αναφορά CSV αποθηκεύτηκε σε: {csvPath}",
"human_report_saved": "Η αναγνώσιμη αναφορά αποθηκεύτηκε: {reportPath}",
"folder_summary_title": "Περίληψη φακέλου",
"folder_summary_table_header": "Μέγεθος γλώσσας (KB) Πλήκτρα Μέσο μήκος Συνολικοί χαρακτήρες",
"folder_summary_row": "{lang} {sizeKB} {totalKeys} {avgLength} {totalChars}",
"language_comparison_title": "Σύγκριση Γλωσσών",
"language_comparison_row": "{lang}: {diff} χαρακτήρες ({percent}%) {status}",
"summary_stats": "📊 Περίληψη: {totalLanguages} γλώσσες, {totalKeys} πλήκτρα - Οι αναφορές αποθηκεύονται σε {reportPath}",
"detailedKeysDescription": "Εμφάνιση λεπτομερούς ανάλυσης σε επίπεδο κλειδιού στην κονσόλα",
"too_many_keys_warning": "⚠️ Πάρα πολλά κλειδιά για εμφάνιση στην κονσόλα - ελέγξτε το αρχείο λεπτομερούς αναφοράς για πλήρη ανάλυση",
"no_translation_files_found": "Δεν βρέθηκαν αρχεία μετάφρασης",
"analysis_completed": "Η ανάλυση ολοκληρώθηκε σε {duration}ms",
"analysis_failed": "Η ανάλυση απέτυχε: {errorMessage}",
"starting_analysis": "Έναρξη ανάλυσης...",
"found_files": "Θεμελιώ {count} αρχεία",
"failed_to_parse_language_error": "Αποτυχία ανάλυσης {language} μεταφράσεις: {errorMessage}",
"recommendations": {
"keys_have_significant_size_variations": "τα κλειδιά έχουν σημαντικές διακυμάνσεις μεγέθους",
"consider_reviewing_translations": "Σκεφτείτε την αναθεώρηση {lang} μεταφράσεις - είναι {percentageDifference}% {comparison} από τη γραμμή βάσης",
"long_translations_detected": "{lang} έχει {longKeys} μεταφράσεις μεγαλύτερες από {threshold} χαρακτήρες - σκεφτείτε να τους αναλύσετε"
},
"detailed_key_analysis_title": "Λεπτομερής Ανάλυση Κλειδιών",
"key_analysis_detail": "{lang}: {length} χαρακτήρες ({status}) - {translation}",
"key_analysis_header": "Κλειδί: {key}",
"status_empty": "αδειάζω",
"status_long": "μακρύς",
"status_ok": "Εντάξει"
},
"usage": {
"help_message": "I18n Χρήση Αναλυτή Χρήσης: node i18ntk-usage.js [επιλογές] Επιλογές: --source-dir <dir> Κατάλογος πηγής για σάρωση (προεπιλογή: ./src) --i18n-dir <dir> Κατάλογος I18n (προεπιλογή: ./src/locales) --output-report Δημιουργία λεπτομερούς αναφοράς --output-dir <dir> Κατάλογος εξόδου για αναφορές (προεπιλογή: ./αναφορές) --βοήθεια Εμφάνιση αυτής της βοήθειας Παραδείγματα: κόμβος i18ntk-usage.js --output-report node i18ntk-usage.js --source-dir=./app --i18n-dir=./locales κόμβος i18ntk-usage.js --/output-usage.js --/output-report node i18ntk-usage.js --source-dir=./app --i18n-dir=./locales node i18ntk-usage.js --/output-usage.js --/output-usage.js --/output-report node.",
"source_directory_thissourcedir": "📁 Κατάλογος πηγής: {sourceDir}",
"translationCompletenessTitle": "🌍 Πληρότητα μετάφρασης:",
"i18n_directory_thisi18ndir": "🌐 Κατάλογος I18n: {i18nDir}",
"failed_to_parse_filename_error": "⚠️ Αποτυχία ανάλυσης {fileName}: {errorMessage}",
"analyzing_source_files": "🔍 Ανάλυση αρχείων πηγής...",
"found_files_in_source": "📂 Βρέθηκε {numFiles} αρχεία στον κατάλογο προέλευσης",
"found_thisusedkeyssize_unique_": "🎯 Βρέθηκε {usedKeysSize} μοναδικά μεταχειρισμένα κλειδιά",
"total_key_usages_totalkeysfoun": "📊 Συνολικές χρήσεις κλειδιών: {totalKeysFound}",
"loading_available_translation_": "📋 Φόρτωση διαθέσιμων κλειδιών μετάφρασης...",
"found_thisavailablekeyssize_av": "✅ Βρέθηκε {availableKeysSize} διαθέσιμα κλειδιά",
"foundTranslationFiles": "✅ Βρέθηκε {count} αρχεία μετάφρασης",
"errorReadingI18nDirectory": "⚠️ Σφάλμα κατά την ανάγνωση του καταλόγου i18n: {error}",
"pressEnterToReturnToMenu": "📝 Πατήστε Enter για να επιστρέψετε στο κύριο μενού...",
"notTranslatedKeysTotal": "⚠️ Μη μεταφρασμένα κλειδιά: {total}",
"noSourceFilesFound": "⚠️ Δεν βρέθηκαν αρχεία πηγής στον κατάλογο προέλευσης.",
"reviewNotTranslatedKeys": "💡 Ελέγξτε τα μη μεταφρασμένα κλειδιά",
"analysisCompletedSuccessfully": "🎉 Η ανάλυση ολοκληρώθηκε με επιτυχία!",
"detectedSourceDirectory": "Εντοπίστηκε κατάλογος πηγής: {sourceDir}",
"detectedI18nDirectory": "Εντοπίστηκε κατάλογος i18n: {i18nDir}",
"fileInfo": "📄 {namespace}: {keys} κλειδιά",
"failedToAnalyzeUsage": "❌ Αποτυχία ανάλυσης χρήσης: {error}",
"failedToAnalyzeFile": "❌ Απέτυχε η ανάλυση του αρχείου: {error}",
"failedToExtractKeys": "❌ Αποτυχία εξαγωγής κλειδιών από {filePath}: {error}",
"analysisFailedError": "❌ Η ανάλυση απέτυχε: {error}",
"analyzerInitialized": "Αρχικοποιήθηκε ο αναλυτής",
"analyzerInitFailed": "Η προετοιμασία του αναλυτή απέτυχε: {error}",
"argsParsed": "Τα επιχειρήματα αναλύθηκαν",
"processedFiles": "Επεξεργασμένο {processedFiles} του {totalFiles} αρχεία.",
"argsParseFailed": "Η ανάλυση επιχειρημάτων απέτυχε: {error}",
"translationDiscoveryError": "Σφάλμα εύρεσης μετάφρασης: {error}",
"fileTraversalError": "Σφάλμα διέλευσης αρχείου: {error}",
"sourceEqualsI18nWarn": "{reason}. Η ανάλυση χρήσης δεν θα σαρώσει τα αρχεία τοπικών ρυθμίσεων ως πηγαίο κώδικα.",
"i18nEqualsSourceWarn": "⚠️ Ο κατάλογος I18n και ο κατάλογος πηγής είναι οι ίδιοι. Αυτό μπορεί να προκαλέσει προβλήματα με την ανάλυση.",
"usageAnalysisFailed": "⚠️ Η ανάλυση χρήσης απέτυχε: {error}",
"translationFileParseError": "⚠️ Σφάλμα ανάλυσης αρχείου μετάφρασης: {error}",
"translationKeysLoadError": "⚠️ Σφάλμα φόρτωσης κλειδιών μετάφρασης: {error}",
"languageCompletenessStats": "🌐 {language}: {translated}/{total} ({completeness}% μεταφρασμένο)",
"missingKeysCount": "⚠️ Κλειδιά που λείπουν: {count}",
"analyzingTranslationCompleteness": "Ανάλυση της πληρότητας της μετάφρασης...",
"unusedKeysCount": "Αχρησιμοποίητα κλειδιά: {count}",
"usedKeysCount": "Χρησιμοποιημένα κλειδιά: {count}",
"availableKeysCount": "Διαθέσιμα κλειδιά: {count}",
"analysisResults": "Αποτελέσματα ανάλυσης:",
"i18nDirectoryNotFound": "⚠️ Ο κατάλογος I18n δεν βρέθηκε. Ελέγξτε τη διαδρομή.",
"sourceDirectoryNotFound": "⚠️ Ο κατάλογος πηγής δεν βρέθηκε: {dir}",
"checkUsage": {
"title": "🔍 I18NTK USAGE ANALYSIS",
"analyzing_source_files": "🔍 Ανάλυση αρχείων πηγής...",
"source_directory_thissourcedir": "📁 Κατάλογος πηγής: {sourceDir}",
"i18n_directory_thisi18ndir": "📁 Κατάλογος i18n: {i18nDir}",
"found_files_in_source": "✅ Βρέθηκε {numFiles} αρχεία στον κατάλογο προέλευσης",
"no_source_files_found": "⚠️ Δεν βρέθηκαν αρχεία πηγής στον καθορισμένο κατάλογο",
"processedFiles": "📊 Επεξεργασμένο {processedFiles} του {totalFiles} αρχεία",
"failedToProcessFile": "❌ Απέτυχε η επεξεργασία",
"found_thisusedkeyssize_unique_": "🔍 Βρέθηκε {usedKeysSize} μοναδικά μεταχειρισμένα κλειδιά",
"total_key_usages_totalkeysfoun": "📊 Συνολικές χρήσεις κλειδιών: {totalKeysFound}",
"loading_available_translation_": "📂 Φόρτωση διαθέσιμων κλειδιών μετάφρασης...",
"found_thisavailablekeyssize_av": "✅ Βρέθηκε {availableKeysSize} διαθέσιμα κλειδιά",
"message": "Ανάλυση της χρήσης κλειδιού μετάφρασης στο έργο σας...",
"usage_analysis_results": "📊 USAGE ANALYSIS RESULTS",
"source_files_scanned_thisfileu": "📁 Τα αρχεία προέλευσης σαρώθηκαν: {fileUsageSize}",
"available_translation_keys_thi": "✅ Διαθέσιμα κλειδιά μετάφρασης: {availableKeysSize}",
"used_translation_keys_thisused": "🔍 Χρησιμοποιημένα κλειδιά μετάφρασης: {usedKeysSize}",
"dynamic_keys_detected_dynamick": "⚡ Εντοπίστηκαν δυναμικά κλειδιά: {dynamicKeysLength}",
"unused_keys_unusedkeyslength": "🗑️ Αχρησιμοποίητα κλειδιά: {unusedKeysLength}",
"missing_keys_missingkeyslength": "❌ Κλειδιά που λείπουν: {missingKeysLength}",
"translation_completeness_title": "📈 ΠΛΗΡΕΣΗ ΜΕΤΑΦΡΑΣΗΣ",
"language_completeness_stats": "{language}: {translated}/{total} κλειδιά ({percentage}%)",
"n_sample_unused_keys": "🗑️ ΔΕΙΓΜΑ ΑΧΡΗΣΙΜΟΠΟΙΗΤΩΝ ΚΛΕΙΔΙΩΝ (πρώτα 5):",
"key": "🔑 {key}",
"and_unusedkeyslength_5_more": "... και {count} περισσότερα αχρησιμοποίητα κλειδιά",
"n_sample_missing_keys": "❌ ΔΕΙΓΜΑ ΚΛΕΙΔΙΩΝ ΠΟΥ ΛΕΙΠΟΥΝ (πρώτα 5):",
"and_missingkeyslength_5_more": "... και {count} περισσότερα κλειδιά που λείπουν",
"n_generating_detailed_report": "📊 Δημιουργία λεπτομερούς αναφοράς...",
"report_saved_reportpath": "📄 Η αναφορά αποθηκεύτηκε: {reportPath}",
"n_recommendations": "💡 ΠΡΟΤΑΣΕΙΣ:",
"consider_removing_unused_trans": "🗑️ Εξετάστε το ενδεχόμενο κατάργησης μεταφράσεων που δεν χρησιμοποιούνται για να μειώσετε το μέγεθος του πακέτου",
"add_missing_translation_keys_t": "➕ Προσθέστε κλειδιά μετάφρασης που λείπουν για να διατηρήσετε τη συνέπεια",
"review_dynamic_keys_manually_t": "🔍 Ελέγξτε τα δυναμικά κλειδιά με μη αυτόματο τρόπο (μπορεί να είναι έγκυρα)",
"all_translation_keys_are_prope": "✅ Όλα τα κλειδιά μετάφρασης χρησιμοποιούνται σωστά!",
"n_next_steps": "🎯 NEXT STEPS:",
"2_check_the_detailed_report_fo": "2. Ελέγξτε τη λεπτομερή αναφορά για συγκεκριμένα θέματα",
"help_message": "I18n Χρήση Αναλυτή Χρήσης: node i18ntk-usage.js [επιλογές] Επιλογές: --source-dir <dir> Κατάλογος πηγής για σάρωση (προεπιλογή: ./src) --i18n-dir <dir> Κατάλογος I18n (προεπιλογή: ./src/locales) --output-report Δημιουργία λεπτομερούς αναφοράς --output-dir <dir> Κατάλογος εξόδου για αναφορές (προεπιλογή: ./αναφορές) --βοήθεια Εμφάνιση αυτής της βοήθειας Παραδείγματα: κόμβος i18ntk-usage.js --output-report node i18ntk-usage.js --source-dir=./app --i18n-dir=./locales κόμβος i18ntk-usage.js --/output-usage.js --/output-report node i18ntk-usage.js --source-dir=./app --i18n-dir=./locales node i18ntk-usage.js --/output-usage.js --/output-usage.js --/output-report node.",
"1_review_the_analysis_results": "1. Ελέγξτε τα αποτελέσματα της ανάλυσης στην κονσόλα ή στην αναφορά που δημιουργήθηκε.",
"2_run_with_outputreport_for_de": "2. Εκτελέστε με --output-report για λεπτομερή αναφορά.",
"3_remove_unused_keys_or_add_mi": "3. Αφαιρέστε τα αχρησιμοποίητα κλειδιά ή προσθέστε κλειδιά που λείπουν στον πηγαίο κώδικα.",
"4_rerun_analysis_to_verify_imp": "4. Επαναλάβετε την ανάλυση για να επαληθεύσετε τις βελτιώσεις.",
"noSourceFilesFound": "Δεν βρέθηκαν αρχεία πηγής για ανάλυση.",
"i18nDirectoryNotFound": "Ο κατάλογος I18n δεν βρέθηκε: {i18nDir}",
"noTranslationLanguagesFound": "Δεν βρέθηκαν γλώσσες μετάφρασης.",
"failedToAnalyzeFile": "Απέτυχε η ανάλυση του αρχείου {filePath}: {error}",
"failedToAnalyzeLanguage": "Απέτυχε η ανάλυση της γλώσσας {language}: {error}",
"translationCompletenessAnalysisFailed": "Η ανάλυση πληρότητας μετάφρασης απέτυχε: {error}",
"n": "\\n"
},
"complete": {
"configLoadedSuccessfully": "Η διαμόρφωση φορτώθηκε με επιτυχία",
"configLoadingFailed": "Η φόρτωση της διαμόρφωσης απέτυχε",
"title": "🌍 ΟΛΟΚΛΗΡΩΣΗ ΜΕΤΑΦΡΑΣΗΣ I18NTK",
"separator": "============================================================",
"sourceDir": "📁 Κατάλογος πηγής: {sourceDir}",
"sourceLanguage": "🌐 Γλώσσα πηγής: {sourceLanguage}",
"dryRunMode": "🧪 Λειτουργία ξηρής λειτουργίας - δεν θα γίνουν αλλαγές",
"languages": "🌍 Διαθέσιμες γλώσσες: {languages}",
"addingMissingKeys": "➕ Προσθήκη κλειδιών που λείπουν στα αρχεία μετάφρασης...",
"processing": "🔄 Επεξεργασία {language}...",
"addedKeys": "✅ Προστέθηκε {count} λείπουν κλειδιά",
"changeDetails": "📝 {file}: {key}",
"andMore": "...και {count} περισσότερο",
"noChangesNeeded": "✅ Δεν χρειάζονται αλλαγές για {language}",
"summaryTitle": "📊 ΣΥΝΟΨΗ ΟΛΟΚΛΗΡΩΣΗΣ",
"totalChanges": "📝 Συνολικές αλλαγές: {totalChanges}",
"languagesProcessed": "🌍 Γλώσσες που υποβλήθηκαν σε επεξεργασία: {languagesProcessed}",
"missingKeysAdded": "➕ Προστέθηκαν κλειδιά που λείπουν: {missingKeysAdded}",
"nextStepsTitle": "📋 NEXT STEPS",
"nextStep1": "1. Εκτελέστε την ανάλυση χρήσης:",
"nextStep2": "κόμβος i18ntk-usage.js --output-report",
"nextStep3": "2. Επικύρωση μεταφράσεων:",
"nextStep4": "κόμβος i18ntk-validate.js",
"nextStep5": "3. Αναλύστε μοτίβα:",
"nextStep6": "κόμβος i18ntk-analyze.js",
"allKeysAvailable": "🎉 Όλα τα κλειδιά μετάφρασης είναι πλέον διαθέσιμα!",
"runWithoutDryRun": "💡 Εκτελέστε χωρίς --dry-run για να εφαρμόσετε αλλαγές",
"deletingOldReport": "🗑️ Διαγραφή παλιάς αναφοράς...",
"generatingFreshAnalysis": "📊 Δημιουργία νέας ανάλυσης χρήσης...",
"couldNotGenerate": "❌ Δεν ήταν δυνατή η δημιουργία ανάλυσης χρήσης",
"reportNotFound": "📋 Η αναφορά χρήσης δεν βρέθηκε. Χρήση κοινών πλήκτρων...",
"foundMissingKeys": "📋 Βρέθηκε {count} λείπουν κλειδιά από την ανάλυση χρήσης",
"couldNotParse": "❌ Δεν ήταν δυνατή η ανάλυση της αναφοράς χρήσης. Χρήση κοινών πλήκτρων..."
},
"noTranslationLanguagesFound": "Δεν βρέθηκαν γλώσσες μετάφρασης",
"failedToAnalyzeLanguage": "Απέτυχε η ανάλυση της γλώσσας",
"translationCompletenessAnalysisFailed": "Η ανάλυση πληρότητας μετάφρασης απέτυχε",
"failedToProcessFile": "Απέτυχε η επεξεργασία του αρχείου:",
"failedToSaveReport": "Αποτυχία αποθήκευσης αναφοράς χρήσης: {error}",
"i18nDirectoryDoesNotExist": "Ο κατάλογος I18n δεν υπάρχει: {dir}",
"reportSavedTo": "Η αναφορά χρήσης αποθηκεύτηκε σε: {reportPath}",
"sourceDirectoryDoesNotExist": "Ο κατάλογος πηγής δεν υπάρχει: {dir}",
"noSourceDirectoryConfigured": "(καμία ρύθμιση παραμέτρων)"
},
"validate": {
"help_message": "I18n Χρήση εργαλείου επικύρωσης μετάφρασης: node i18ntk-validate.js [επιλογές] Επιλογές: --source-dir <dir> Κατάλογος πηγής για σάρωση (προεπιλογή: ./src) --i18n-dir <dir> Κατάλογος I18n (προεπιλογή: ./src/locales) --output-report Δημιουργία λεπτομερούς αναφοράς --output-dir <dir> Κατάλογος εξόδου για αναφορές (προεπιλογή: ./αναφορές) --help Εμφάνιση αυτής της βοήθειας Παραδείγματα: κόμβος i18ntk-validate.js --output-report node i18ntk-validate.js --source-dir=./app --i18n-dir=./locales κόμβος i18ntk-validate.",
"title": "🔍 I18n Translation Validator",
"message": "Έναρξη διαδικασίας επικύρωσης...",
"sourceDirectory": "📁 Κατάλογος πηγής: {dir}",
"sourceLanguage": "🌍 Γλώσσα πηγής: {sourceLanguage}",
"strictMode": "⚙️ Αυστηρή λειτουργία: {mode}",
"noTargetLanguages": "Δεν έχουν διαμορφωθεί γλώσσες προορισμού. παράβλεψη επικύρωσης στόχου. Προσθήκη γλωσσών μέσω του \"i18ntk init --languages=de,fr\".",
"validatingLanguages": "🌍 Γλώσσες επικύρωσης: {langs}",
"validatingLanguage": "🔍 Γλώσσα επικύρωσης: {lang}",
"filesCount": "📄 Αρχεία: {count}",
"keysCount": "🔑 Κλειδιά: {count}",
"missingFilesCount": "📁 Αρχεία που λείπουν: {count}",
"syntaxErrorsCount": "❌ Συντακτικά σφάλματα: {count}",
"translationPercentage": "🎯 Μετάφραση: {percentage}% ({translated}/{total} κλειδιά)",
"validationSummary": "📊 ΣΥΝΟΨΗ ΕΠΙΚΥΡΩΣΗΣ",
"validation_failed": "❌ Η επικύρωση απέτυχε: {error}",
"totalErrors": "❌ Σύνολο σφαλμάτων: {count}",
"totalWarnings": "⚠️ Συνολικές προειδοποιήσεις: {count}",
"errorsSection": "❌ ERRORS",
"warningsSection": "⚠️ WARNINGS",
"recommendationsSection": "💡 ΠΡΟΤΑΣΕΙΣ",
"fixErrorsFirst": "1. Διορθώστε πρώτα όλα τα σφάλματα",
"resolveMissingFilesAndSyntaxErrors": "1. Επιλύστε τα αρχεία που λείπουν και τα συντακτικά σφάλματα",
"fixStructuralInconsistencies": "2. Διορθώστε δομικές ασυνέπειες",
"completeMissingTranslations": "3. Συμπληρώστε τις μεταφράσεις που λείπουν",
"rerunValidation": "4. Εκτελέστε ξανά την επικύρωση για να επαληθεύσετε τις διορθώσεις",
"addressWarnings": "Απευθυνθείτε σε προειδοποιήσεις για βελτίωση της ποιότητας",
"reviewWarnings": "Ελέγξτε τις προειδοποιήσεις και διορθώστε όπου χρειάζεται",
"considerRunningWithStrict": "2. Εξετάστε το ενδεχόμενο εκτέλεσης με --strict flag για αυστηρότερη επικύρωση",
"allValidationsPassed": "🎉 Όλες οι επικυρώσεις πέρασαν!",
"considerRunningUsageAnalysis": "Εξετάστε το ενδεχόμενο εκτέλεσης ανάλυσης χρήσης: node i18ntk-usage.js",
"deletedOldReport": "🗑️ Διαγράφηκε η παλιά αναφορά επικύρωσης",
"sourceDir": "📁 Κατάλογος πηγής: {sourceDir}",
"i18nDir": "🌐 Κατάλογος I18n: {i18nDir}",
"loadingTranslationFiles": "📋 Φόρτωση αρχείων μετάφρασης...",
"foundTranslationFilesCount": "✅ Βρέθηκε {count} αρχεία μετάφρασης",
"analyzingTranslations": "🔍 Ανάλυση μεταφράσεων...",
"validationCompletedSuccessfully": "🎉 Η επικύρωση ολοκληρώθηκε με επιτυχία!",
"validationErrorsFound": "⚠️ Βρέθηκαν σφάλματα επικύρωσης: {count}",
"validationWarningsFound": "⚠️ Βρέθηκαν προειδοποιήσεις επικύρωσης: {count}",
"validationPassed": "✅ Η επικύρωση πέρασε χωρίς σφάλματα",
"validationFailed": "Η επικύρωση απέτυχε: {error}",
"startingValidationProcess": "🔍 Έναρξη διαδικασίας επικύρωσης...",
"validationProcessCompletedSuccessfully": "✅ Η διαδικασία επικύρωσης ολοκληρώθηκε με επιτυχία",
"stackTrace": "Ίχνη στοίβας: {stack}",
"authenticationFailed": "❌ Ο έλεγχος ταυτότητας απέτυχε. Δεν επιτρέπεται η πρόσβαση.",
"fatalValidationError": "❌ Θανατηφόρο σφάλμα επικύρωσης: {error}",
"configAccess": "Πρόσβαση στις ρυθμίσεις παραμέτρων για επικύρωση",
"configValidated": "Η διαμόρφωση επικυρώθηκε με επιτυχία",
"configError": "Σφάλμα διαμόρφωσης: {error}",
"validatorInit": "Εκκίνηση του εργαλείου επικύρωσης I18n",
"validatorInitialized": "Το πρόγραμμα επικύρωσης I18n ξεκίνησε με επιτυχία",
"validatorInitError": "Σφάλμα προετοιμασίας επικυρωτή: {error}",
"argsParsing": "Ανάλυση ορισμάτων γραμμής εντολών",
"argsParsed": "Τα ορίσματα της γραμμής εντολών αναλύθηκαν με επιτυχία",
"argsParseError": "Σφάλμα ανάλυσης επιχειρημάτων: {error}",
"languagesScan": "Σάρωση διαθέσιμων γλωσσών",
"languagesFound": "Θεμελιώ {count} γλώσσες",
"languagesScanError": "Σφάλμα σάρωσης γλώσσας: {error}",
"filesScan": "Θεμελιώ {count} αρχεία σε {language}",
"filesScanError": "Σφάλμα σάρωσης αρχείων: {error}",
"jsonValidated": "Η σύνταξη JSON επικυρώθηκε: {filePath}",
"jsonValidationError": "Σφάλμα επικύρωσης JSON: {error}",
"languageValidation": "Γλώσσα επικύρωσης: {language}",
"languageValidationError": "Σφάλμα επικύρωσης γλώσσας: {error}",
"fileDeleted": "Το αρχείο διαγράφηκε",
"runStarted": "Έναρξη εκτέλεσης επικύρωσης",
"runCompleted": "Η εκτέλεση επικύρωσης ολοκληρώθηκε με επιτυχία",
"runError": "Η εκτέλεση επικύρωσης απέτυχε: {error}",
"scriptExecution": "Εκτέλεση σεναρίου",
"validationCompleted": "Ολοκληρώθηκε η επικύρωση",
"validationError": "Σφάλμα επικύρωσης: {error}",
"separator": "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━",
"languageHeader": "🌐 Γλώσσα: {language}",
"validationResults": "📊 Αποτελέσματα επικύρωσης",
"noErrors": "✅ Δεν βρέθηκαν σφάλματα",
"noWarnings": "✅ Δεν βρέθηκαν προειδοποιήσεις",
"summaryHeader": "📋 OVERALL SUMMARY",
"progressIndicator": "⏳ Επεξεργασία...",
"completedIndicator": "✅ Ολοκληρώθηκε",
"errorIndicator": "❌ Σφάλμα",
"warningIndicator": "⚠️ Προειδοποίηση",
"infoIndicator": "ℹ️ Πληροφορίες",
"sourceDirNotConfigured": "Ο κατάλογος προέλευσης δεν έχει ρυθμιστεί",
"sourceLanguageNotConfigured": "Η γλώσσα πηγής δεν έχει διαμορφωθεί",
"translationFunctionNotInitialized": "Η λειτουργία μετάφρασης δεν προετοιμάστηκε σωστά",
"sourceLanguageDirectoryNotFound": "Ο κατάλογος γλώσσας πηγής δεν βρέθηκε",
"specifiedLanguageNotFound": "Η καθορισμένη γλώσσα δεν βρέθηκε",
"noJsonFilesFound": "Δεν βρέθηκαν αρχεία JSON στον κατάλογο προέλευσης: {sourceDir}",
"i18nDirectoryNotFound": "Ο κατάλογος I18n δεν βρέθηκε: {i18nDir}",
"invalidDirectoryPaths": "Εντοπίστηκαν μη έγκυρες διαδρομές καταλόγου",
"invalidSampleFilePath": "Μη έγκυρη διαδρομή δείγματος αρχείου",
"failedToCreateSampleTranslationFile": "Αποτυχία δημιουργίας δείγματος αρχείου μετάφρασης",
"invalidFilePathDetected": "Εντοπίστηκε μη έγκυρη διαδρομή αρχείου",