{
  "meta": {
    "version": "1.5.3",
    "consolidated": "2025-08-06T14:36:37.519Z",
    "sourceFiles": 256
  },
  "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}}",
    "errorGeneratingStatusSummary": "生成状态摘要时出错: {error}",
    "errorRunningDebugTool": "运行调试工具'{displayName}'时出错: {error}",
    "errorReadingDebugLogs": "读取调试日志时出错: {error}",
    "errorAnalyzingLogFile": "分析日志文件时出错: {error}",
    "errorAnalyzingTranslationKeys": "分析翻译键时出错: {error}",
    "errorAnalyzingTranslationCompleteness": "分析翻译完整性时出错: {error}",
    "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": "成功完成！",
    "errors": "错误：",
    "warnings": "警告：",
    "completedKeys": "已完成键：",
    "missingKeys": "缺失键：",
    "partialKeys": "部分键："
  },
  "analyze": {
    "help_message": "\n国际化翻译分析器\n\n用法: node i18ntk-analyze.js [选项]\n\n选项:\n  --source-dir <dir>     要扫描的源目录 (默认: ./src)\n  --i18n-dir <dir>       I18n 目录 (默认: ./src/locales)\n  --output-report        生成详细报告\n  --output-dir <dir>     报告输出目录 (默认: ./reports)\n  --help                 显示此帮助\n\n示例:\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": "📁 源目录: {sourceDir}",
    "i18n_directory": "🌐 I18n 目录: {i18nDir}",
    "loading_translation_files": "📋 正在加载翻译文件...",
    "sourceDirectoryLabel": "📁 源目录: {{sourceDir}}",
    "sourceLanguageLabel": "🌍 源语言: {{sourceLanguage}}",
    "strictModeLabel": "⚙️ 严格模式: {{mode}}\n",
    "found_translation_files_count": "✅ 找到 {count} 个翻译文件",
    "analyzing_translations": "🔍 正在分析翻译...",
    "analysis_completed_successfully": "🎉 分析成功完成！",
    "analysis_results": "📊 分析结果",
    "language_analysis_stats": "  {language}: {translatedKeys}/{totalKeys} ({percentage}% 已翻译)",
    "sample_missing_keys": "\n缺失键示例:",
    "missing_key": "- {key}",
    "and_more_missing": "...以及 {count} 个更多。",
    "sample_unused_keys": "\n未使用键示例:",
    "unused_key": "- {key}",
    "and_more_unused": "...以及 {count} 个更多。",
    "recommendations": "\n📋 建议",
    "add_missing_translations": "💡 添加缺失翻译以提高覆盖率。",
    "remove_unused_translations": "💡 删除未使用的翻译以保持项目整洁。",
    "next_steps": "\n📋 后续步骤",
    "review_analysis_results": "1. 查看控制台或生成报告中的分析结果。",
    "run_with_output_report": "2. 使用 --output-report 运行以获取详细报告。",
    "add_or_remove_translations": "3. 添加缺失翻译或删除未使用的翻译。",
    "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": "📊 分析摘要",
    "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": "配置加载失败",
    "title": "🌍 I18N翻译完成",
    "separator": "============================================================",
    "sourceDir": "📁 源目录：{sourceDir}",
    "sourceLanguage": "🌐 源语言：{sourceLanguage}",
    "dryRunMode": "🧪 试运行模式 - 不会进行任何更改",
    "languages": "🌍 可用语言：{languages}",
    "addingMissingKeys": "➕ 正在向翻译文件添加缺失的键...",
    "processing": "🔄 正在处理 {language}...",
    "addedKeys": "✅ 已添加 {count} 个缺失的键",
    "noChangesNeeded": "✅ {language} 不需要更改",
    "summaryTitle": "📊 完成摘要",
    "totalChanges": "📝 总更改数：{totalChanges}",
    "languagesProcessed": "🌍 处理的语言：{languagesProcessed}",
    "missingKeysAdded": "➕ 已添加的缺失键：{missingKeysAdded}",
    "nextStepsTitle": "📋 后续步骤",
    "nextStep1": "1. 运行使用情况分析：",
    "nextStep2": "   node i18ntk-usage.js --output-report",
    "nextStep3": "2. 验证翻译：",
    "nextStep4": "   node i18ntk-validate.js",
    "nextStep5": "3. 分析模式：",
    "nextStep6": "   node 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": "开始国际化大小分析...",
    "source_directory": "源目录: {{sourceDir}}",
    "found_languages": "找到语言: {{languages}}",
    "analyzing_file_sizes": "正在分析文件大小...",
    "analyzing_translation_content": "正在分析翻译内容...",
    "generating_size_comparisons": "正在生成大小比较...",
    "no_languages_found_for_comparison": "未找到用于比较的语言",
    "sizing_analysis_results": "国际化大小分析结果",
    "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": "语言    字符差异  百分比差异  问题",
    "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个字符 - 考虑拆分它们",
    "report_saved_to": "报告已保存到: {{reportPath}}",
    "considerReviewingTranslations": "考虑检查 ${lang} 翻译 - 它们比基准长 ${data.percentageDifference}%",
    "csv_report_saved_to": "CSV报告已保存到: {{csvPath}}",
    "no_translation_files_found": "未找到翻译文件",
    "analysis_completed": "分析在{{duration}}毫秒内完成",
    "analysis_failed": "分析失败: {{errorMessage}}",
    "failed_to_parse_language_error": "无法解析{{language}}翻译: {{errorMessage}}",
    "recommendations": {
      "keys_have_significant_size_variations": "键有显著的大小变化",
      "consider_reviewing_translations": "考虑检查 {{lang}} 翻译 - 它们比基准 {{comparison}} {{percentageDifference}}%",
      "long_translations_detected": "{{lang}} 有 {{longKeys}} 个翻译超过 {{threshold}} 个字符 - 考虑拆分它们"
    },
    "hardcodedTexts": {
      "keysHaveSignificantSizeVariations": "键有显著的大小变化",
      "considerReviewingTranslations": "考虑检查 {{lang}} 翻译 - 它们比基准 {{comparison}} {{percentageDifference}}%",
      "longTranslationsDetected": "{{lang}} 有 {{longKeys}} 个翻译超过 {{threshold}} 个字符 - 考虑拆分它们"
    }
  },
  "usage": {
    "help_message": "\n国际化使用分析器\n\n用法: node i18ntk-usage.js [选项]\n\n选项:\n  --source-dir <dir>     要扫描的源目录 (默认: ./src)\n  --i18n-dir <dir>       I18n 目录 (默认: ./src/locales)\n  --output-report        生成详细报告\n  --output-dir <dir>     报告输出目录 (默认: ./reports)\n  --help                 显示此帮助\n\n示例:\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": "📁 源目录: {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} 个翻译文件",
    "pressEnterToReturnToMenu": "📝 按 Enter 键返回主菜单...",
    "notTranslatedKeysTotal": "⚠️  未翻译键: {total}",
    "noSourceFilesFound": "⚠️  未找到源文件目录中的源文件。",
    "reviewNotTranslatedKeys": "💡 查看未翻译键",
    "analysisCompletedSuccessfully": "🎉 分析成功完成！",
    "detectedSourceDirectory": "检测到源目录: {{sourceDir}}",
    "detectedI18nDirectory": "检测到 I18n 目录: {{i18nDir}}",
    "fileInfo": "   📄 {namespace}: {keys} 个键",
    "failedToAnalyzeUsage": "❌ 使用分析失败: {error}",
    "failedToAnalyzeFile": "❌ 文件分析失败: {error}",
    "analyzerInitialized": "分析器已初始化",
    "analyzerInitFailed": "分析器初始化失败: {error}",
    "argsParsed": "参数已解析",
    "argsParseFailed": "参数解析失败: {error}",
    "translationDiscoveryError": "翻译发现错误: {error}",
    "fileTraversalError": "文件遍历错误: {error}",
    "usageAnalysisFailed": "使用分析失败: {error}",
    "translationFileParseError": "翻译文件解析错误: {error}",
    "translationKeysLoadError": "翻译键加载错误: {error}",
    "languageCompletenessStats": "{language}: {translated}/{total} ({completeness}% 已翻译)",
    "missingKeysCount": "缺失键: {count}",
    "analyzingTranslationCompleteness": "正在分析翻译完整性...",
    "unusedKeysCount": "未使用键: {count}",
    "usedKeysCount": "已使用键: {count}",
    "availableKeysCount": "可用键: {count}",
    "analysisResults": "分析结果:",
    "checkUsage": {
      "title": "🔍 国际化使用分析",
      "message": "正在分析项目中国际化键的使用情况。",
      "help_message": "\n国际化使用分析器\n\n用法: node i18ntk-usage.js [选项]\n\n选项:\n  --source-dir <dir>     要扫描的源目录 (默认: ./src)\n  --i18n-dir <dir>       I18n 目录 (默认: ./src/locales)\n  --output-report        生成详细报告\n  --output-dir <dir>     报告输出目录 (默认: ./reports)\n  --help                 显示此帮助\n\n示例:\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": "📁 源目录: {sourceDir}",
      "i18n_directory_thisi18ndir": "🌐 I18n 目录: {i18nDir}",
      "loading_available_translation_": "📋 正在加载可用翻译键...",
      "found_thisavailablekeyssize_av": "✅ 找到 {availableKeysSize} 个可用键",
      "analyzing_source_files": "🔍 正在分析源文件...",
      "found_files_in_source": "📂 在源目录中找到 {numFiles} 个文件",
      "found_thisusedkeyssize_unique_": "🎯 找到 {usedKeysSize} 个唯一使用键",
      "total_key_usages_totalkeysfoun": "📊 总键使用数: {totalKeysFound}",
      "translation_completeness_title": "📊 翻译完整性",
      "language_completeness_stats": "  {language}: {translated}/{total} ({completeness}% 已翻译)",
      "n_sample_unused_keys": "\n示例未使用键:",
      "key": "- {key}",
      "and_unusedkeyslength_5_more": "...还有 {count} 个。",
      "n_recommendations": "\n📋 建议",
      "consider_removing_unused_trans": "💡 考虑移除未使用的翻译以保持项目整洁。",
      "n_next_steps": "\n📋 下一步",
      "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. 重新运行分析以验证改进。",
      "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}",
      "noSourceFilesFound": "未找到要分析的源文件。",
      "processedFiles": "已处理 {processedFiles} / {totalFiles} 个文件。",
      "i18nDirectoryNotFound": "未找到 I18n 目录: {i18nDir}",
      "noTranslationLanguagesFound": "未找到翻译语言。",
      "failedToAnalyzeFile": "分析文件 {filePath} 失败: {error}",
      "failedToAnalyzeLanguage": "分析语言 {language} 失败: {error}",
      "translationCompletenessAnalysisFailed": "翻译完整性分析失败: {error}",
      "n": ""
    },
    "complete": {
      "configLoadedSuccessfully": "配置加载成功",
      "configLoadingFailed": "配置加载失败",
      "title": "🌍 国际化翻译完成",
      "separator": "============================================================",
      "sourceDir": "📁 源目录: {sourceDir}",
      "sourceLanguage": "🌐 源语言: {sourceLanguage}",
      "dryRunMode": "🧪 试运行模式 - 不会进行任何更改",
      "languages": "🌍 可用语言: {languages}",
      "addingMissingKeys": "➕ 正在向翻译文件添加缺失键...",
      "processing": "🔄 正在处理 {language}...",
      "addedKeys": "✅ 已添加 {count} 个缺失键",
      "noChangesNeeded": "✅ {language} 无需更改",
      "summaryTitle": "📊 完成摘要",
      "totalChanges": "📝 总更改: {totalChanges}",
      "languagesProcessed": "🌍 已处理语言: {languagesProcessed}",
      "missingKeysAdded": "➕ 已添加缺失键: {missingKeysAdded}",
      "nextStepsTitle": "📋 下一步",
      "nextStep1": "1. 运行使用分析:",
      "nextStep2": "   node i18ntk-usage.js --output-report",
      "nextStep3": "2. 验证翻译:",
      "nextStep4": "   node i18ntk-validate.js",
      "nextStep5": "3. 分析模式:",
      "nextStep6": "   node i18ntk-analyze.js",
      "allKeysAvailable": "🎉 所有翻译键现在都可用！",
      "runWithoutDryRun": "💡 不使用 --dry-run 运行以应用更改",
      "deletingOldReport": "🗑️  正在删除旧报告...",
      "generatingFreshAnalysis": "📊 正在生成新的使用分析...",
      "couldNotGenerate": "❌ 无法生成使用分析",
      "reportNotFound": "📋 未找到使用报告。使用常用键...",
      "foundMissingKeys": "📋 从使用分析中找到 {count} 个缺失键",
      "couldNotParse": "❌ 无法解析使用报告。使用常用键..."
    }
  },
  "validate": {
    "help_message": "\nI18n翻译验证器\n\n用法: node i18ntk-validate.js [选项]\n\n选项:\n  --source-dir <dir>     要扫描的源目录 (默认: ./src)\n  --i18n-dir <dir>       I18n目录 (默认: ./src/locales)\n  --output-report        生成详细报告\n  --output-dir <dir>     报告输出目录 (默认: ./reports)\n  --help                 显示此帮助\n\n示例:\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翻译验证器",
    "message": "正在启动验证流程...",
    "sourceDirectory": "📁 源目录: {dir}",
    "sourceLanguage": "🌍 源语言: {sourceLanguage}",
    "strictMode": "⚙️  严格模式: {mode}",
    "noTargetLanguages": "⚠️  未找到需要验证的目标语言",
    "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": "❌ 错误",
    "warningsSection": "⚠️  警告",
    "recommendationsSection": "💡 建议",
    "fixErrorsFirst": "1. 首先修复所有错误",
    "resolveMissingFilesAndSyntaxErrors": "1. 解决缺失文件和语法错误",
    "fixStructuralInconsistencies": "2. 修复结构不一致问题",
    "completeMissingTranslations": "3. 完成缺失的翻译",
    "rerunValidation": "4. 重新运行验证以确认修复",
    "addressWarnings": "处理警告以提高质量",
    "reviewWarnings": "检查警告并在适当位置修复",
    "considerRunningWithStrict": "2. 考虑使用 --strict 标志运行以获得更严格的验证",
    "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": "在 {language} 中找到 {count} 个文件",
    "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": "📋 总体摘要",
    "progressIndicator": "⏳ 处理中...",
    "completedIndicator": "✅ 已完成",
    "errorIndicator": "❌ 错误",
    "warningIndicator": "⚠️  警告",
    "infoIndicator": "ℹ️  信息",
    "sourceDirNotConfigured": "源目录未配置",
    "sourceLanguageNotConfigured": "源语言未配置",
    "translationFunctionNotInitialized": "翻译函数未正确初始化",
    "sourceLanguageDirectoryNotFound": "未找到源语言目录",
    "specifiedLanguageNotFound": "未找到指定语言",
    "noJsonFilesFound": "在源目录中未找到JSON文件: {sourceDir}",
    "i18nDirectoryNotFound": "未找到I18n目录: {i18nDir}",
    "invalidDirectoryPaths": "检测到无效的目录路径",
    "invalidSampleFilePath": "无效的示例文件路径",
    "failedToCreateSampleTranslationFile": "创建示例翻译文件失败",
    "invalidFilePathDetected": "检测到无效的文件路径",
    "failedToWriteFile": "写入文件失败: {filePath}"
  },
  "adminCli": {
    "setupPinProtectionTitle": "\n🔐 设置管理员PIN保护",
    "setupPinProtectionDescription": "这将要求输入4-6位数字PIN码进行管理员操作。",
    "enablePinProtectionPrompt": "您要启用管理员PIN保护吗？",
    "setupCancelled": "管理员PIN保护设置已取消。",
    "enterPinPrompt": "请输入4-6位数字PIN码：",
    "pinFormatError": "❌ PIN码必须是4-6位数字。请重试。",
    "confirmPinPrompt": "确认PIN码：",
    "pinMismatchError": "❌ PIN码不匹配。请重试。",
    "pinProtectionEnabledSuccess": "✅ 管理员PIN保护已成功启用！",
    "pinRecoveryWarning": "⚠️  记住您的PIN码 - 如果丢失将无法恢复。",
    "setupPinProtectionFailed": "❌ 设置管理员PIN保护失败。",
    "errorSettingUpPin": "❌ 设置管理员PIN时出错：{message}",
    "authRequiredForOperation": "\n🔐 管理员身份验证要求：{operation}",
    "invalidPinFormat": "❌ 无效的PIN码格式。PIN码必须是4-6位数字。",
    "authenticationSuccess": "✅ 身份验证成功！",
    "invalidPinAttemptsRemaining": "❌ 无效的PIN码。还剩{remaining}次尝试机会。",
    "authenticationFailedAccessDenied": "❌ 身份验证失败。访问被拒绝。",
    "authenticationError": "❌ 身份验证错误：{message}",
    "pinProtectionNotEnabled": "管理员PIN保护当前未启用。",
    "disablingPinProtectionTitle": "\n🔓 禁用管理员PIN保护",
    "confirmDisablePinProtection": "您确定要禁用管理员PIN保护吗？",
    "operationCancelled": "操作已取消。",
    "pinProtectionDisabledSuccess": "✅ 管理员PIN保护已禁用。",
    "disablePinProtectionFailed": "❌ 禁用管理员PIN保护失败。",
    "errorDisablingPinProtection": "❌ 禁用管理员保护时出错：{message}",
    "adminProtectionStatusTitle": "\n🔐 管理员保护状态",
    "statusEnabled": "状态：✅ 已启用",
    "protectionDetails": "保护：管理员操作需要4-6位数字PIN码",
    "lockoutDetails": "锁定：3次失败尝试=15分钟锁定",
    "statusDisabled": "状态：❌ 已禁用",
    "noAuthRequired": "保护：无需身份验证",
    "unprotectedRisk": "风险：管理操作未受保护",
    "errorCheckingAdminStatus": "❌ 检查管理员状态时出错：{message}",
    "authRequired": "🔐 需要管理员身份验证。",
    "invalidPin": "❌ 无效的PIN码。",
    "authSuccess": "✅ 身份验证成功！",
    "adminPinSetupCli": "admin_pin_setup_cli",
    "adminAuthFailedCli": "admin_auth_failed_cli",
    "adminAuthDisabledCli": "admin_auth_disabled_cli",
    "protectedAccess": "受保护访问：敏感操作需要管理员身份验证。",
    "enterPin": "请输入管理员PIN码：",
    "accessGranted": "访问已授权。"
  },
  "adminPin": {
    "setup_title": "🔐 管理员PIN设置",
    "setup_separator": "============================================================",
    "setup_description": "为管理员访问敏感设置创建4-6位数字PIN码。",
    "required_for_title": "此PIN码将用于以下用途：",
    "required_for_1": "  • 更改安全设置",
    "required_for_2": "  • 修改高级配置",
    "required_for_3": "  • 访问调试工具",
    "required_for_4": "  • 重置设置",
    "setup_note": "💡 注意：输入时您会看到星号(*) - 这些只是掩码字符。",
    "setup_digits_only": "   仅接受数字0-9作为PIN码数字。",
    "invalid_pin_length": "❌ 无效的PIN码。必须是4-6位数字（仅数字0-9）。",
    "invalid_pin_example": "   示例：1234或567890",
    "pins_do_not_match": "❌ PIN码不匹配。",
    "setup_success": "✅ 管理员PIN码设置成功！",
    "setup_warning": "⚠️  请妥善保管此PIN码。如果丢失将无法恢复。",
    "setup_error": "❌ 设置PIN码时出错：",
    "session_expired": "\n⏰ 管理员会话因不活动而过期。",
    "no_pin_set_setting_up": "⚠️  未设置管理员PIN码。正在设置PIN码...",
    "no_pin_configured_access_denied": "⚠️  未配置管理员PIN码。访问被拒绝。",
    "use_admin_settings_to_set_pin": "💡 请先在管理员设置中设置PIN码。",
    "locked_out": "🔒 由于失败尝试次数过多，管理员访问已被锁定。",
    "wait_before_retry": "请在5分钟后重试。",
    "access_granted": "✅ 管理员访问已授权。",
    "incorrect_pin": "❌ 错误的PIN码。还剩{attempts}次尝试机会。",
    "verify_pin_error": "❌ 验证PIN码时出错：",
    "already_configured": "✅ 管理员PIN码已配置。",
    "optional_setup_title": "\n🔐 管理员PIN设置（可选）",
    "optional_setup_description": "管理员PIN保护为以下敏感操作增加安全性：",
    "setup_prompt": "您要设置管理员PIN码吗？(y/N): ",
    "skipping_setup": "⏭️  跳过管理员PIN设置。您可以稍后在设置中进行配置。",
    "setup_prompt_error": "❌ PIN设置提示期间出错：",
    "protectedAccess": "受保护访问：敏感操作需要管理员身份验证。",
    "enterPin": "请输入管理员PIN码：",
    "accessGranted": "访问已授权。",
    "invalidPin": "❌ 无效的PIN码。请重试。",
    "weak_pin_warning": "⚠️  警告：此PIN码看起来较弱或很常见。",
    "weak_pin_suggestion": "💡 考虑使用带有不同数字的更强的PIN码。",
    "use_anyway_prompt": "输入\"yes\"继续使用，或按Enter选择不同的PIN码：",
    "enter_new_pin": "请输入新的管理员PIN码（4-6位数字）：",
    "confirm_pin": "确认管理员PIN码：",
    "not_set": "未设置",
    "pin_display_mask": "####"
  },
"autorun": {
  "missingRequiredFile": "缺少必需文件：{file}",
  "runInitializationFirst": "请先运行初始化。",
  "initializationCheckPassed": "初始化检查通过。",
  "runningStep": "正在运行步骤：{stepName}",
  "commandLabel": "命令：{command}",
  "stepRunning": "步骤“{stepName}”正在运行...",
  "stepCompletedWithTime": "步骤“{stepName}”在 {duration}ms 内完成。",
  "stepCompleted": "步骤“{stepName}”已完成。",
  "stepFailed": "步骤“{stepName}”失败。",
  "errorLabel": "错误：{error}",
  "stepFailedWithError": "步骤“{stepName}”因错误失败：{error}",
  "requiredStepFailed": "必需步骤失败。正在停止工作流。",
  "optionalStepFailed": "可选步骤失败。继续执行工作流。",
  "startingAutoRunWorkflow": "正在启动自动运行工作流...",
  "workflowIncludesSteps": "工作流包含 {count} 个步骤：",
  "stepRequired": "（必需）",
  "stepOptional": "（可选）",
  "startingExecution": "正在开始执行...",
  "workflowStopped": "工作流已停止。",
  "workflowCompleted": "工作流已完成。",
  "pressEnterToContinue": "按 Enter 继续...",
  "runningSelectedSteps": "正在运行所选步骤...",
  "invalidStepNumber": "无效的步骤编号：{stepNum}",
  "executionReport": "执行报告：",
  "successfulSteps": "成功步骤数：{count}",
  "failedSteps": "失败步骤数：{count}",
  "requiredFailedSteps": "失败的必需步骤数：{count}",
  "stepDetails": "步骤详情：",
  "errorDetails": "错误：{error}",
  "reportSavedTo": "报告已保存到：{path}",
  "overallStatusSuccess": "成功",
  "overallStatusFailed": "失败",
  "overallStatus": "总体状态：{status}",
  "customSettingsConfiguration": "自定义设置配置",
  "pressEnterForDefaults": "按 Enter 使用默认设置。",
  "sourceDirPrompt": "请输入源目录（默认：{default}）：",
  "sourceLangPrompt": "请输入源语言（默认：{default}）：",
  "targetLangsPrompt": "请输入目标语言（用逗号分隔，默认：{default}）：",
  "translationMarkerPrompt": "请输入翻译标记（默认：{default}）：",
  "outputDirPrompt": "请输入报告输出目录（默认：{default}）：",
  "settingsUpdatedSuccessfully": "设置更新成功！",
  "errorConfiguringSettings": "配置设置时出错：{error}",
  "autoRunScriptTitle": "自动运行脚本",
  "usageTitle": "用法：",
  "runAllSteps": "node i18ntk-autorun.js --all - 运行 i18ntk-config.json 中定义的所有步骤",
  "configureSettingsFirst": "node i18ntk-autorun.js --config - 配置工作流设置",
  "runSpecificSteps": "node i18ntk-autorun.js --steps <步骤编号> - 运行特定步骤（例如：--steps 1,3,5）",
  "showHelp": "node i18ntk-autorun.js --help - 显示此帮助信息",
  "availableSteps": "可用步骤：",
  "examplesTitle": "示例：",
  "configExample": "node i18ntk-autorun.js --config",
  "stepsExample1": "node i18ntk-autorun.js --steps 1,2,3",
  "stepsExample2": "node i18ntk-autorun.js --all",
  "configurationComplete": "配置完成。",
  "runAutoRunCommand": "现在您可以运行自动执行命令。",
  "configurationFailed": "配置失败：{error}",
  "noValidStepNumbers": "未提供有效的步骤编号。",
  "autoRunFailed": "自动运行失败：{error}",
  "stepInitializeProject": "初始化项目",
  "stepAnalyzeTranslations": "分析翻译",
  "stepValidateTranslations": "验证翻译",
  "stepCheckUsage": "检查使用情况",
  "stepCompleteTranslations": "完成翻译",
  "stepAnalyzeSizing": "分析翻译大小",
  "stepGenerateSummary": "正在生成摘要报告...",
  "stepCompletedIcon": "✅",
  "stepCompletedWithIcon": "✅ 步骤“{stepName}”已完成。",
  "stepRunningWithNumber": "[{stepNumber}/{totalSteps}] 步骤“{stepName}”正在运行...",
  "stepFailedIcon": "❌",
  "translationLoadWarning": "警告：无法加载 {lang} 翻译",
  "configReadError": "读取配置文件 {file} 时出错",
  "separator": "=================================================="
  },
"debug": {
  "title": "🔧 调试工具",
  "separator": "============================================================",
  "mainDebuggerSystemDiagnostics": "1. 系统诊断",
  "_consoleTranslationsCheck": "// 2. 控制台翻译检查",
  "_exportMissingKeys": "// 3. 导出缺失的翻译键",
  "_replaceHardcodedConsole": "// 4. 替换硬编码控制台字符串",
  "_consoleKeyChecker": "// 5. 控制台键检查器",
  "debugLogs": "2. 调试日志",
  "backToMainMenu": "0. 返回主菜单",
  "selectOption": "请选择一个调试工具：",
  "runningDebugTool": "正在运行 {displayName}...",
  "debugToolNotFound": "❌ 未找到调试工具：{toolName}",
  "recentDebugLogs": "📄 最近的调试日志",
  "noDebugLogsFound": "❌ 未找到调试日志。",
  "debugLogsDirectoryNotFound": "❌ 未找到调试日志目录。",
  "selectLogPrompt": "选择要查看的日志文件（1-{count}）：",
  "invalidChoiceSelectRange": "无效的选择。请选择提供范围内的数字。",
  "contentOf": "📄 {filename} 的内容：",
  "pressEnterToContinue": "按 Enter 继续..."
},
"detect_language_mismatches": {
  "tool_title": "🔍 语言不匹配检测工具",
  "separator": "=====================================\n",
  "analyzing_file": "📄 正在分析 {language}.json...",
  "error_analyzing_file": "❌ 分析 {filename} 时出错：{errorMessage}",
  "results_title": "📊 语言不匹配检测结果",
  "results_separator": "========================================\n",
  "summary_title": "📋 总结：",
  "total_files_analyzed": "   分析的文件总数：{totalFiles}",
  "files_with_mismatches": "   出现不匹配的文件：{filesWithMismatches}",
  "total_mismatches_found": "   发现不匹配项总数：{totalMismatches}\n",
  "no_mismatches_found": "✅ 未发现语言不匹配！所有翻译似乎都在正确的语言中。\n",
  "detailed_results_title": "🔍 详细结果：\n",
  "file_mismatch_header": "📄 {filename}（{language}）",
  "mismatches_count": "   找到 {count} 个不匹配项：\n",
  "mismatch_details": "   {index}. 键：{key}",
  "mismatch_value": "      值：\"{value}\"",
  "mismatch_issue": "      问题：{description}",
  "recommendations_title": "💡 建议：\n",
  "recommendation_1": "1. 审查并翻译所有标记为 [TRANSLATE] 的条目",
  "recommendation_2": "2. 替换语言前缀（如 [DE], [FR]）为适当的翻译",
  "recommendation_3": "3. 将英语文本翻译为目标语言",
  "recommendation_4": "4. 所有面向用户的文本应使用本地语言表达",
  "recommendation_5": "5. 完成更正后再次运行该工具以验证修复效果\n",
  "detailed_report_saved": "📄 详细报告已保存到：{reportPath}\n",
  "error_saving_report": "❌ 保存报告时出错：{errorMessage}\n",
  "auto_fix_mode": "🔧 自动修复模式 {dryRun}",
  "auto_fix_separator": "=====================================\n",
  "fixed_file": "✅ 已修复 {filename}",
  "auto_fix_summary_title": "\n📊 自动修复摘要：",
  "total_fixes_applied": "   应用的修复总数：{count}",
  "preview_fixes_title": "\n🔍 修复预览：",
  "fix_details": "   {file}：{key}\n     原始：\"{old}\"\n     新值：\"{new}\"\n",
  "more_fixes": "   ...以及另外 {count} 个修复\n",
  "run_with_apply_fixes": "💡 使用 --apply 参数运行以应用这些修复\n",
  "error_general": "❌ 错误：",
  "mainDebuggerSystemDiagnostics": "主调试器 / 系统诊断",
  "exportMissingKeys": "导出缺失键",
  "replaceHardcodedConsole": "替换硬编码控制台",
  "consoleKeyChecker": "控制台键检查器",
  "debugLogs": "调试日志",
  "backToMainMenu": "返回主菜单",
  "invalidChoiceSelectRange": "❌ 无效选择。请选择显示范围内的数字。",
  "runningDebugTool": "正在运行调试工具：{displayName}",
  "debugToolNotFound": "未找到调试工具：'{toolName}'。",
  "recentDebugLogs": "最近的调试日志",
  "noDebugLogsFound": "未找到调试日志。",
  "logEntry": "日志条目：{timestamp} - {message}",
  "debugLogsDirectoryNotFound": "未找到调试日志目录。"
},
"help": {
  "title": "📊 国际化管理帮助\n\n",
  "usage": "用法：node i18ntk-manage.js [选项]\n",
  "interactiveMode": "\n💡 使用：node i18ntk-manage.js --command=<command> 直接执行命令\n",
  "showHelp": "\n📖 使用：node i18ntk-manage.js --help 查看可用命令\n",
  "availableCommands": "\n📖 可用命令：\n",
  "initProject": "🚀 初始化新语言",
  "analyzeTranslations": "🔍 分析翻译",
  "validateTranslations": "✅ 验证翻译",
  "checkUsage": "📊 检查键使用情况",
  "initCommand": "  init      - 初始化新语言",
  "analyzeCommand": "  analyze   - 分析翻译",
  "validateCommand": "  validate  - 验证翻译",
  "usageCommand": "  usage     - 检查键使用情况",
  "sizingCommand": "  sizing    - 分析大小差异",
  "completeCommand": "  complete  - 完成翻译（100% 覆盖）",
  "summaryCommand": "  summary   - 显示项目状态",
  "debugCommand": "  debug     - 调试翻译问题",
  "menu": {
    "title": "\n🌐 国际化管理菜单\n",
    "description": "用于管理国际化的交互式菜单\n",
    "exit": "\n🚪 退出"
  },
  "commands": {
    "init": "\n  init      - 初始化新语言",
    "analyze": "  analyze   - 分析翻译",
    "validate": "  validate  - 验证翻译",
    "usage": "  usage     - 检查键使用情况",
    "sizing": "  sizing    - 分析大小差异",
    "complete": "  complete  - 完成翻译（100% 覆盖）",
    "summary": "  summary   - 显示项目状态",
    "debug": "  debug     - 调试翻译问题"
  },
  "options": {
    "sourceDir": "\n  --source-dir <dir>     要分析的源目录",
    "output": "  --output <file>        报告输出文件",
    "verbose": "  --verbose, -v           显示详细信息",
    "keepReports": "  --keep-reports          保留现有报告",
    "deleteReports": "  --delete-reports        删除现有报告",
    "help": "  --help, -h              显示此帮助"
  },
  "examples": {
    "title": "\n示例：\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": "🚀 初始化新语言",
    "analyzeTranslations": "🔍 分析翻译",
    "validateTranslations": "✅ 验证翻译",
    "checkUsage": "📊 检查键使用情况",
    "completeTranslations": "🎯 完成翻译（100% 覆盖）",
    "showSizing": "📏 分析大小差异",
    "runWorkflow": "🔄 运行完整工作流",
    "showStatus": "📋 显示项目状态",
    "deleteReports": "🗑️  删除所有报告",
    "changeLanguage": "🌍 切换界面语言",
    "settings": "⚙️  设置",
    "showHelp": "❓ 帮助",
    "debugTools": "🔧 调试工具"
  },
  "messages": {
    "selectOption": "请选择一个选项：",
    "invalidOption": "❌ 无效选项，请重试。",
    "operationCompleted": "✅ 操作成功完成！",
    "pressEnter": "按 Enter 继续...",
    "goodbye": "👋 再见！",
    "unknownCommand": "未知命令：{{command}}",
    "nonInteractive": "⚠️ 检测到非交互模式，仅供参考显示菜单。"
  },
  "i18n_helper": {
    "translation_file_not_found": "未找到翻译文件：{translationFile}",
    "error_loading_translations": "加载翻译时出错：{errorMessage}",
    "translation_not_found": "未找到键的翻译：{key}",
    "translation_key_not_string": "翻译键未解析为字符串：{key}",
    "error_reading_locales_directory": "读取 locales 目录时出错：{errorMessage}"
  }
},
"init": {
  "initializationTitle": "🚀 i18n 管理工具 - 项目初始化",
  "sourceDirectoryLabel": "📁 源目录：{dir}",
  "sourceLanguageLabel": "🌍 源语言：{language}",
  "detectedI18nFrameworks": "🔍 检测到的 i18n 框架：{frameworks}",
  "existingDirectoriesFound": "📁 发现已有翻译目录：",
  "useExistingDirectoryPrompt": "要使用已有目录吗？(y/n)",
  "autoDetectedI18nDirectory": "📂 自动检测到的 i18n 目录：{directory}",
  "initializingProject": "⚙️  正在初始化项目配置...",
  "createdSampleTranslationFile": "✅ 已创建示例翻译文件：{file}",
  "languageSelectionTitle": "🌐 语言配置",
  "available": "可用",
  "defaultLanguages": "📝 默认语言：{languages}",
  "enterLanguageCodes": "🎯 输入目标语言代码（逗号分隔，例如 de, es, fr, ru）：",
  "targetLanguages": "🌍 目标语言",
  "foundSourceFiles": "📄 找到 {count} 个源文件待分析",
  "processingLanguage": "🔄 正在处理语言：{language}",
  "fileProcessingResult": "✅ 处理 {file}：{translated}/{total} 键（{percentage}%）",
  "overallProgress": "📊 总体进度：已处理 {translated}/{total} 键（{percentage}%）",
  "initializationSummaryTitle": "📋 初始化摘要",
  "languageSummary": "{icon} {name}（{code}）：完成 {percentage}%  ",
  "languageFiles": "   📄 文件数：{count}",
  "languageKeys": "   🔤 键：{translated}/{total}",
  "languageMissing": "   ⚠️  缺失：{count}",
  "initializationCompletedSuccessfully": "🎉 项目初始化成功完成！",
  "nextStepsTitle": "🚀 下一步",
  "nextStep1": "1. 在 locales/ 目录中查看生成的翻译文件",
  "nextStep2": "2. 为每个目标语言添加翻译",
  "nextStep3": "3. 再次运行 'npm run i18ntk' 验证翻译",
  "detectedFrameworks": "✅ 检测到的 i18n 框架：{frameworks}",
  "errorsNoFramework": "未检测到 i18n 框架。请安装一个框架或手动指定。",
  "suggestions": {
    "noFramework": "未检测到 i18n 框架。请考虑使用以下框架之一：",
    "installFramework": "要安装框架，请运行：npm install <包名>"
  },
  "frameworks": {
    "react": "- React i18next (react-i18next)",
    "vue": "- Vue i18n (vue-i18n)",
    "i18next": "- i18next (i18next)",
    "nuxt": "- Nuxt i18n (@nuxtjs/i18n)",
    "svelte": "- Svelte i18n (svelte-i18n)"
  },
  "continueWithoutI18nPrompt": "未检测到 i18n 框架。是否继续？(y/N)：",
  "detectedI18nFramework": "检测到 i18n 框架：{frameworks}",
  "existingDirectoryItem": "  {index}. {location}",
  "usingExistingStructure": "使用已有结构：{dir}",
  "creatingSourceDirectory": "创建源目录：{dir}",
  "creatingSourceLanguageDirectory": "创建源语言目录：{dir}",
  "errors": {
    "sourceDirectoryNotFound": "未找到源目录：{dir}",
    "sourceLanguageDirectoryNotFound": "未找到源语言目录：{dir}",
    "noJsonFilesInSourceDirectory": "源目录中未找到 JSON 文件：{dir}",
    "invalidFilePathDetected": "检测到无效的文件路径",
    "initializationFailed": "初始化失败：{error}",
    "packageJsonRead": "读取 package.json 时出错：{error}",
    "noFramework": "未检测到 i18n 框架，请手动安装或指定。"
  },
  "processingFile": "正在为 {language} 处理文件 {file}...",
  "fileAlreadyExistsMerging": "文件 {file} 已存在。正在合并新键。",
  "createdNewFile": "已创建新文件：{file}",
  "updatedFile": "已更新文件：{file}",
  "skippingExcludedFile": "已跳过 {language} 的 {file}，因其在排除列表中。"
},
"language": {
  "title": "🌍 切换语言",
  "separator": "============================================================",
  "current": "当前语言：{language}",
  "available": "可用语言：",
  "languageOption": "{index}. {displayName}{current}",
  "backToMainMenu": "返回主菜单",
  "prompt": "请选择语言（0-8）：",
  "cancelled": "已取消语言切换。",
  "invalid": "无效选择，请重试。",
  "changed": "语言已切换为：{language}",
  "pressEnterToContinue": "按 Enter 继续..."
},
"maintainLanguagePurity": {
  "workflow_title": "🚀 语言纯洁度维护工作流",
  "step1_title": "📊 第1步：初始语言纯洁度评估",
  "step2_title": "\n🔧 第2步：检测并自动修复语言不匹配",
  "step3_title": "\n🌐 第3步：应用自动翻译",
  "step4_title": "\n✅ 第4步：最终语言纯洁度评估",
  "workflow_error": "❌ 工作流错误：{errorMessage}",
  "running_initial_validation": "正在运行初始语言纯洁度验证…",
  "initial_assessment_complete": "✅ 初始评估完成：发现 {count} 处违规\n",
  "initial_assessment_warnings": "⚠️  初始评估完成，存在警告\n",
  "detecting_fixing_mismatches": "正在检测并修复语言不匹配…",
  "detection_complete_applying_fixes": "检测完成，正在应用自动修复…",
  "mismatch_fixes_complete": "✅ 语言不匹配修复完成：应用了 {count} 处修复\n",
  "mismatch_fixes_warnings": "⚠️  语言不匹配修复完成，存在警告\n",
  "applying_automatic_translations": "正在应用自动翻译…",
  "translation_preview_complete": "翻译预览完成，正在应用翻译…"
},
"menu": {
  "title": "🌐 国际化管理菜单",
  "separator": "============================================================",
  "options": {
    "init": "🚀 初始化新语言",
    "analyze": "🔍 分析翻译",
    "validate": "✅ 验证翻译",
    "usage": "📊 检查键使用情况",
    "complete": "🎯 完成翻译（100% 覆盖）",
    "sizing": "📏 分析大小差异",
    "workflow": "🔄 运行完整工作流",
    "status": "📋 显示项目状态",
    "delete": "🗑️  删除全部报告",
    "language": "🌍 切换界面语言",
    "settings": "⚙️  设置",
    "help": "❓ 帮助",
    "debug": "🔧 调试工具",
    "exit": "🚪 退出"
  },
  "update": "📦 更新软件包",
  "goodbye": "👋 再见！",
  "invalidChoice": "❌ 无效选择。请选择 0-13。",
  "returning": "🔄 正在返回主菜单…",
  "invalidOption": "❌ 无效选项，请重试。",
  "nonInteractiveModeWarning": "⚠️ 检测到非交互模式，仅供参考显示菜单。",
  "useDirectExecution": "💡 使用：node main/i18ntk-manage.js --command=<command> 直接执行。",
  "useHelpForCommands": "📖 使用：node main/i18ntk-manage.js --help 获取可用命令。",
  "returnToMainMenu": "按 Enter 返回主菜单。",
  "pressEnterToContinue": "按 Enter 继续…",
  "selectOptionPrompt": "请选择一个选项：",
  "selectDebugToolPrompt": "请选择调试工具：",
  "selectLogPrompt": "请选择日志文件（1-{count}）：",
  "autoDetectedI18nDirectory": "📂 自动检测到的 i18n 目录：{directory}",
  "executingCommand": "正在执行命令：{command}",
  "unknownCommand": "未知命令：{command}",
  "languageOption": "  {{index}}. {{displayName}}{{current}}",
  "debugTools": {
    "1": "日志文件分析",
    "2": "翻译键使用分析",
    "3": "翻译完整性分析",
    "4": "翻译格式分析",
    "5": "翻译类型分析",
    "6": "翻译结构分析"
  },
  "native_translations": {
    "exact_translation_found": "  ✅ {keyPath}：{value}",
    "no_exact_translation": "  ⚠️ 未找到“{keyPath}”的精确翻译，发现相似键：",
    "similar_key": "    - {key}（{similarity}% 匹配）",
    "processing_language_files": "🔄 正在处理 {count} 个语言文件…\n",
    "file_not_found": "⚠️ 未找到文件：{file}",
    "processing_translations": "🌍 正在处理 {code} 翻译…",
    "backup_created": "📋 已创建备份：{filename}",
    "error_parsing_json": "❌ 解析 {code}.json 时出错：{errorMessage}",
    "existing_keys_found": "📊 {code}：找到 {count} 个现有键",
    "error_writing_json": "❌ 写入 {code}.json 时出错：{errorMessage}",
    "translations_replaced": "📊 {code}：已替换 {count} 个翻译",
    "translation_replacement_complete": "\n✅ 翻译替换完成！",
    "total_replacements": "📊 替换总数：{count}",
    "dry_run_mode": "\n⚠️ 试运行模式 - 未修改任何文件",
    "tool_title": "🌍 本地化自动翻译工具 v1.5.3",
    "tool_separator": "======================================\n",
    "dry_run_warning": "⚠️ 正在试运行模式 - 不会修改文件\n",
    "error_during_replacement": "❌ 翻译替换过程中出错："
  },
 "operations": {
  "completed": "✅ 操作成功完成！",
  "deleteReportsTitle": "🗑️ 删除报告与日志",
  "scanningForFiles": "🔍 正在扫描待删除的文件…",
  "noFilesFoundToDelete": "✅ 未找到可删除的文件。",
  "availableDirectories": "📁 可用目录：",
  "allDirectories": "所有目录",
  "cancelOption": "取消",
  "cancelReportOption": "取消 / 返回菜单",
  "invalidSelection": "❌ 无效选择。",
  "foundFilesInSelectedDirectories": "📊 在选定目录中找到 {count} 个文件：",
  "deletionOptions": "🗑️ 删除选项：",
  "deleteAllFiles": "删除所有文件",
  "keepLast3Files": "保留最近 3 个文件（按日期）",
  "keepLast5Files": "保留最近 5 个文件（按日期）",
  "noFilesToDelete": "✅ 无需删除任何文件。",
  "filesToDeleteCount": "📋 待删除文件数：{count}",
  "filesToKeepCount": "📋 保留文件数：{count}",
  "confirmDeletion": "⚠️ 确定要删除这些文件吗？(y/N)：",
  "deletedFile": "✅ 已删除：{filename}",
  "failedToDeleteFile": "❌ 删除 {filename} 失败：{error}",
  "cancelled": "❌ 操作已取消。",
  "init": {
    "title": "🚀 初始化新语言"
  },
  "usage": {
    "title": "📊 检查键使用情况"
  },
  "analyze": {
    "title": "🔍 分析翻译"
  },
  "validate": {
    "title": "✅ 验证翻译"
  },
  "settings": {
    "title": "⚙️ 设置管理",
    "separator": "============================================================"
  },
  "complete": {
    "deletingOldReport": "🗑️  正在删除旧的使用分析报告，以便重新生成",
    "generatingFreshAnalysis": "🔄 正在生成新的使用分析…",
    "couldNotGenerate": "⚠️  无法生成使用分析，使用常见缺失键。",
    "reportNotFound": "⚠️  未找到使用报告，正在生成新的分析…",
    "foundMissingKeys": "🔍 从使用分析中找到 {count} 个缺失键",
    "couldNotParse": "⚠️  无法解析使用报告，使用常见缺失键。",
    "title": "🎯 完成翻译",
    "separator": "============================================================",
    "sourceDir": "📁 源目录：{sourceDir}",
    "sourceLanguage": "🔤 源语言：{sourceLanguage}",
    "dryRunMode": "🧪 试运行模式 - 不会修改任何文件",
    "languages": "🎯 目标语言：{languages}",
    "addingMissingKeys": "➕ 正在向翻译文件添加缺失键…",
    "processing": "🔄 正在处理 {language}…",
    "addedKeys": "✅ 已添加 {count} 个键",
    "changeDetails": "📝 {file}：{key}",
    "noChangesNeeded": "✅ {language} 无需更改",
    "summaryTitle": "📊 完成摘要",
    "totalChanges": "📝 总更改数：{totalChanges}",
    "languagesProcessed": "🌐 已处理语言：{languagesProcessed}",
    "missingKeysAdded": "➕ 已添加缺失键：{missingKeysAdded}",
    "nextStepsTitle": "📋 后续步骤",
    "nextStep1": "1. 运行使用分析：",
    "nextStep2": "2. 验证翻译：",
    "nextStep3": "3. 分析完整性：",
    "allKeysAvailable": "🎉 所有翻译键现已可用！",
    "runWithoutDryRun": "💡 不使用 --dry-run 参数运行以应用更改",
    "pressEnterToContinue": "按 Enter 继续…"
  },
  "updatePackage": {
    "title": "📦 更新 i18n-toolkit 包",
    "description": "这将把 i18n-toolkit 包更新到 npm 上可用的最新版本。",
    "command": "运行命令",
    "confirm": "确定要继续更新吗？(y/N)：",
    "updating": "正在更新软件包…这可能需要一些时间。",
    "success": "✅ i18n-toolkit 更新成功！",
    "error": "❌ 更新 i18n-toolkit 失败",
    "cancelled": "❌ 更新已取消。"
  }
},
"security": {
  "pathValidationFailed": "路径验证失败",
  "invalidInputType": "无效的输入类型",
  "pathTraversalAttempt": "路径遍历尝试",
  "pathValidated": "✅ 路径验证成功",
  "pathValidationError": "路径验证错误",
  "fileTooLarge": "安全：文件过大：{filePath}",
  "fileReadError": "安全：读取文件出错：{errorMessage}",
  "contentTooLargeForFile": "安全：内容过大，无法写入文件：{filePath}",
  "fileWriteError": "安全：写入文件出错：{errorMessage}",
  "jsonStringTooLarge": "安全：JSON 字符串过大",
  "jsonParseError": "安全：JSON 解析错误：{errorMessage}",
  "inputContainsDisallowedCharacters": "安全：输入包含不允许的字符",
  "unknownCommandArgument": "安全：未知命令参数：{key}",
  "unknown_command_argument": "安全：未知命令参数：{key}",
  "unknownConfigKey": "安全：未知配置键：{key}",
  "unknown_config_key": "安全：未知配置键：{key}",
  "securityAlert": "[安全警报] {timestamp}：{event}",
  "contentTooLarge": "安全：内容过大，无法写入文件：{validatedPath}",
  "inputDisallowedCharacters": "安全：输入包含不允许的字符",
  "unknownCommandArg": "未知命令参数",
  "logMessage": "[安全 {level}] {timestamp}：{event}",
  "alertMessage": "[安全警报] {timestamp}：{event}",
  "securityWarning": "[安全警告] {timestamp}：{event}",
  "json_parse_error": "安全：JSON 解析错误：{errorMessage}"
}
},
"settings-cli": {
  "settings": {
    "mainMenu": {
      "title": "主菜单：",
      "uiSettings": "界面设置",
      "uiSettingsDesc": "语言、主题和界面选项",
      "directorySettings": "目录设置",
      "directorySettingsDesc": "源目录和输出目录路径",
      "scriptDirectorySettings": "脚本目录设置",
      "scriptDirectorySettingsDesc": "各脚本操作的目录路径",
      "processingSettings": "处理设置",
      "processingSettingsDesc": "批量大小、并发和性能",
      "advancedSettings": "高级设置",
      "advancedSettingsDesc": "验证、日志和专家选项",
      "viewAllSettings": "查看所有设置",
      "viewAllSettingsDesc": "显示当前配置",
      "importExport": "导入/导出",
      "importExportDesc": "备份和恢复设置",
      "resetToDefaults": "重置为默认值",
      "resetToDefaultsDesc": "恢复出厂设置",
      "reportBug": "报告错误",
      "reportBugDesc": "在 GitHub 提交问题报告",
      "saveChanges": "保存更改",
      "saveChangesDesc": "将当前设置保存到文件",
      "updatePackage": "更新软件包",
      "updatePackageDesc": "通过 npm 更新 i18n-toolkit 包",
      "help": "帮助",
      "helpDesc": "显示详细帮助信息",
      "quit": "退出",
      "quitDesc": "退出设置（如有更改则提示保存）",
      "unsavedChangesWarning": "⚠️  您有未保存的更改",
      "saveChangesBeforeQuit": "是否在退出前保存更改？(y/N)：",
      "selectOption": "请选择一个选项：",
      "goodbyeMessage": "感谢使用 i18n 设置管理器！"
    },
    "goodbyeMessage": "感谢使用 i18n 设置管理器！",
    "relativePathHint": "请使用相对路径（例如：./src/i18n/locales）",
    "currentDirectory": "当前项目目录"
  },
"settings_manager": {
  "error_loading_settings": "❌ 加载设置时出错：",
  "error_saving_settings": "❌ 保存设置时出错：",
  "error_setting_value": "❌ 设置值时出错：",
  "missing_required_setting": "❌ 缺少必需的设置：{prop}",
  "invalid_language": "❌ 无效的语言：{language}",
  "invalid_source_language": "❌ 无效的源语言：{sourceLanguage}",
  "default_languages_must_be_array": "❌ defaultLanguages 必须是数组",
  "invalid_date_format": "❌ 无效的日期格式：{dateFormat}。有效格式：{validFormats}",
  "invalid_time_format": "❌ 无效的时间格式：{timeFormat}。有效格式：{validFormats}",
  "notifications_types_must_be_object": "❌ notifications.types 必须是对象",
  "exclude_files_must_be_array": "❌ excludeFiles 必须是数组",
  "exclude_dirs_must_be_array": "❌ excludeDirs 必须是数组",
  "include_extensions_must_be_array": "❌ includeExtensions 必须是数组",
  "invalid_batch_size": "❌ 无效的批量大小。必须为正数",
  "invalid_max_concurrent_files": "❌ 无效的最大并发文件数。必须为正数",
  "invalid_sizing_threshold": "❌ 无效的大小阈值。必须为正数",
  "invalid_timeout": "❌ 无效的超时。必须至少为 1000 毫秒",
  "invalid_sizing_format": "❌ 无效的大小格式：{sizingFormat}。有效格式：{validFormats}",
  "error_validating_settings": "❌ 验证设置时出错：",
  "backup_created": "📋 已创建备份：{backupPath}",
  "error_creating_backup": "❌ 创建备份时出错：",
  "language_not_supported": "❌ 语言“{language}”不受支持。可用语言：{availableLanguages}",
  "ui_language_set": "🌍 界面语言已设置为：{language}"
}
},
"settings": {
  "title": "⚙️ 设置管理",
  "separator": "============================================================",
  "goodbyeMessage": "感谢使用 i18ntk 设置管理器！",
  "relativePathHint": "请使用相对路径（例如：./src/i18n/locales）",
  "currentDirectory": "当前项目目录",
  "pin": "PIN：",
  "mainMenu": {
    "title": "主菜单：",
    "uiSettings": "界面设置",
    "uiSettingsDesc": "语言、主题和界面选项",
    "directorySettings": "目录设置",
    "directorySettingsDesc": "源目录和输出目录路径",
    "processingSettings": "处理设置",
    "processingSettingsDesc": "批量大小、并发和性能",
    "advancedSettings": "高级设置",
    "advancedSettingsDesc": "验证、日志和专家选项",
    "viewAllSettings": "查看所有设置",
    "viewAllSettingsDesc": "显示当前配置",
    "importExport": "导入/导出",
    "updatePackage": "更新软件包",
    "updatePackageDesc": "通过 npm 更新 i18n-toolkit 包",
    "importExportDesc": "备份并恢复设置",
    "resetToDefaults": "重置为默认值",
    "resetToDefaultsDesc": "恢复出厂设置",
    "reportBug": "报告错误",
    "reportBugDesc": "在 GitHub 提交问题报告",
    "saveChanges": "保存更改",
    "saveChangesDesc": "将当前设置保存到文件",
    "help": "帮助",
    "helpDesc": "显示详细帮助信息",
    "quit": "退出",
    "quitDesc": "退出设置（如有更改则提示保存）",
    "unsavedChangesWarning": "⚠️  您有未保存的更改",
    "saveChangesBeforeQuit": "是否在退出前保存更改？(y/N)：",
    "selectOption": "请选择一项：",
    "selectSettingPrompt": "选择要编辑的设置（或输入 'b' 返回）：",
    "enterNewValue": "输入新值：",
    "updatedSuccessfully": "{setting} 更新成功！",
    "scriptDirectorySettings": "脚本目录设置",
    "scriptDirectoryDesc": "为各脚本指定自定义目录",
    "scriptDirectorySettingsDesc": "可为每个脚本设置自定义目录；如不设置，将使用全局设置。",
    "securitySettings": "安全设置",
    "securitySettingsDesc": "管理员 PIN 及其他安全选项"
  },
  "updatePackage": {
    "title": "更新软件包",
    "description": "通过 npm 更新 i18n-toolkit 包",
    "command": "npm update i18ntk -g",
    "success": "更新成功完成。",
    "failed": "更新失败。",
    "prompt": "是否现在更新软件包？(y/N)：",
    "promptDesc": "注意：这会将 i18ntk 包更新到最新版本。",
    "confirm": "y",
    "cancelled": "更新已取消。"
  },
  "admin": {
    "selectOption": "选择操作：",
    "updateSuccess": "管理员 PIN 更新成功！",
    "updateFailed": "更新管理员 PIN 失败。",
    "protectionRemoved": "管理员 PIN 保护已移除。",
    "configSuccess": "管理员 PIN 配置成功！",
    "configFailed": "配置管理员 PIN 失败。",
    "setupPinPrompt": "是否设置管理员 PIN？(y/N)：",
    "pinUpdatedSuccess": "管理员 PIN 更新成功！",
    "pinUpdatedFailed": "更新管理员 PIN 失败。",
    "pinRemoved": "管理员 PIN 保护已移除。",
    "pinConfiguredSuccess": "管理员 PIN 配置成功！",
    "pinConfiguredFailed": "配置管理员 PIN 失败。",
    "accessDenied": "❌ 拒绝访问，正在返回菜单。",
    "setupPin": "🔐 正在设置管理员 PIN…",
    "setupFailed": "❌ 设置管理员 PIN 失败，未作更改。",
    "pinConfigured": "📌 管理员 PIN 已配置。",
    "options": "选项：",
    "changePin": "1）更改现有 PIN",
    "removePin": "2）移除 PIN 保护",
    "cancel": "3）取消",
    "verifyCurrentPin": "\n🔐 先验证当前 PIN：",
    "settingNewPin": "\n🔄 正在设置新 PIN…",
    "verifyToRemove": "\n🔐 验证当前 PIN 以移除保护：",
    "noPinConfigured": "🔓 当前未配置管理员 PIN。",
    "pinBenefits": "设置管理员 PIN 可增强以下操作的安全性：",
    "benefitSecurity": "• 更改安全设置",
    "benefitAdvanced": "• 修改高级配置",
    "benefitDebug": "• 访问调试工具",
    "benefitReset": "• 重置设置",
    "setupCancelled": "⏭️  管理员 PIN 设置已取消。",
    "operationCancelled": "❌ 操作已取消。",
    "startingSettings": "🎛️  启动设置 CLI…",
    "authRequired": "🔒 以下操作需要管理员身份验证：{{label}}",
    "pinSetupTitle": "管理员 PIN 设置",
    "browserOpenFailed": "无法自动打开浏览器。",
    "manualVisit": "请手动访问：{{url}}",
    "browserOpened": "✅ 浏览器已成功打开！"
  },
  "importExport": {
    "enterFilename": "输入文件名（或按 Enter 使用默认）：",
    "exportSuccess": "设置已导出到 {{file}}",
    "exportFailed": "导出设置失败：{{error}}",
    "importFilename": "输入要导入的文件名：",
    "fileNotFound": "未找到文件。",
    "invalidFormat": "设置文件格式无效。",
    "confirmImport": "此操作将替换所有当前设置。继续？(y/N)：",
    "importSuccess": "设置导入成功。",
    "importFailed": "导入设置失败：{{error}}",
    "backupSuccess": "已创建备份：{{file}}",
    "backupFailed": "创建备份失败：{{error}}"
  },
  "resetConfirm": "确定要继续吗？(y/N)：",
  "resetSuccess": "设置已成功重置为默认值。",
  "resetFailed": "重置设置失败：{error}",
  "saveSuccess": "设置已成功保存。",
  "saveFailed": "保存设置失败。",
  "pressEnter": "按 Enter 继续…",
  "initFailed": "初始化设置失败：{error}",
  "invalidValueFormat": "值格式无效。",
"help": {
  "title": "设置帮助",
  "navigationTitle": "导航",
  "navigation1": "1. 常规设置 - 配置界面语言、主题和基本偏好",
  "navigation2": "2. 目录设置 - 设置翻译文件的源目录和输出目录",
  "navigation3": "3. 处理设置 - 配置批量大小、并发和性能选项",
  "navigation4": "4. 高级设置 - 访问验证、日志和专家配置选项",
  "categoriesTitle": "设置分类",
  "categoryUI": "• 界面设置：界面语言、颜色主题和显示偏好",
  "categoryDirectory": "• 目录设置：源文件位置和报告输出目录",
  "categoryProcessing": "• 处理设置：批量处理、文件限制和性能优化",
  "categoryAdvanced": "• 高级设置：调试模式、审核日志和安全选项",
  "envVarsTitle": "环境变量",
  "envVar1": "• I18N_SOURCE_DIR：覆盖默认源目录路径",
  "envVar2": "• I18N_OUTPUT_DIR：覆盖默认输出目录路径",
  "envVar3": "• I18N_DEBUG：启用调试模式（true/false）",
  "cliUsageTitle": "CLI 使用示例",
  "cliUsage1": "• npx i18ntk --settings：打开交互式设置菜单",
  "cliUsage2": "• npx i18ntk --settings --lang de：以德语打开设置",
  "cliUsage3": "• npx i18ntk --reset-settings：将所有设置重置为默认值",
  "navigation": "使用数字键选择选项，输入 ‘b’ 返回",
  "editing": "提示时输入新值，或按 Enter 保持当前值",
  "saving": "按 ‘s’ 以保存更改后退出",
  "reset": "使用选项 7 将所有设置重置为默认值"
},
"categories": {
  "uiSettings": "界面设置",
  "directorySettings": "目录设置",
  "processingSettings": "处理设置",
  "advancedSettings": "高级设置",
  "scriptDirectorySettings": "脚本目录设置",
  "securitySettings": "安全设置"
},
"security": {
  "title": "🔐 安全设置",
  "description": "配置管理员 PIN 保护和安全选项",
  "currentPin": "当前 PIN：",
  "pinConfigured": "✅ 已配置",
  "pinNotConfigured": "❌ 未配置",
  "pinDisplay": "PIN 显示：",
  "menu": {
    "enableDisable": "1）启用/禁用管理员 PIN",
    "setupChange": "2）设置/更改管理员 PIN",
    "sessionTimeout": "3）会话超时",
    "maxAttempts": "4）最大失败尝试次数",
    "lockoutDuration": "5）锁定持续时间",
    "back": "b）返回主菜单"
  },
  "prompts": {
    "enablePin": "启用管理员 PIN 保护？(y/N)：",
    "disablePin": "禁用管理员 PIN 保护？(y/N)：",
    "enterTimeout": "输入会话超时时长（分钟）：",
    "enterMaxAttempts": "输入最大失败尝试次数：",
    "enterLockoutDuration": "输入锁定持续时间（分钟）："
  },
  "messages": {
    "pinEnabled": "管理员 PIN 保护已启用",
    "pinDisabled": "管理员 PIN 保护已禁用",
    "timeoutUpdated": "会话超时已更新为 {{minutes}} 分钟",
    "maxAttemptsUpdated": "最大失败尝试次数已更新为 {{attempts}}",
    "lockoutDurationUpdated": "锁定持续时间已更新为 {{minutes}} 分钟"
  }
},
"fields": {
  "language": {
    "label": "界面语言",
    "description": "用户界面的语言",
    "current": "当前：{value}",
    "help": "选择首选的界面语言"
  },
  "scriptDirectories": {
    "analyzeLabel": "分析脚本目录",
    "analyzeHelp": "检查脚本目录中的问题",
    "completeLabel": "完成设置目录",
    "initLabel": "初始化脚本目录",
    "manageLabel": "管理脚本目录",
    "sizingLabel": "大小分析脚本目录",
    "summaryLabel": "摘要报告目录",
    "usageLabel": "使用报告目录",
    "validateLabel": "验证脚本目录"
  },
  "theme": {
    "label": "配色主题",
    "description": "界面主题偏好",
    "current": "当前：{value}",
    "help": "在浅色和深色主题之间选择"
  },
  "dateFormat": {
    "label": "日期格式",
    "description": "显示日期的格式",
    "current": "当前：{value}",
    "help": "选择报告中日期的显示方式"
  },
  "notifications": {
    "enabled": {
      "label": "启用通知",
      "description": "显示桌面通知",
      "current": "当前：{value}",
      "help": "为完成操作启用桌面通知"
    }
  },
  "sourceDir": {
    "label": "源目录",
    "description": "包含翻译文件的目录",
    "current": "当前：{value}",
    "help": "源翻译文件所在的路径"
  },
  "sourceLanguage": {
    "label": "源语言",
    "description": "翻译的主要语言",
    "current": "当前：{value}",
    "help": "用作翻译源的主要语言"
  },
  "outputDir": {
    "label": "输出目录",
    "description": "生成报告的目录",
    "current": "当前：{value}",
    "help": "报告和处理文件将保存到此处"
  },
  "batchSize": {
    "label": "批量大小",
    "description": "每批处理的项目数",
    "current": "当前：{value}",
    "help": "每批要处理的文件数量"
  },
  "maxConcurrentFiles": {
    "label": "最大并发文件数",
    "description": "同时处理的最大文件数",
    "current": "当前：{value}",
    "help": "一次可同时处理的文件数量"
  },
  "sizingThreshold": {
    "label": "大小阈值 (%)",
    "description": "大小变化警告的阈值",
    "current": "当前：{value}%",
    "help": "检测大小不匹配的百分比阈值"
  },
  "strictMode": {
    "label": "严格验证模式",
    "description": "启用严格验证模式",
    "current": "当前：{value}",
    "help": "对翻译文件启用严格验证"
  },
  "enableAuditLog": {
    "label": "启用审核日志",
    "description": "跟踪所有翻译更改",
    "current": "当前：{value}",
    "help": "记录对翻译文件的所有更改"
  },
  "backupBeforeChanges": {
    "label": "自动备份",
    "description": "在修改前创建备份",
    "current": "当前：{value}",
    "help": "在进行更改前自动创建备份"
  },
  "adminPinEnabled": {
    "label": "管理员 PIN 保护",
    "description": "对敏感设置启用管理员 PIN 验证",
    "current": "当前：{value}",
    "help": "更改安全或高级设置时要求输入管理员 PIN"
  },
  "sessionTimeout": {
    "label": "会话超时",
    "description": "管理员会话超时（分钟）",
    "current": "当前：{value} 分钟",
    "help": "管理员会话在重新验证前保持活动的时长"
  },
  "maxFailedAttempts": {
    "label": "最大失败尝试次数",
    "description": "最大失败 PIN 尝试次数",
    "current": "当前：{value} 次",
    "help": "允许的最大失败 PIN 尝试次数"
  },
  "lockoutDuration": {
    "label": "锁定持续时间",
    "description": "失败尝试后的锁定时长",
    "current": "当前：{value} 分钟",
    "help": "达到最大失败尝试后系统锁定时长"
  },
"scriptDirectories_analyze": {
  "label": "分析脚本目录",
  "description": "分析脚本的自定义目录",
  "current": "当前：{value}",
  "help": "为分析脚本指定自定义源目录。留空以使用全局设置。"
},
"scriptDirectories_complete": {
  "label": "完成设置目录",
  "description": "完成设置脚本的自定义目录",
  "current": "当前：{value}",
  "help": "为完成设置脚本指定自定义源目录。留空以使用全局设置。"
},
"scriptDirectories_init": {
  "label": "初始化脚本目录",
  "description": "初始化脚本的自定义目录",
  "current": "当前：{value}",
  "help": "为初始化脚本指定自定义源目录。留空以使用全局设置。"
},
"scriptDirectories_manage": {
  "label": "管理脚本目录",
  "description": "管理脚本的自定义目录",
  "current": "当前：{value}",
  "help": "为管理脚本指定自定义源目录。留空以使用全局设置。"
},
"scriptDirectories_sizing": {
  "label": "大小分析脚本目录",
  "description": "大小分析脚本的自定义目录",
  "current": "当前：{value}",
  "help": "为大小分析脚本指定自定义源目录。留空以使用全局设置。"
},
"scriptDirectories_summary": {
  "label": "摘要报告目录",
  "description": "摘要报告脚本的自定义目录",
  "current": "当前：{value}",
  "help": "为摘要报告脚本指定自定义源目录。留空以使用全局设置。"
},
"scriptDirectories_usage": {
  "label": "使用报告目录",
  "description": "使用报告脚本的自定义目录",
  "current": "当前：{value}",
  "help": "为使用报告脚本指定自定义源目录。留空以使用全局设置。"
},
"scriptDirectories_validate": {
  "label": "验证脚本目录",
  "description": "验证脚本的自定义目录",
  "current": "当前：{value}",
  "help": "为验证脚本指定自定义源目录。留空以使用全局设置。"
},
"security_adminPinEnabled": {
  "label": "管理员 PIN 保护",
  "description": "为敏感设置启用管理员 PIN 验证",
  "current": "当前：{value}",
  "help": "更改安全或高级设置时要求输入管理员 PIN"
},
"fields.adminPinEnabled.label": "管理员 PIN 保护",
"fields.adminPinEnabled.description": "为敏感设置启用管理员 PIN 验证",
"fields.adminPinEnabled.help": "更改安全或高级设置时要求输入管理员 PIN",
"security_pinProtection_enabled": {
  "label": "PIN 保护",
  "description": "为敏感设置启用 PIN 保护",
  "current": "当前：{value}",
  "help": "更改安全或高级设置时要求输入 PIN"
},
"pinProtection_configure": {
  "label": "配置 PIN 保护脚本",
  "description": "配置哪些脚本需要 PIN 保护",
  "help": "选择需要 PIN 验证的各个脚本"
},
"pinProtection_debugMenu": {
  "label": "调试工具菜单",
  "description": "访问调试工具需要 PIN",
  "current": "当前：{value}",
  "help": "为访问调试工具启用 PIN 保护"
},
"pinProtection_deleteReports": {
  "label": "删除报告",
  "description": "删除报告需要 PIN",
  "current": "当前：{value}",
  "help": "为删除报告启用 PIN 保护"
},
"pinProtection_summaryReports": {
  "label": "摘要报告",
  "description": "生成摘要报告需要 PIN",
  "current": "当前：{value}",
  "help": "为生成摘要报告启用 PIN 保护"
},
"pinProtection_settingsMenu": {
  "label": "设置菜单",
  "description": "访问设置菜单需要 PIN",
  "current": "当前：{value}",
  "help": "为访问设置菜单启用 PIN 保护"
},
"pinProtection_initScript": {
  "label": "初始化脚本",
  "description": "运行初始化脚本需要 PIN",
  "current": "当前：{value}",
  "help": "为运行初始化脚本启用 PIN 保护"
},
"pinProtection_resetDefaults": {
  "label": "重置 PIN 保护",
  "description": "将所有 PIN 保护设置重置为默认值",
  "help": "将各脚本的 PIN 保护设置恢复为默认值"
},
"actions": {
  "editSetting": "编辑 {setting}：",
  "settingUpdated": "✅ {setting} 更新成功！",
  "invalidValue": "❌ 无效值，请重试。",
  "pressEnter": "按 Enter 继续…",
  "backToMenu": "返回主菜单",
  "saveSuccess": "✅ 设置保存成功！",
  "saveFailed": "❌ 保存设置失败：{error}",
  "resetConfirm": "确定要将所有设置重置为默认值吗？(y/N)：",
  "resetSuccess": "✅ 设置已成功重置为默认值！",
  "importSuccess": "✅ 设置导入成功！",
  "exportSuccess": "✅ 设置导出成功！",
  "fileNotFound": "❌ 未找到文件：{path}",
  "invalidFormat": "❌ 设置文件格式无效",
  "pinProtectionUpdated": "✅ {script} 的 PIN 保护已更新成功！",
  "pinProtectionReset": "✅ 所有 PIN 保护设置已重置为默认值！",
  "pinProtectionConfigure": "配置各脚本的 PIN 保护",
  "pinProtectionSelectScript": "选择要切换 PIN 保护的脚本：",
  "pinProtectionCurrentStatus": "当前状态：{status}",
  "pinProtectionEnabled": "已启用",
  "pinProtectionDisabled": "已禁用",
  "pinProtectionToggle": "切换 PIN 保护",
  "pinProtectionResetAll": "全部重置为默认",
  "pinProtectionBack": "返回安全设置"
},
"themes": {
  "light": "浅色",
  "dark": "深色",
  "system": "系统"
},
"languages": {
  "en": "英语",
  "de": "德语",
  "es": "西班牙语",
  "fr": "法语",
  "ru": "俄语",
  "ja": "日语",
  "zh": "中文"
},
"viewAll": {
  "title": "查看所有设置"
},
"current": "当前",
"back": "返回主菜单",
"selectSettingPrompt": "选择要编辑的设置（或输入 b 返回，r 重置）：",
"invalidOption": "无效选项。",
"editing": "正在编辑",
"enterNewValue": "输入新值（或按 Enter 保持当前，输入 'default' 使用系统默认）：",
"validOptions": "有效选项",
"updatedSuccessfully": "更新成功！",
"noHelp": "此设置无帮助信息",
"resetScriptDirectories": "重置为默认值",
"resetScriptDirectoriesTitle": "重置脚本目录为默认",
"resetScriptDirectoriesWarning1": "此操作将把所有脚本目录配置重置为系统默认值。",
"resetScriptDirectoriesWarning2": "所有自定义目录路径将被清除。此操作不可恢复。",
"resetScriptDirectoriesConfirm": "确定要将所有脚本目录重置为默认值吗？(y/N)："
  }
},
"summary": {
  "separator": "============================================================",
  "configurationTitle": "🔧 配置：",
  "sourceLanguage": "   源语言：{sourceLanguage}",
  "supportedExtensions": "   支持的扩展名：{extensions}",
  "excludedFiles": "   排除的文件：{files}",
  "reportContent": "\n{report}",
  "fatalError": "❌ 严重错误：{error}",
  "helpTitle": "📊 国际化摘要报告生成器",
  "helpDescription": "分析 i18n 文件夹结构，生成包含关键统计、文件结构分析和验证检查的综合摘要报告。",
  "helpUsage": "用法：node i18ntk-summary.js [选项]",
  "helpOptions": "  --source-dir <dir>     要分析的源目录",
  "helpSourceDir": "  --source-dir <dir>     要分析的源目录",
  "helpOutput": "  --output <file>        报告输出文件",
  "helpVerbose": "  --verbose, -v           显示详细信息",
  "helpKeepReports": "  --keep-reports          保留现有报告",
  "helpDeleteReports": "  --delete-reports        删除现有报告",
  "helpHelp": "  --help, -h              显示此帮助",
  "helpExamples": "\n示例：",
  "helpExample1": "  node i18ntk-summary.js",
  "helpExample2": "  node i18ntk-summary.js --source-dir ./locales",
  "helpExample3": "  node i18ntk-summary.js --output summary-report.txt",
  "helpExample4": "  node i18ntk-summary.js --verbose",
  "helpExample5": "  node i18ntk-summary.js --source-dir ./locales --output report.json",
  "couldNotReadFile": "⚠️  无法读取文件：{filePath}",
  "couldNotParseJSFile": "⚠️  无法解析 JS/TS 文件：{filePath}",
  "errorReadingFile": "⚠️  读取文件 {filePath} 时出错：{error}",
  "analyzingFolder": "\n🔍 正在分析文件夹结构…\n",
  "noLanguageDirectoriesFound": "\n❌ 在指定的源目录中未找到语言目录。\n",
  "foundLanguages": "\n✅ 找到 {count} 种语言：{languages}\n",
  "referenceLanguageFiles": "\n📁 参考语言 “{language}” 有 {count} 个文件\n",
  "analyzingLanguage": "\n🌍 正在分析语言：{language}",
  "keysInFiles": "\n📊 在 {files} 个文件中共找到 {keys} 个键\n",
  "checkingInconsistentKeys": "\n🔍 正在检查跨语言不一致的键…",
  "generatingSummaryReport": "\n📝 正在生成摘要报告…\n",
  "reportTitle": "\n📊 国际化摘要报告\n",
  "generated": "\n生成时间：{timestamp}\n",
  "sourceDirectory": "\n源目录：{dir}\n",
  "overview": "\n📈 概览",
  "languagesCount": "语言数：{count}",
  "totalFiles": "文件总数：{count}",
  "totalKeys": "键总数：{count}",
  "avgKeysPerLanguage": "平均每种语言键数：{count}",
  "languagesBreakdown": "\n🌍 语言分布",
  "languageBreakdown": "{language}：{files} 个文件，{keys} 个键",
  "fileStructure": "\n📁 文件结构",
  "fileKeys": "{file}：{keys} 个键",
  "missingInLanguages": "   ⚠️ 缺失于：{languages}",
  "issuesFound": "\n❌ 发现的问题",
  "missingFiles": "📁 缺失文件：",
  "emptyFiles": "📄 空文件：",
  "malformedFiles": "⚠️ 格式错误的文件：",
  "duplicateKeys": "🔑 重复键：",
  "inconsistentKeys": "🔍 不一致的键：",
  "missingKeys": "   缺失：{keys}{more}",
  "extraKeys": "   额外：{keys}{more}",
  "noIssuesFound": "\n✅ 未发现任何问题",
  "allFilesConsistent": "所有翻译文件在各语言间保持一致。",
  "recommendations": "\n💡 建议",
  "createMissingFiles": "• 创建缺失的翻译文件",
  "addContentToEmptyFiles": "• 为空文件添加内容",
  "fixMalformedFiles": "• 修复格式错误的 JSON/JS 文件",
  "removeDuplicateKeys": "• 从文件中移除重复键",
  "synchronizeKeys": "• 在所有语言间同步键",
  "splitLargeFiles": "• 考虑将大型文件拆分为更小的命名空间",
  "addMoreLanguages": "• 考虑添加更多语言",
  "nextSteps": "🎯 下一步",
  "nextStep1": "1. 修复上述识别的问题",
  "nextStep2": "2. 运行验证以确保一致性",
  "nextStep3": "3. 考虑使用 i18ntk-validate 进行详细验证",
  "nextStep4": "4. 建议定期监控",
  "couldNotFindI18nDirectory": "❌ 未找到 i18n 目录。请指定 --source-dir。",
  "sourceDirectoryDoesNotExist": "❌ 源目录不存在：{dir}",
  "i18nSummaryReportGenerator": "📊 国际化摘要报告生成器",
  "analysisComplete": "\n✅ 分析完成",
  "analyzedLanguages": "\n📊 已分析语言：{count}",
  "processedFiles": "\n📁 已处理文件：{count}",
  "foundTranslationKeys": "\n🔑 找到翻译键：{count}\n",
  "foundIssues": "\n❌ 发现 {count} 个问题\n",
  "noIssuesConsole": "\n✅ 未发现任何问题 — 所有文件保持一致！\n",
  "errorDuringAnalysis": "❌ 分析过程中出错：{error}",
  "usageReportTitle": "📊 国际化使用报告",
  "usageReportGenerated": "生成时间：{timestamp}",
  "usageReportSourceDir": "源目录：{sourceDir}",
  "usageReportI18nDir": "i18n 目录：{i18nDir}",
  "usageReportSummary": "📈 摘要",
  "usageReportSourceFilesScanned": "源文件扫描数：{count}",
  "usageReportTranslationFilesFound": "找到翻译文件：{count}",
  "usageReportAvailableKeys": "可用翻译键：{count}",
  "usageReportUsedKeys": "已使用翻译键：{count}",
  "usageReportDynamicKeys": "动态翻译键：{count}",
  "usageReportUnusedKeys": "未使用翻译键：{count}",
  "usageReportMissingKeys": "缺失翻译键：{count}",
  "usageReportNotTranslatedKeys": "未翻译键：{count}",
  "usageReportTranslationCompleteness": "🌍 翻译完整性",
  "usageReportLanguageCompleteness": "{language}：{completeness}%（{translated}/{total}）",
  "usageReportNotTranslatedInLanguage": "   未翻译：{count} 个键",
  "usageReportTranslationFilesDiscovered": "📁 翻译文件",
  "usageReportFileInfo": "{relativePath}（命名空间：{namespace}，类型：{type}）",
  "usageReportUnusedTranslationKeys": "🗑️ 未使用的翻译键",
  "usageReportUnusedKeysDescription": "以下键存在于翻译文件但未在源代码中使用：",
  "usageReportUnusedKey": "• {key}",
  "usageReportMoreUnusedKeys": "   ... 还有 {count} 个未使用键",
  "usageReportMissingTranslationKeys": "❌ 缺失的翻译键",
  "usageReportMissingKeysDescription": "以下键在源代码中使用但在翻译文件中缺失：",
  "usageReportMissingKey": "• {key}",
  "usageReportUsedIn": "   使用于：{filePath}",
  "usageReportMoreFiles": "   ... 还有 {count} 个文件",
  "usageReportDynamicTranslationKeys": "⚡ 动态翻译键",
  "usageReportDynamicKeysDescription": "以下键在运行时动态构造使用：",
  "usageReportDynamicKey": "• {key}",
  "usageReportFileUsageBreakdown": "📊 文件使用情况",
  "usageReportFileUsage": "{filePath}：{count} 个键",
  "status": {
    "generating": "⏳ 正在生成…",
    "completed": "✅ 完成"
  },
  "help": {
    "usage": "用法：node i18ntk-manage.js [选项]",
    "interactiveMode": "💡 使用：node i18ntk-manage.js --command=<command> 直接执行",
    "initProject": "🚀 初始化新语言",
    "analyzeTranslations": "🔍 分析翻译",
    "validateTranslations": "✅ 验证翻译",
    "checkUsage": "📊 检查键使用情况",
    "showHelp": "📖 使用：node i18ntk-manage.js --help 获取命令",
    "availableCommands": "📖 可用命令：",
    "initCommand": "  init      - 初始化新语言",
    "analyzeCommand": "  analyze   - 分析翻译",
    "validateCommand": "  validate  - 验证翻译",
    "usageCommand": "  usage     - 检查键使用情况",
    "sizingCommand": "  sizing    - 分析大小差异",
    "completeCommand": "  complete  - 完成翻译（100% 覆盖）",
    "summaryCommand": "  summary   - 显示项目状态",
    "debugCommand": "  debug     - 调试翻译问题"
  },
  "test_complete_system": {
    "starting_test": "🧪 正在启动完整系统测试\n",
    "separator": "=",
    "testing_ui_translations": "\n📝 测试界面翻译…",
    "testing_settings_manager": "\n⚙️  测试设置管理器…",
    "testing_main_scripts": "\n🔧 测试主脚本…",
    "checking_translation_consistency": "\n🌐 检查翻译一致性…",
    "non_critical_missing_keys": "ℹ️ {file}：{count} 个非关键缺失键",
    "extra_keys": "ℹ️ {file}：{count} 个额外键",
    "generating_report": "\n📊 正在生成报告…",
    "final_test_report_title": "📋 最终测试报告",
    "passed": "✅ 通过：{passed}",
    "failed": "❌ 未通过：{failed}",
    "warnings": "⚠️  警告：{warnings}",
    "missing_translations_title": "\n🔍 缺失翻译（{count}）：",
    "missing_translation_key": "   - {key}",
    "missing_translations_more": "   ... 还有 {count} 个",
    "errors_title": "\n❌ 错误：",
    "error_message": "   - {error}",
    "overall_status": "\n📊 总体状态：{status}",
    "success_message": "✅ {message}",
    "failure_message": "❌ {message}",
    "failure_error_message": "   {errorMessage}",
    "warning_message": "⚠️  {message}",
    "test_runner_failed": "❌ 测试运行器失败：",
    "recommendations": {
      "add_missing_translation_keys": "添加缺失的翻译键以保持一致性",
      "fix_failing_scripts": "修复部署前失败的脚本",
      "review_warning_messages": "检查并处理警告信息",
      "system_ready_for_deployment": "系统已准备好部署"
    },
    "hardcodedTexts": {
      "addMissingTranslationKeys": "添加缺失的翻译键以保持一致性",
      "fixFailingScripts": "修复部署前失败的脚本",
      "reviewWarningMessages": "检查并处理警告信息",
      "systemReadyForDeployment": "系统已准备好部署"
    }
  },
  "testConsoleI18n": {
    "found_target_file": "找到目标文件：{fileName}",
    "scanning_files_for_console_statements": "正在扫描文件中的 console 语句…",
    "found_javascript_files": "找到 {count} 个 JavaScript 文件。",
    "console_i18n_analysis_results": "Console 国际化分析结果",
    "total_console_statements": "console 语句总数：{count}",
    "translated_statements": "已翻译的语句：{count}",
    "hardcoded_statements": "硬编码语句：{count}",
    "translation_coverage": "翻译覆盖率：{percentage}%",
    "coverage_by_file": "各文件覆盖情况：",
    "file_coverage_stats": "{emoji} {fileName}：{coverage}%（{translated}/{total}）",
    "hardcoded_console_statements": "硬编码 Console 语句：",
    "file_header": "文件：{file}",
    "line_statement": "  第 {line} 行：{statement}",
    "suggested_key": "    建议键：{key}",
    "suggested_replacement": "    建议替换：{replacement}",
    "recommendations": "建议：",
    "recommendation_1": "1. 用 i18n.t() 调用替换硬编码字符串。",
    "recommendation_2": "2. 将新键添加到相应的翻译 JSON 文件中。",
    "recommendation_3": "3. 确保所有 console 消息面向用户，并需要翻译。",
    "recommendation_4": "4. 对于动态消息，使用模板字符串或字符串拼接，并将变量传递给 i18n.t()。",
    "translation_keys_to_add": "建议添加的翻译键：",
    "add_keys_instruction": "将以下 JSON 结构复制到您的翻译文件：",
    "perfect_translation_coverage": "完美的翻译覆盖率！",
    "all_statements_using_translation": "所有 console 语句均使用了翻译系统。",
    "i18n_console_translation_checker": "Console 翻译检查器",
    "script_description_line1": "此脚本扫描所有 JavaScript 文件中的 console 语句",
    "script_description_line2": "并检查它们是否使用了翻译系统。",
    "analysis_completed_in_duration": "分析在 {duration} 秒内完成。",
    "report_saved_to_path": "报告已保存至：{path}",
    "found_hardcoded_messages": "发现 {count} 条硬编码消息。以错误码 1 退出。",
    "all_console_messages_use_translation": "所有 console 消息均已使用翻译。以 0 退出。",
    "consoleTranslationsCheck": "Console 翻译检查"
  },
  "translate_mismatches": {
    "title": "🌐 翻译助手 {dryRun}",
    "separator": "=====================================\n",
    "processing_file": "📄 正在处理 {language}.json…",
    "translation_summary_title": "\n📊 翻译概览：",
    "total_translations_applied": "   应用翻译总数：{totalTranslations}",
    "run_with_apply_instruction": "\n💡 使用 --apply 参数以应用这些翻译\n",
    "no_translation_mappings": "   ⚠️  对于 {language}，未找到可用的翻译映射",
    "translation_applied": "   ✅ {key}：\"{oldValue}\" → \"{newValue}\"",
    "saved_translations": "   💾 已保存 {count} 条翻译至 {filename}",
    "found_translatable_items": "   🔍 找到 {count} 个可翻译项",
    "no_automatic_translations": "   ✨ 无可用的自动翻译",
    "error_processing_file": "   ❌ 处理 {filename} 时出错：{errorMessage}",
    "coverage_report_title": "📊 翻译覆盖率报告",
    "coverage_report_separator": "===============================\n",
    "file_header": "📄 {filename}：",
    "total_keys": "   键总数：{total}",
    "translated_keys": "   已翻译：{translated}",
    "untranslated_markers": "   未翻译标记：{untranslated}",
    "contains_english": "   包含英语：{hasEnglish}",
    "coverage_percentage": "   覆盖率：{coverage}%\n",
    "error_general": "❌ 错误：",
    "use_help": "使用 --help 查看用法信息"
  }
},
  "ui": {
      "autoDetectedI18nDirectory": "自动检测到i18n目录：{{path}}",
      "executingCommand": "🔄 正在执行命令：{{command}}",
      "unknownCommand": "❌ 未知命令：{{command}}",
      "errorExecutingCommand": "❌ 执行命令时出错：{{error}}",
      "errorLoadingTranslationFile": "❌ 加载'{{language}}'的翻译文件时出错：{{error}}",
      "errorSavingLanguagePreference": "❌ 保存语言偏好设置时出错：{{error}}",
      "noActiveReadlineInterface": "❌ 没有可用的活动读取界面",
      "uiLanguageUpdated": "🌍 界面语言已更新为：{{language}}",
      "selectOptionPrompt": "请选择一个选项：",
      "pressEnterToReturn": "按Enter键返回主菜单...",
      "detectedSourceDirectory": "检测到源目录：{{sourceDir}}",
      "detectedI18nDirectory": "检测到i18n目录：{{directory}}",
      "toolkitTitle": "🌍 i18ntk - 企业国际化管理工具包",
      "versionInfo": "📦 版本：{{version}}",
      "releaseDate": "📅 发布日期：{{date}}",
      "maintainer": "👤 维护者：{{maintainer}}",
      "nodeVersion": "🔧 Node.js：{{version}}",
      "license": "📄 许可证：{{license}}",
      "whatsNew": "✨ v{{version}} 的新功能：",
      "changeItem": "   {{change}}",
      "documentation": "📚 文档：{{url}}",
      "issues": "🐛 问题：{{url}}",
      "versionInfoUnavailable": "i18ntk版本信息不可用",
      "versionInfoError": "错误：{{error}}"
  },
  "validateLanguagePurity": {
        "phrase_debug_tools": "调试工具",
        "phrase_settings": "设置",
        "phrase_configuration": "配置",
        "phrase_invalid_choice": "无效选择",
        "phrase_please_select": "请选择",
        "phrase_back_to_main_menu": "返回主菜单",
        "phrase_error": "错误",
        "phrase_warning": "警告",
        "phrase_success": "成功",
        "phrase_failed": "失败",
        "phrase_loading": "加载中",
        "phrase_saving": "保存中",
        "phrase_full_system_debug": "完整系统调试",
        "phrase_configuration_debug": "配置调试",
        "phrase_translation_debug": "翻译调试",
        "phrase_performance_debug": "性能调试",
        "phrase_admin_pin_setup": "管理员PIN设置",
        "phrase_enter_admin_pin": "输入管理员PIN",
        "phrase_confirm_admin_pin": "确认管理员PIN",
        "phrase_authentication_failed": "身份验证失败",
        "phrase_access_denied": "访问被拒绝",
        "phrase_security_log": "安全日志",
        "language_german": "德语",
        "language_french": "法语",
        "language_spanish": "西班牙语",
        "language_russian": "俄语",
        "language_japanese": "日语",
        "language_chinese": "中文",
        "validator_title": "🔍 语言纯度验证器",
        "validating_file": "📄 正在验证 {language}.json ({name})...",
        "valid_file_message": "   ✅ 有效 - 未发现语言纯度违规",
        "invalid_file_message": "   ❌ 无效 - 发现 {count} 处违规",
        "no_validation_rules": "未定义 {language} 语言的验证规则",
        "error_reading_file": "读取文件错误: {errorMessage}",
        "issue_forbidden_marker": "包含禁止的标记: {marker}",
        "issue_english_phrase": "包含英文短语: \"{phrase}\"",
        "issue_english_words": "包含英文单词: {words}",
        "issue_missing_cyrillic": "长文本应包含俄文字符",
        "issue_missing_japanese": "长文本应包含日文字符",
        "issue_missing_chinese": "长文本应包含中文字符",
        "summary_title": "📊 验证总结",
        "overall_results_header": "📋 总体结果:",
        "total_files_validated": "   验证文件总数: {count}",
        "valid_files": "   有效文件: {count}",
        "invalid_files": "   无效文件: {count}",
        "total_violations": "   违规总数: {count}\n",
        "violations_by_file_header": "❌ 文件违规情况:\n"
  },
  "workflow": {
    "title": "🔄 工作流管理",
    "description": "管理i18n工作流。",
    "select_workflow_file": "选择要运行的工作流文件:",
    "no_workflow_files": "在工作流目录中未找到工作流文件。",
    "invalid_selection": "无效选择。请输入对应工作流文件的数字。",
    "workflow_execution_started": "开始工作流: {workflowName}",
    "workflow_execution_completed": "工作流完成: {workflowName}",
    "workflow_execution_failed": "工作流失败: {workflowName} - {error}",
    "workflow_cancelled": "工作流执行已取消。",
    "press_enter_to_continue": "按回车键继续！",
    "starting": "🚀 开始工作流...",
    "completed": "✅ 工作流成功完成！",
    "checkReports": "📄 查看报告获取详细信息。",
    "exitingCompleted": "📝 工作流已完成。正在退出...",
    "summary": {
      "title": "📋 工作流程摘要",
      "separator": "===================",
      "completedAt": "🕐 工作流程完成于: {timestamp}",
      "initialViolations": "📊 初始违规: {count}",
      "finalViolations": "📉 最终违规: {count}",
      "totalFixes": "🔧 应用的总修复数: {count}",
      "improvement": "📈 改进: {percentage}%",
      "stepResults": "📝 步骤结果:\n",
      "stepDetail": "{number}. {status} {stepName}",
      "violations": "   违规: {count}",
      "fixesApplied": "   应用的修复: {count}",
      "nextSteps": "💡 后续步骤:\n",
      "congratulations": "🎉 恭喜！所有区域设置文件现在都具有完美的语言纯度！",
      "cicdIntegration": "✅ 考虑将验证器集成到您的CI/CD管道中",
      "automatedChecks": "✅ 为新翻译设置自动检查",
      "greatProgress": "🎯 巨大进步！大多数问题已解决。",
      "manualReview": "🔍 手动检查剩余的违规",
      "addMappings": "🌐 考虑为边缘情况添加更多翻译映射",
      "goodProgress": "📈 取得了良好进展，但需要更多工作。",
      "expandMappings": "🔧 扩展自动翻译映射",
      "professionalReview": "👥 考虑复杂翻译的手动审查",
      "runAgain": "🔄 添加更多映射后再次运行工作流程",
      "limitedProgress": "⚠️  进展有限。可能需要手动干预。",
      "reviewMappings": "🔍 检查翻译映射并添加缺失的映射",
      "professionalServices": "👥 考虑专业翻译服务",
      "checkIssues": "🔧 检查区域设置文件中的系统性问题",
      "success": "✅",
      "warning": "⚠️"
    }
  }
}