i18ntk
Version:
i18ntk (i18n Toolkit) - A comprehensive, enterprise-grade internationalization (i18n) management toolkit for JavaScript/TypeScript projects with advanced analysis, validation, and automation features
795 lines โข 115 kB
JSON
{
"meta": {
"version": "1.5.3",
"consolidated": "2025-08-06T14:36:37.465Z",
"sourceFiles": 256
},
"common": {
"welcome": "Welcome",
"hello": "Hello",
"goodbye": "Goodbye",
"yes": "Yes",
"no": "No",
"save": "Save",
"cancel": "Cancel",
"delete": "Delete",
"edit": "Edit",
"loading": "Loading...",
"offlineTitle": "You are offline",
"offlineMessage": "Please check your internet connection",
"tryReconnect": "Try to reconnect",
"logout": "Logout",
"login": "Login",
"amount": "Amount",
"success": "Success",
"error": "Error",
"warning": "Warning",
"info": "Info:",
"debug": "Debug",
"progress": "Progress:",
"remaining": "Remaining:",
"total": "Total:",
"completed": "7. Completed successfully!",
"missing": "Missing",
"partial": "Partial",
"sameAsSource": "Same as source:",
"formatMismatch": "Format mismatch:",
"typeMismatch": "Type mismatch:",
"structureMismatch": "Structure mismatch:",
"invalidOption": "Invalid option",
"separator": "==================================================",
"initializationFailed": "โ Initialization failed: {error}",
"stackTrace": "Stack trace: {stack}",
"pressEnterToContinue": "Press Enter to continue...",
"pressEnterToReturn": "Press Enter to return to main menu...",
"stepCompleted": "Step '{stepName}' completed.",
"stepFailed": "Step '{stepName}' failed.",
"runningStep": "Running step: {stepName}",
"command": "Command: {command}",
"startingWorkflow": "Starting workflow...",
"workflowCompleted": "Workflow completed.",
"checkReports": "Check reports for details.",
"errorExecutingCommand": "Error executing command: {error}",
"genericError": "โ Error: {{error}}",
"errorGeneratingStatusSummary": "Error generating status summary: {error}",
"errorRunningDebugTool": "Error running debug tool '{displayName}': {error}",
"errorReadingDebugLogs": "Error reading debug logs: {error}",
"errorAnalyzingLogFile": "Error analyzing log file: {error}",
"errorAnalyzingTranslationKeys": "Error analyzing translation keys: {error}",
"errorAnalyzingTranslationCompleteness": "Error analyzing translation completeness: {error}",
"errorAnalyzingTranslationFormat": "Error analyzing translation format: {error}",
"errorAnalyzingTranslationType": "Error analyzing translation type: {error}",
"errorAnalyzingTranslationStructure": "Error analyzing translation structure: {error}",
"errorAnalyzingTranslationFormatMismatch": "Error analyzing translation format mismatch: {error}",
"errorAnalyzingTranslationTypeMismatch": "Error analyzing translation type mismatch: {error}",
"errorAnalyzingTranslationStructureMismatch": "Error analyzing translation structure mismatch: {error}",
"errorAnalyzingTranslationSameAsSource": "Error analyzing translation same as source: {error}",
"title": "Status",
"nextStep1": "1. Check usage analysis:",
"nextStep2": "2. Validate translations:",
"nextStep3": "3. Analyze completeness:",
"nextStep4": "4. Complete missing translations:",
"nextStep5": "5. Generate summary report:",
"nextStep6": "6. Review and finalize translations:",
"generating": "Generating summary report...",
"review": "Reviewing translations...",
"finalizing": "Finalizing translations...",
"finalized": "Finalized successfully!",
"errors": "Errors:",
"warnings": "Warnings:",
"completedKeys": "Completed keys:",
"missingKeys": "Missing keys:",
"partialKeys": "Partial keys:"
},
"analyze": {
"help_message": "\nI18n Translation Analyzer\n\nUsage: node i18ntk-analyze.js [options]\n\nOptions:\n --source-dir <dir> Source directory to scan (default: ./src)\n --i18n-dir <dir> I18n directory (default: ./src/locales)\n --output-report Generate detailed report\n --output-dir <dir> Output directory for reports (default: ./reports)\n --help Show this help\n\nExamples:\n node i18ntk-analyze.js --output-report\n node i18ntk-analyze.js --source-dir=./app --i18n-dir=./locales\n node i18ntk-analyze.js --output-dir=./analysis --output-report\n",
"source_directory": "๐ Source directory: {sourceDir}",
"i18n_directory": "๐ I18n directory: {i18nDir}",
"loading_translation_files": "๐ Loading translation files...",
"sourceDirectoryLabel": "๐ Source Directory: {{sourceDir}}",
"sourceLanguageLabel": "๐ Source Language: {{sourceLanguage}}",
"strictModeLabel": "โ๏ธ Strict Mode: {{mode}}\n",
"found_translation_files_count": "โ
Found {count} translation files",
"analyzing_translations": "๐ Analyzing translations...",
"analysis_completed_successfully": "๐ Analysis completed successfully!",
"analysis_results": "๐ ANALYSIS RESULTS",
"language_analysis_stats": " {language}: {translatedKeys}/{totalKeys} ({percentage}% translated)",
"sample_missing_keys": "\nSample missing keys:",
"missing_key": "- {key}",
"and_more_missing": "...and {count} more.",
"sample_unused_keys": "\nSample unused keys:",
"unused_key": "- {key}",
"and_more_unused": "...and {count} more.",
"recommendations": "\n๐ RECOMMENDATIONS",
"add_missing_translations": "๐ก Add missing translations to improve coverage.",
"remove_unused_translations": "๐ก Remove unused translations to keep your project clean.",
"next_steps": "\n๐ NEXT STEPS",
"review_analysis_results": "1. Review the analysis results in the console or generated report.",
"run_with_output_report": "2. Run with --output-report for detailed report.",
"add_or_remove_translations": "3. Add missing translations or remove unused ones.",
"rerun_analysis": "4. Re-run analysis to verify improvements.",
"analysis_summary": "๐ ANALYSIS SUMMARY",
"source_files_scanned": "Source files scanned: {fileCount}",
"translation_files_checked": "Translation files checked: {translationFileCount}",
"total_keys": "Total keys: {totalKeys}",
"translated_keys": "Translated keys: {translatedKeys}",
"missing_keys": "Missing keys: {missingKeys}",
"unused_keys": "Unused keys: {unusedKeys}",
"translation_coverage": "Translation coverage: {coverage}%",
"analysis_passed_for_language": "โ
Analysis passed for {language}",
"analysis_failed_for_language": "โ Analysis failed for {language} ({missingKeys} missing, {unusedKeys} unused)",
"starting": "๐ Starting translation analysis...",
"foundLanguages": "๐ Found {count} languages to analyze: {languages}",
"analyzing": "๐ Analyzing {language}...",
"reportTitle": "๐ TRANSLATION ANALYSIS REPORT",
"generated": "Generated: {timestamp}",
"status": "Status: {translated}/{total} keys ({percentage}% translated)",
"filesAnalyzed": "Files analyzed: {analyzed}/{total}",
"keysNeedingTranslation": "Keys needing translation: {count}",
"fileBreakdown": "๐ FILE BREAKDOWN",
"error": "Error",
"completed": "โ
Analysis completed for {language}",
"progress": "๐ Overall Progress: {translated}/{total} languages processed",
"reportSaved": " Report saved: {reportPath}",
"summary": "๐ ANALYSIS SUMMARY",
"finished": "โ
Analysis completed successfully!",
"statusFileMissing": "โ Translation file missing",
"sourceKeys": "๐ Source keys: {count}",
"translation": "๐ Translation: {translated}/{total} ({percentage}%)",
"structure": "๐๏ธ Structure: {status}",
"consistent": "Consistent",
"inconsistent": "Inconsistent",
"missingKeys": "Missing keys: {count}",
"extraKeys": "Extra keys: {count}",
"issues": "โ ๏ธ Issues found: {count}",
"issueType": {
"not_translated": "Not translated: {count}",
"empty_value": "Empty values: {count}",
"partial_translation": "Partial translations: {count}",
"format_mismatch": "Format mismatches: {count}",
"type_mismatch": "Type mismatches: {count}",
"structure_mismatch": "Structure mismatches: {count}",
"same_as_source": "Same as source: {count}"
},
"keysToTranslate": "๐ KEYS TO TRANSLATE",
"key": "Key",
"english": "English",
"needsTranslation": "NEEDS TRANSLATION",
"andMoreKeys": "...and {count} more keys.",
"noLanguages": "โ ๏ธ No target languages found.",
"languageStats": "{language}: {percentage}% complete ({translated}/{total} keys)",
"invalidReportFilePath": "Invalid report file path",
"failedToWriteReportFile": "Failed to write report file securely"
},
"complete": {
"configLoadedSuccessfully": "Configuration loaded successfully",
"configLoadingFailed": "Configuration loading failed",
"title": "๐ I18N TRANSLATION COMPLETION",
"separator": "============================================================",
"sourceDir": "๐ Source directory: {sourceDir}",
"sourceLanguage": "๐ Source language: {sourceLanguage}",
"dryRunMode": "๐งช Dry run mode - no changes will be made",
"languages": "๐ Available languages: {languages}",
"addingMissingKeys": "โ Adding missing keys to translation files...",
"processing": "๐ Processing {language}...",
"addedKeys": "โ
Added {count} missing keys",
"noChangesNeeded": "โ
No changes needed for {language}",
"summaryTitle": "๐ COMPLETION SUMMARY",
"totalChanges": "๐ Total changes: {totalChanges}",
"languagesProcessed": "๐ Languages processed: {languagesProcessed}",
"missingKeysAdded": "โ Missing keys added: {missingKeysAdded}",
"nextStepsTitle": "๐ NEXT STEPS",
"nextStep1": "1. Run usage analysis:",
"nextStep2": " node i18ntk-usage.js --output-report",
"nextStep3": "2. Validate translations:",
"nextStep4": " node i18ntk-validate.js",
"nextStep5": "3. Analyze patterns:",
"nextStep6": " node i18ntk-analyze.js",
"allKeysAvailable": "๐ All translation keys are now available!",
"runWithoutDryRun": "๐ก Run without --dry-run to apply changes",
"deletingOldReport": "๐๏ธ Deleting old report...",
"generatingFreshAnalysis": "๐ Generating fresh usage analysis...",
"couldNotGenerate": "โ Could not generate usage analysis",
"reportNotFound": "๐ Usage report not found. Using common keys...",
"foundMissingKeys": "๐ Found {count} missing keys from usage analysis",
"couldNotParse": "โ Could not parse usage report. Using common keys...",
"errorDuringCompletion": "โ Error during completion: {error}",
"fatalError": "โ Fatal error: {error}",
"configurationValidationFailed": "Configuration validation failed: missing required fields"
},
"sizing": {
"separator": "================================================================================",
"lineSeparator": "--------------------------------------------------------------------------------",
"analysisStats": "{{stats}}",
"sourceDirectoryLabel": "๐ Source directory: {{sourceDir}}",
"sourceLanguageLabel": "๐ Source language: {{sourceLanguage}}",
"strictModeLabel": "โ๏ธ Strict mode: {{mode}}",
"invalidSourceDirectoryError": "Invalid source directory path: {{sourceDir}}",
"sourceDirectoryNotFoundError": "Source directory not found: {{sourceDir}}",
"invalidOutputDirectoryError": "Invalid output directory path: {{outputDir}}",
"invalidReportFileError": "Invalid report file path",
"problematic_keys": "Problematic keys: {problematicKeys}",
"problematicKeysLabel": "Problematic keys: {problematicKeys}",
"long_translations": "Long translations: {longTranslations}",
"failedToSaveReportError": "Failed to save report securely",
"invalidCsvFileError": "Invalid CSV file path",
"failedToSaveCsvError": "Failed to save CSV report securely",
"fatalError": "โ Sizing analysis failed: {{error}}",
"starting_i18n_sizing_analysis": "Starting i18n sizing analysis...",
"source_directory": "Source directory: {{sourceDir}}",
"found_languages": "Found languages: {{languages}}",
"analyzing_file_sizes": "Analyzing file sizes...",
"analyzing_translation_content": "Analyzing translation content...",
"generating_size_comparisons": "Generating size comparisons...",
"no_languages_found_for_comparison": "No languages found for comparison",
"sizing_analysis_results": "I18n Sizing Analysis Results",
"file_sizes_title": "File Sizes",
"file_sizes_header": "Language Size(KB) Lines Characters",
"file_size_row": "{{lang}} {{sizeKB}} {{lines}} {{characters}}",
"language_statistics_title": "Language Statistics",
"language_stats_header": "Language Keys Characters Avg Length Max Length Empty Long",
"language_stats_row": "{{lang}} {{totalKeys}} {{totalCharacters}} {{averageKeyLength}} {{maxKeyLength}} {{emptyKeys}} {{longKeys}}",
"size_variations_title": "Size Variations",
"size_variations_header": "Language Char Diff % Diff Problematic",
"size_variation_row": "{{lang}} {{characterDifference}} {{percentageDifference}}% {{problematic}}",
"problematic_yes": "Yes",
"problematic_no": "No",
"recommendations_title": "Recommendations",
"recommendation_item": "{{index}}. {{recommendation}}",
"problematic_key_detail": " {{index}}. Key: '{{key}}' - Variations: {{variations}}",
"generating_detailed_report": "Generating detailed report...",
"keysHaveSignificantSizeVariations": "keys have significant size variations",
"longTranslationsDetected": "${lang} has ${data.longKeys} translations longer than 100 characters - consider breaking them down",
"report_saved_to": "Report saved to: {{reportPath}}",
"considerReviewingTranslations": "Consider reviewing ${lang} translations - they are ${data.percentageDifference}% longer than baseline",
"csv_report_saved_to": "CSV report saved to: {{csvPath}}",
"no_translation_files_found": "No translation files found",
"analysis_completed": "Analysis completed in {{duration}}ms",
"analysis_failed": "Analysis failed: {{errorMessage}}",
"failed_to_parse_language_error": "Failed to parse {{language}} translations: {{errorMessage}}",
"recommendations": {
"keys_have_significant_size_variations": "keys have significant size variations",
"consider_reviewing_translations": "Consider reviewing {{lang}} translations - they are {{percentageDifference}}% {{comparison}} than baseline",
"long_translations_detected": "{{lang}} has {{longKeys}} translations longer than {{threshold}} characters - consider breaking them down"
},
"hardcodedTexts": {
"keysHaveSignificantSizeVariations": "keys have significant size variations",
"considerReviewingTranslations": "Consider reviewing {{lang}} translations - they are {{percentageDifference}}% {{comparison}} than baseline",
"longTranslationsDetected": "{{lang}} has {{longKeys}} translations longer than {{threshold}} characters - consider breaking them down"
}
},
"usage": {
"help_message": "\nI18n Usage Analyzer\n\nUsage: node i18ntk-usage.js [options]\n\nOptions:\n --source-dir <dir> Source directory to scan (default: ./src)\n --i18n-dir <dir> I18n directory (default: ./src/locales)\n --output-report Generate detailed report\n --output-dir <dir> Output directory for reports (default: ./reports)\n --help Show this help\n\nExamples:\n node i18ntk-usage.js --output-report\n node i18ntk-usage.js --source-dir=./app --i18n-dir=./locales\n node i18ntk-usage.js --output-dir=./analysis --output-report\n",
"source_directory_thissourcedir": "๐ Source directory: {sourceDir}",
"translationCompletenessTitle": "๐ Translation Completeness:",
"i18n_directory_thisi18ndir": "๐ I18n directory: {i18nDir}",
"failed_to_parse_filename_error": "โ ๏ธ Failed to parse {fileName}: {errorMessage}",
"analyzing_source_files": "๐ Analyzing source files...",
"found_files_in_source": "๐ Found {numFiles} files in source directory",
"found_thisusedkeyssize_unique_": "๐ฏ Found {usedKeysSize} unique used keys",
"total_key_usages_totalkeysfoun": "๐ Total key usages: {totalKeysFound}",
"loading_available_translation_": "๐ Loading available translation keys...",
"found_thisavailablekeyssize_av": "โ
Found {availableKeysSize} available keys",
"foundTranslationFiles": "โ
Found {count} translation files",
"pressEnterToReturnToMenu": "๐ Press Enter to return to the main menu...",
"notTranslatedKeysTotal": "โ ๏ธ Not translated keys: {total}",
"noSourceFilesFound": "โ ๏ธ No source files found in the source directory.",
"reviewNotTranslatedKeys": "๐ก Review not translated keys",
"analysisCompletedSuccessfully": "๐ Analysis completed successfully!",
"detectedSourceDirectory": "Detected source directory: {{sourceDir}}",
"detectedI18nDirectory": "Detected i18n directory: {i18nDir}",
"fileInfo": " ๐ {namespace}: {keys} keys",
"failedToAnalyzeUsage": "โ Failed to analyze usage: {error}",
"failedToAnalyzeFile": "โ Failed to analyze file: {error}",
"analyzerInitialized": "Analyzer initialized",
"analyzerInitFailed": "Analyzer initialization failed: {error}",
"argsParsed": "Arguments parsed",
"argsParseFailed": "Argument parsing failed: {error}",
"translationDiscoveryError": "Translation discovery error: {error}",
"fileTraversalError": "File traversal error: {error}",
"usageAnalysisFailed": "Usage analysis failed: {error}",
"translationFileParseError": "Translation file parse error: {error}",
"translationKeysLoadError": "Translation keys load error: {error}",
"languageCompletenessStats": "{language}: {translated}/{total} ({completeness}% translated)",
"missingKeysCount": "Missing keys: {count}",
"analyzingTranslationCompleteness": "Analyzing translation completeness...",
"unusedKeysCount": "Unused keys: {count}",
"usedKeysCount": "Used keys: {count}",
"availableKeysCount": "Available keys: {count}",
"analysisResults": "Analysis results:",
"checkUsage": {
"title": "๐ I18N USAGE ANALYSIS",
"message": "Analyzing i18n key usage across your project.",
"help_message": "\nI18n Usage Analyzer\n\nUsage: node i18ntk-usage.js [options]\n\nOptions:\n --source-dir <dir> Source directory to scan (default: ./src)\n --i18n-dir <dir> I18n directory (default: ./src/locales)\n --output-report Generate detailed report\n --output-dir <dir> Output directory for reports (default: ./reports)\n --help Show this help\n\nExamples:\n node i18ntk-usage.js --output-report\n node i18ntk-usage.js --source-dir=./app --i18n-dir=./locales\n node i18ntk-usage.js --output-dir=./analysis --output-report\n",
"source_directory_thissourcedir": "๐ Source directory: {sourceDir}",
"i18n_directory_thisi18ndir": "๐ I18n directory: {i18nDir}",
"loading_available_translation_": "๐ Loading available translation keys...",
"found_thisavailablekeyssize_av": "โ
Found {availableKeysSize} available keys",
"analyzing_source_files": "๐ Analyzing source files...",
"found_files_in_source": "๐ Found {numFiles} files in source directory",
"found_thisusedkeyssize_unique_": "๐ฏ Found {usedKeysSize} unique used keys",
"total_key_usages_totalkeysfoun": "๐ Total key usages: {totalKeysFound}",
"translation_completeness_title": "๐ TRANSLATION COMPLETENESS",
"language_completeness_stats": " {language}: {translated}/{total} ({completeness}% translated)",
"n_sample_unused_keys": "\nSample unused keys:",
"key": "- {key}",
"and_unusedkeyslength_5_more": "...and {count} more.",
"n_recommendations": "\n๐ RECOMMENDATIONS",
"consider_removing_unused_trans": "๐ก Consider removing unused translations to keep your project clean.",
"n_next_steps": "\n๐ NEXT STEPS",
"1_review_the_analysis_results": "1. Review the analysis results in the console or generated report.",
"2_run_with_outputreport_for_de": "2. Run with --output-report for detailed report.",
"3_remove_unused_keys_or_add_mi": "3. Remove unused keys or add missing keys to your source code.",
"4_rerun_analysis_to_verify_imp": "4. Re-run analysis to verify improvements.",
"usage_analysis_results": "๐ USAGE ANALYSIS RESULTS",
"source_files_scanned_thisfileu": "Source files scanned: {fileUsageSize}",
"available_translation_keys_thi": "Available translation keys: {availableKeysSize}",
"used_translation_keys_thisused": "Used translation keys: {usedKeysSize}",
"dynamic_keys_detected_dynamick": "Dynamic keys detected: {dynamicKeysLength}",
"unused_keys_unusedkeyslength": "Unused keys: {unusedKeysLength}",
"missing_keys_missingkeyslength": "Missing keys: {missingKeysLength}",
"noSourceFilesFound": "No source files found to analyze.",
"processedFiles": "Processed {processedFiles} of {totalFiles} files.",
"i18nDirectoryNotFound": "I18n directory not found: {i18nDir}",
"noTranslationLanguagesFound": "No translation languages found.",
"failedToAnalyzeFile": "Failed to analyze file {filePath}: {error}",
"failedToAnalyzeLanguage": "Failed to analyze language {language}: {error}",
"translationCompletenessAnalysisFailed": "Translation completeness analysis failed: {error}",
"n": ""
},
"complete": {
"configLoadedSuccessfully": "Configuration loaded successfully",
"configLoadingFailed": "Configuration loading failed",
"title": "๐ I18N TRANSLATION COMPLETION",
"separator": "============================================================",
"sourceDir": "๐ Source directory: {sourceDir}",
"sourceLanguage": "๐ Source language: {sourceLanguage}",
"dryRunMode": "๐งช Dry run mode - no changes will be made",
"languages": "๐ Available languages: {languages}",
"addingMissingKeys": "โ Adding missing keys to translation files...",
"processing": "๐ Processing {language}...",
"addedKeys": "โ
Added {count} missing keys",
"noChangesNeeded": "โ
No changes needed for {language}",
"summaryTitle": "๐ COMPLETION SUMMARY",
"totalChanges": "๐ Total changes: {totalChanges}",
"languagesProcessed": "๐ Languages processed: {languagesProcessed}",
"missingKeysAdded": "โ Missing keys added: {missingKeysAdded}",
"nextStepsTitle": "๐ NEXT STEPS",
"nextStep1": "1. Run usage analysis:",
"nextStep2": " node i18ntk-usage.js --output-report",
"nextStep3": "2. Validate translations:",
"nextStep4": " node i18ntk-validate.js",
"nextStep5": "3. Analyze patterns:",
"nextStep6": " node i18ntk-analyze.js",
"allKeysAvailable": "๐ All translation keys are now available!",
"runWithoutDryRun": "๐ก Run without --dry-run to apply changes",
"deletingOldReport": "๐๏ธ Deleting old report...",
"generatingFreshAnalysis": "๐ Generating fresh usage analysis...",
"couldNotGenerate": "โ Could not generate usage analysis",
"reportNotFound": "๐ Usage report not found. Using common keys...",
"foundMissingKeys": "๐ Found {count} missing keys from usage analysis",
"couldNotParse": "โ Could not parse usage report. Using common keys..."
}
},
"validate": {
"help_message": "\nI18n Translation Validator\n\nUsage: node i18ntk-validate.js [options]\n\nOptions:\n --source-dir <dir> Source directory to scan (default: ./src)\n --i18n-dir <dir> I18n directory (default: ./src/locales)\n --output-report Generate detailed report\n --output-dir <dir> Output directory for reports (default: ./reports)\n --help Show this help\n\nExamples:\n node i18ntk-validate.js --output-report\n node i18ntk-validate.js --source-dir=./app --i18n-dir=./locales\n node i18ntk-validate.js --output-dir=./analysis --output-report\n",
"title": "๐ I18n Translation Validator",
"message": "Starting validation process...",
"sourceDirectory": "๐ Source directory: {dir}",
"sourceLanguage": "๐ Source language: {sourceLanguage}",
"strictMode": "โ๏ธ Strict mode: {mode}",
"noTargetLanguages": "โ ๏ธ No target languages found to validate",
"validatingLanguages": "๐ Validating languages: {langs}",
"validatingLanguage": "๐ Validating language: {lang}",
"filesCount": "๐ Files: {count}",
"keysCount": "๐ Keys: {count}",
"missingFilesCount": "๐ Missing files: {count}",
"syntaxErrorsCount": "โ Syntax errors: {count}",
"translationPercentage": "๐ฏ Translation: {percentage}% ({translated}/{total} keys)",
"validationSummary": "๐ VALIDATION SUMMARY",
"validation_failed": "โ Validation failed: {error}",
"totalErrors": "โ Total errors: {count}",
"totalWarnings": "โ ๏ธ Total warnings: {count}",
"errorsSection": "โ ERRORS",
"warningsSection": "โ ๏ธ WARNINGS",
"recommendationsSection": "๐ก RECOMMENDATIONS",
"fixErrorsFirst": "1. Fix all errors first",
"resolveMissingFilesAndSyntaxErrors": "1. Resolve missing files and syntax errors",
"fixStructuralInconsistencies": "2. Fix structural inconsistencies",
"completeMissingTranslations": "3. Complete missing translations",
"rerunValidation": "4. Rerun validation to verify fixes",
"addressWarnings": "Address warnings to improve quality",
"reviewWarnings": "Review warnings and fix where appropriate",
"considerRunningWithStrict": "2. Consider running with --strict flag for stricter validation",
"allValidationsPassed": "๐ All validations passed!",
"considerRunningUsageAnalysis": "Consider running usage analysis: node i18ntk-usage.js",
"deletedOldReport": "๐๏ธ Deleted old validation report",
"sourceDir": "๐ Source directory: {sourceDir}",
"i18nDir": "๐ I18n directory: {i18nDir}",
"loadingTranslationFiles": "๐ Loading translation files...",
"foundTranslationFilesCount": "โ
Found {count} translation files",
"analyzingTranslations": "๐ Analyzing translations...",
"validationCompletedSuccessfully": "๐ Validation completed successfully!",
"validationErrorsFound": "โ ๏ธ Validation errors found: {count}",
"validationWarningsFound": "โ ๏ธ Validation warnings found: {count}",
"validationPassed": "โ
Validation passed with no errors",
"validationFailed": "Validation failed: {error}",
"startingValidationProcess": "๐ Starting validation process...",
"validationProcessCompletedSuccessfully": "โ
Validation process completed successfully",
"stackTrace": "Stack trace: {{stack}}",
"authenticationFailed": "โ Authentication failed. Access denied.",
"fatalValidationError": "โ Fatal validation error: {{error}}",
"configAccess": "Accessing configuration for validation",
"configValidated": "Configuration validated successfully",
"configError": "Configuration error: {error}",
"validatorInit": "Initializing I18n validator",
"validatorInitialized": "I18n validator initialized successfully",
"validatorInitError": "Validator initialization error: {error}",
"argsParsing": "Parsing command line arguments",
"argsParsed": "Command line arguments parsed successfully",
"argsParseError": "Argument parsing error: {error}",
"languagesScan": "Scanning available languages",
"languagesFound": "Found {count} languages",
"languagesScanError": "Language scanning error: {error}",
"filesScan": "Found {count} files in {language}",
"filesScanError": "File scanning error: {error}",
"jsonValidated": "JSON syntax validated: {filePath}",
"jsonValidationError": "JSON validation error: {error}",
"languageValidation": "Validating language: {language}",
"languageValidationError": "Language validation error: {error}",
"fileDeleted": "File deleted",
"runStarted": "Starting validation run",
"runCompleted": "Validation run completed successfully",
"runError": "Validation run failed: {error}",
"scriptExecution": "Script execution",
"validationCompleted": "Validation completed",
"validationError": "Validation error: {error}",
"separator": "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ",
"languageHeader": "๐ Language: {language}",
"validationResults": "๐ Validation Results",
"noErrors": "โ
No errors found",
"noWarnings": "โ
No warnings found",
"summaryHeader": "๐ OVERALL SUMMARY",
"progressIndicator": "โณ Processing...",
"completedIndicator": "โ
Completed",
"errorIndicator": "โ Error",
"warningIndicator": "โ ๏ธ Warning",
"infoIndicator": "โน๏ธ Info",
"sourceDirNotConfigured": "Source directory not configured",
"sourceLanguageNotConfigured": "Source language not configured",
"translationFunctionNotInitialized": "Translation function not properly initialized",
"sourceLanguageDirectoryNotFound": "Source language directory not found",
"specifiedLanguageNotFound": "Specified language not found",
"noJsonFilesFound": "No JSON files found in source directory: {sourceDir}",
"i18nDirectoryNotFound": "I18n directory not found: {i18nDir}",
"invalidDirectoryPaths": "Invalid directory paths detected",
"invalidSampleFilePath": "Invalid sample file path",
"failedToCreateSampleTranslationFile": "Failed to create sample translation file",
"invalidFilePathDetected": "Invalid file path detected",
"failedToWriteFile": "Failed to write file: {filePath}"
},
"adminCli": {
"setupPinProtectionTitle": "\n๐ Setting up Admin PIN Protection",
"setupPinProtectionDescription": "This will require a 4-6 digit PIN for administrative operations.",
"enablePinProtectionPrompt": "Do you want to enable admin PIN protection?",
"setupCancelled": "Admin PIN protection setup cancelled.",
"enterPinPrompt": "Enter a 4-6 digit PIN: ",
"pinFormatError": "โ PIN must be 4-6 digits. Please try again.",
"confirmPinPrompt": "Confirm PIN: ",
"pinMismatchError": "โ PINs do not match. Please try again.",
"pinProtectionEnabledSuccess": "โ
Admin PIN protection enabled successfully!",
"pinRecoveryWarning": "โ ๏ธ Remember your PIN - it cannot be recovered if lost.",
"setupPinProtectionFailed": "โ Failed to setup admin PIN protection.",
"errorSettingUpPin": "โ Error setting up admin PIN: {message}",
"authRequiredForOperation": "\n๐ Admin authentication required for: {operation}",
"invalidPinFormat": "โ Invalid PIN format. PIN must be 4-6 digits.",
"authenticationSuccess": "โ
Authentication successful!",
"invalidPinAttemptsRemaining": "โ Invalid PIN. {remaining} attempts remaining.",
"authenticationFailedAccessDenied": "โ Authentication failed. Access denied.",
"authenticationError": "โ Authentication error: {message}",
"pinProtectionNotEnabled": "Admin PIN protection is not currently enabled.",
"disablingPinProtectionTitle": "\n๐ Disabling Admin PIN Protection",
"confirmDisablePinProtection": "Are you sure you want to disable admin PIN protection?",
"operationCancelled": "Operation cancelled.",
"pinProtectionDisabledSuccess": "โ
Admin PIN protection disabled.",
"disablePinProtectionFailed": "โ Failed to disable admin PIN protection.",
"errorDisablingPinProtection": "โ Error disabling admin protection: {message}",
"adminProtectionStatusTitle": "\n๐ Admin Protection Status",
"statusEnabled": "Status: โ
ENABLED",
"protectionDetails": "Protection: 4-6 digit PIN required for admin operations",
"lockoutDetails": "Lockout: 3 failed attempts = 15 minute lockout",
"statusDisabled": "Status: โ DISABLED",
"noAuthRequired": "Protection: No authentication required",
"unprotectedRisk": "Risk: Administrative operations are unprotected",
"errorCheckingAdminStatus": "โ Error checking admin status: {message}",
"authRequired": "๐ Admin authentication required.",
"invalidPin": "โ Invalid PIN.",
"authSuccess": "โ
Authentication successful!",
"adminPinSetupCli": "admin_pin_setup_cli",
"adminAuthFailedCli": "admin_auth_failed_cli",
"adminAuthDisabledCli": "admin_auth_disabled_cli",
"protectedAccess": "Protected access: Admin authentication required for sensitive operations.",
"enterPin": "Enter admin PIN: ",
"accessGranted": "Access granted."
},
"adminPin": {
"setup_title": "๐ Admin PIN Setup",
"setup_separator": "============================================================",
"setup_description": "Create a 4-6 digit PIN for admin access to sensitive settings.",
"required_for_title": "This PIN will be required for:",
"required_for_1": " โข Changing security settings",
"required_for_2": " โข Modifying advanced configurations",
"required_for_3": " โข Accessing debug tools",
"required_for_4": " โข Resetting settings",
"setup_note": "๐ก Note: You will see asterisks (*) as you type - these are just masking characters.",
"setup_digits_only": " Only numbers 0-9 are accepted as PIN digits.",
"invalid_pin_length": "โ Invalid PIN. Must be 4-6 digits (numbers 0-9 only).",
"invalid_pin_example": " Example: 1234 or 567890",
"pins_do_not_match": "โ PINs do not match.",
"setup_success": "โ
Admin PIN has been set successfully!",
"setup_warning": "โ ๏ธ Keep this PIN secure. It cannot be recovered if lost.",
"setup_error": "โ Error setting up PIN:",
"session_expired": "\nโฐ Admin session expired due to inactivity.",
"no_pin_set_setting_up": "โ ๏ธ No admin PIN set. Setting up PIN...",
"no_pin_configured_access_denied": "โ ๏ธ No admin PIN configured. Access denied.",
"use_admin_settings_to_set_pin": "๐ก Use the admin settings to set up a PIN first.",
"locked_out": "๐ Admin access is locked due to too many failed attempts.",
"wait_before_retry": "Please wait 5 minutes before trying again.",
"access_granted": "โ
Admin access granted.",
"incorrect_pin": "โ Incorrect PIN. {attempts} attempts remaining.",
"verify_pin_error": "โ Error verifying PIN:",
"already_configured": "โ
Admin PIN is already configured.",
"optional_setup_title": "\n๐ Admin PIN Setup (Optional)",
"optional_setup_description": "Admin PIN protection adds security for sensitive operations like:",
"setup_prompt": "Would you like to set up an admin PIN? (y/N): ",
"skipping_setup": "โญ๏ธ Skipping admin PIN setup. You can set it up later in settings.",
"setup_prompt_error": "โ Error during PIN setup prompt:",
"protectedAccess": "Protected access: Admin authentication required for sensitive operations.",
"enterPin": "Enter admin PIN: ",
"accessGranted": "Access granted.",
"invalidPin": "โ Invalid PIN. Please try again.",
"weak_pin_warning": "โ ๏ธ WARNING: This PIN appears to be weak or common.",
"weak_pin_suggestion": "๐ก Consider using a stronger PIN with varied digits.",
"use_anyway_prompt": "Type \"yes\" to use anyway, or press Enter to choose a different PIN: ",
"enter_new_pin": "Enter new admin PIN (4-6 digits): ",
"confirm_pin": "Confirm admin PIN: ",
"not_set": "Not Set",
"pin_display_mask": "####"
},
"autorun": {
"missingRequiredFile": "Missing required file: {file}",
"runInitializationFirst": "Please run initialization first.",
"initializationCheckPassed": "Initialization check passed.",
"runningStep": "Running step: {stepName}",
"commandLabel": "Command: {command}",
"stepRunning": "Step '{stepName}' running...",
"stepCompletedWithTime": "Step '{stepName}' completed in {duration}ms.",
"stepCompleted": "Step '{stepName}' completed.",
"stepFailed": "Step '{stepName}' failed.",
"errorLabel": "Error: {error}",
"stepFailedWithError": "Step '{stepName}' failed with error: {error}",
"requiredStepFailed": "Required step failed. Stopping workflow.",
"optionalStepFailed": "Optional step failed. Continuing workflow.",
"startingAutoRunWorkflow": "Starting Auto-Run Workflow...",
"workflowIncludesSteps": "Workflow includes {count} steps:",
"stepRequired": "(Required)",
"stepOptional": "(Optional)",
"startingExecution": "Starting execution...",
"workflowStopped": "Workflow stopped.",
"workflowCompleted": "Workflow completed.",
"pressEnterToContinue": "Press Enter to continue...",
"runningSelectedSteps": "Running selected steps...",
"invalidStepNumber": "Invalid step number: {stepNum}",
"executionReport": "Execution Report:",
"successfulSteps": "Successful steps: {count}",
"failedSteps": "Failed steps: {count}",
"requiredFailedSteps": "Required steps failed: {count}",
"stepDetails": "Step Details:",
"errorDetails": "Error: {error}",
"reportSavedTo": "Report saved to: {path}",
"overallStatusSuccess": "SUCCESS",
"overallStatusFailed": "FAILED",
"overallStatus": "Overall Status: {status}",
"customSettingsConfiguration": "Custom Settings Configuration",
"pressEnterForDefaults": "Press Enter to use default settings for any prompt.",
"sourceDirPrompt": "Enter source directory (default: {default}): ",
"sourceLangPrompt": "Enter source language (default: {default}): ",
"targetLangsPrompt": "Enter target languages (comma-separated, default: {default}): ",
"translationMarkerPrompt": "Enter translation marker (default: {default}): ",
"outputDirPrompt": "Enter output directory for reports (default: {default}): ",
"settingsUpdatedSuccessfully": "Settings updated successfully!",
"errorConfiguringSettings": "Error configuring settings: {error}",
"autoRunScriptTitle": "Auto-Run Script",
"usageTitle": "Usage:",
"runAllSteps": "node i18ntk-autorun.js --all - Run all steps defined in i18ntk-config.json",
"configureSettingsFirst": "node i18ntk-autorun.js --config - Configure settings for the workflow",
"runSpecificSteps": "node i18ntk-autorun.js --steps <step_numbers> - Run specific steps (e.g., --steps 1,3,5)",
"showHelp": "node i18ntk-autorun.js --help - Show this help message",
"availableSteps": "Available Steps:",
"examplesTitle": "Examples:",
"configExample": "node i18ntk-autorun.js --config",
"stepsExample1": "node i18ntk-autorun.js --steps 1,2,3",
"stepsExample2": "node i18ntk-autorun.js --all",
"configurationComplete": "Configuration complete.",
"runAutoRunCommand": "Now you can run the auto-run command.",
"configurationFailed": "Configuration failed: {error}",
"noValidStepNumbers": "No valid step numbers provided.",
"autoRunFailed": "Auto-run failed: {error}",
"stepInitializeProject": "Initialize Project",
"stepAnalyzeTranslations": "Analyze Translations",
"stepValidateTranslations": "Validate Translations",
"stepCheckUsage": "Checked Usage",
"stepCompleteTranslations": "Complete Translations",
"stepAnalyzeSizing": "Analyze Sizing",
"stepGenerateSummary": "Generating summary report...",
"stepCompletedIcon": "โ
",
"stepCompletedWithIcon": "โ
Step '{stepName}' completed.",
"stepRunningWithNumber": "[{stepNumber}/{totalSteps}] Step '{stepName}' running...",
"stepFailedIcon": "โ",
"translationLoadWarning": "Warning: Could not load {lang} translations",
"configReadError": "Error reading {file}",
"separator": "=================================================="
},
"debug": {
"title": "๐ง Debug Tools",
"separator": "============================================================",
"mainDebuggerSystemDiagnostics": "1. System Diagnostics",
"_consoleTranslationsCheck": "// 2. Console Translations Check",
"_exportMissingKeys": "// 3. Export Missing Translation Keys",
"_replaceHardcodedConsole": "// 4. Replace Hardcoded Console Strings",
"_consoleKeyChecker": "// 5. Console Key Checker",
"debugLogs": "2. Debug Logs",
"backToMainMenu": "0. Back to Main Menu",
"selectOption": "Select a debug tool: ",
"runningDebugTool": "Running {displayName}...",
"debugToolNotFound": "โ Debug tool not found: {toolName}",
"errorRunningDebugTool": "Error running debug tool '{displayName}': {error}",
"recentDebugLogs": "๐ Recent Debug Logs",
"noDebugLogsFound": "โ No debug logs found.",
"debugLogsDirectoryNotFound": "โ Debug logs directory not found.",
"selectLogPrompt": "Select log file to view (1-{count}): ",
"invalidChoiceSelectRange": "Invalid choice. Please select from the available range.",
"contentOf": "๐ Content of {filename}:",
"pressEnterToContinue": "Press Enter to continue..."
},
"detect_language_mismatches": {
"tool_title": "๐ Language Mismatch Detection Tool",
"separator": "=====================================\n",
"analyzing_file": "๐ Analyzing {language}.json...",
"error_analyzing_file": "โ Error analyzing {filename}: {errorMessage}",
"results_title": "๐ LANGUAGE MISMATCH DETECTION RESULTS",
"results_separator": "========================================\n",
"summary_title": "๐ SUMMARY:",
"total_files_analyzed": " Total files analyzed: {totalFiles}",
"files_with_mismatches": " Files with mismatches: {filesWithMismatches}",
"total_mismatches_found": " Total mismatches found: {totalMismatches}\n",
"no_mismatches_found": "โ
No language mismatches found! All translations appear to be in their correct languages.\n",
"detailed_results_title": "๐ DETAILED RESULTS:\n",
"file_mismatch_header": "๐ {filename} ({language})",
"mismatches_count": " Found {count} mismatch(es):\n",
"mismatch_details": " {index}. Key: {key}",
"mismatch_value": " Value: \"{value}\"",
"mismatch_issue": " Issue: {description}",
"recommendations_title": "๐ก RECOMMENDATIONS:\n",
"recommendation_1": "1. Review and translate all entries marked with [TRANSLATE]",
"recommendation_2": "2. Replace language prefixes (e.g., [DE], [FR]) with proper translations",
"recommendation_3": "3. Translate English text to the appropriate target language",
"recommendation_4": "4. Use native language equivalents for all user-facing text",
"recommendation_5": "5. Run this tool again after making corrections to verify fixes\n",
"detailed_report_saved": "๐ Detailed report saved to: {reportPath}\n",
"error_saving_report": "โ Error saving report: {errorMessage}\n",
"auto_fix_mode": "๐ง Auto-fix mode {dryRun}",
"auto_fix_separator": "=====================================\n",
"fixed_file": "โ
Fixed {filename}",
"auto_fix_summary_title": "\n๐ Auto-fix Summary:",
"total_fixes_applied": " Total fixes applied: {count}",
"preview_fixes_title": "\n๐ Preview of fixes:",
"fix_details": " {file}: {key}\n Old: \"{old}\"\n New: \"{new}\"\n",
"more_fixes": " ... and {count} more fixes\n",
"run_with_apply_fixes": "๐ก Run with --apply to apply these fixes\n",
"error_general": "โ Error:",
"mainDebuggerSystemDiagnostics": "Main Debugger / System Diagnostics",
"exportMissingKeys": "Export Missing Keys",
"replaceHardcodedConsole": "Replace Hardcoded Console",
"consoleKeyChecker": "Console Key Checker",
"debugLogs": "Debug Logs",
"backToMainMenu": "Back to Main Menu",
"invalidChoiceSelectRange": "โ Invalid choice. Please select a number within the displayed range.",
"runningDebugTool": "Running debug tool: {displayName}",
"debugToolNotFound": "Debug tool '{toolName}' not found.",
"recentDebugLogs": "Recent Debug Logs",
"noDebugLogsFound": "No debug logs found.",
"logEntry": "Log Entry: {timestamp} - {message}",
"debugLogsDirectoryNotFound": "Debug logs directory not found."
},
"help": {
"title": "๐ I18N MANAGEMENT HELP\n\n",
"usage": "Usage: node i18ntk-manage.js [options]\n",
"interactiveMode": "\n๐ก Use: node i18ntk-manage.js --command=<command> for direct execution\n",
"showHelp": "\n๐ Use: node i18ntk-manage.js --help for available commands\n",
"availableCommands": "\n๐ Available Commands:\n",
"initProject": "๐ Initialize new languages",
"analyzeTranslations": "๐ Analyze translations",
"validateTranslations": "โ
Validate translations",
"checkUsage": "๐ Check key usage",
"initCommand": " init - Initialize new languages",
"analyzeCommand": " analyze - Analyze translations",
"validateCommand": " validate - Validate translations",
"usageCommand": " usage - Check key usage",
"sizingCommand": " sizing - Analyze sizing",
"completeCommand": " complete - Complete translations (100% coverage)",
"summaryCommand": " summary - Show project status",
"debugCommand": " debug - Debug translation issues",
"menu": {
"title": "\n๐ I18N MANAGEMENT MENU\n",
"description": "Interactive menu for managing internationalization\n",
"exit": "\n๐ช Exit"
},
"commands": {
"init": "\n init - Initialize new languages",
"analyze": " analyze - Analyze translations",
"validate": " validate - Validate translations",
"usage": " usage - Check key usage",
"sizing": " sizing - Analyze sizing",
"complete": " complete - Complete translations (100% coverage)",
"summary": " summary - Show project status",
"debug": " debug - Debug translation issues"
},
"options": {
"sourceDir": "\n --source-dir <dir> Source directory to analyze",
"output": " --output <file> Output file for the report",
"verbose": " --verbose, -v Show detailed information",
"keepReports": " --keep-reports Keep existing reports",
"deleteReports": " --delete-reports Delete existing reports",
"help": " --help, -h Show this help"
},
"examples": {
"title": "\nExamples:\n",
"example1": " node i18ntk-manage.js",
"example2": " node i18ntk-manage.js --source-dir ./locales",
"example3": " node i18ntk-manage.js --output summary-report.txt",
"example4": " node i18ntk-manage.js --verbose",
"example5": " node i18ntk-manage.js --source-dir ./locales --output report.json"
},
"features": {
"initProject": "๐ Initialize new languages",
"analyzeTranslations": "๐ Analyze translations",
"validateTranslations": "โ
Validate translations",
"checkUsage": "๐ Check key usage",
"completeTranslations": "๐ฏ Complete translations (100% coverage)",
"showSizing": "๐ Analyze sizing",
"runWorkflow": "๐ Run full workflow",
"showStatus": "๐ Show project status",
"deleteReports": "๐๏ธ Delete all reports",
"changeLanguage": "๐ Change UI language",
"settings": "โ๏ธ Settings",
"showHelp": "โ Help",
"debugTools": "๐ง Debug Tools"
},
"messages": {
"selectOption": "Select an option:",
"invalidOption": "โ Invalid option. Please try again.",
"operationCompleted": "โ
Operation completed successfully!",
"pressEnter": "Press Enter to continue...",
"goodbye": "๐ Goodbye!",
"unknownCommand": "Unknown command: {{command}}",
"nonInteractive": "โ ๏ธ Non-interactive mode detected. Menu displayed for reference only."
},
"i18n_helper": {
"translation_file_not_found": "Translation file not found: {translationFile}",
"error_loading_translations": "Error loading translations: {errorMessage}",
"translation_not_found": "Translation not found for key: {key}",
"translation_key_not_string": "Translation key does not resolve to a string: {key}",
"error_reading_locales_directory": "Error reading locales directory: {errorMessage}"
}
},
"init": {
"initializationTitle": "๐ i18n Management Toolkit - Project Initialization",
"sourceDirectoryLabel": "๐ Source Directory: {dir}",
"sourceLanguageLabel": "๐ Source Language: {language}",
"detectedI18nFrameworks": "๐ Detected i18n framework(s): {frameworks}",
"existingDirectoriesFound": "๐ Existing translation directories found:",
"useExistingDirectoryPrompt": "Do you want to use the existing directory? (y/n)",
"autoDetectedI18nDirectory": "๐ Auto-detected i18n directory: {directory}",
"initializingProject": "โ๏ธ Initializing project configuration...",
"createdSampleTranslationFile": "โ
Cre