{
  "meta": {
    "version": "1.10.0",
    "updated": "2025-08-16"
  },
  "common": {
    "welcome": "欢迎",
    "hello": "你好",
    "goodbye": "再见",
    "yes": "是",
    "no": "否",
    "save": "保存",
    "cancel": "取消",
    "delete": "删除",
    "edit": "编辑",
    "loading": "加载中...",
    "offlineTitle": "您当前处于离线状态",
    "offlineMessage": "请检查您的网络连接",
    "tryReconnect": "尝试重新连接",
    "logout": "退出登录",
    "login": "登录",
    "amount": "金额",
    "success": "成功",
    "error": "错误",
    "warning": "警告",
    "info": "信息：",
    "debug": "调试",
    "progress": "进度：",
    "remaining": "剩余：",
    "total": "总计：",
    "completed": "7. 成功完成！",
    "missing": "缺失",
    "partial": "部分",
    "sameAsSource": "与源相同：",
    "formatMismatch": "格式不匹配：",
    "typeMismatch": "类型不匹配：",
    "structureMismatch": "结构不匹配：",
    "invalidOption": "无效选项",
    "separator": "==================================================",
    "initializationFailed": "❌ 初始化失败：{error}",
    "stackTrace": "堆栈跟踪：{stack}",
    "pressEnterToContinue": "按Enter继续...",
    "pressEnterToReturn": "按Enter返回主菜单...",
    "stepCompleted": "步骤 '{stepName}' 已完成。",
    "stepFailed": "步骤 '{stepName}' 失败。",
    "runningStep": "正在运行步骤：{stepName}",
    "command": "命令：{command}",
    "startingWorkflow": "正在启动工作流...",
    "workflowCompleted": "工作流已完成。",
    "checkReports": "请查看报告了解详情。",
    "errorExecutingCommand": "执行命令时出错: {error}",
    "genericError": "❌ 错误: {error}",
    "errors": {
      "errors": "错误：",
      "genericError": "❌ 错误: {error}",
      "initializationFailed": "❌ 初始化失败: {error}",
      "translationKeyNotFound": "翻译键未找到: {key}",
      "sourceDirectoryNotFound": "源目录未找到: {directory}",
      "configLoadingFailed": "配置加载失败",
      "invalidSourceDirectory": "无效源目录: {directory}",
      "securityViolation": "安全违规检测到",
      "authenticationFailed": "身份验证失败",
      "sourceEqualsI18nWarn": "⚠️ 源目录等于国际化目录 ({sourceDir})。回退到 {fallback} 进行源扫描。"
    },
    "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": "成功完成！",
    "warnings": "警告：",
    "completedKeys": "已完成键：",
    "missingKeys": "缺失键：",
    "partialKeys": "部分键：",
    "home": "首页",
    "settings": "设置",
    "confirm": "确认",
    "analyzingTranslationCompleteness": "正在分析翻译完整性...",
    "i18nDirectoryNotFound": "⚠️  i18n 目录未找到: {i18nDir}",
    "translationCompletenessAnalysisFailed": "⚠️  翻译完整性分析失败: {error}",
    "failedToAnalyzeLanguage": "❌  分析语言 {language} 失败: {error}",
    "errorReadingI18nDirectory": "❌  读取 i18n 目录时出错: {error}",
    "initializationCancelled": "🚫 初始化被用户取消。",
    "languageCompletenessTitle": "📈 翻译完整性按语言",
    "startingSettings": "🎛️  开始设置 CLI..."
  },
  "errors": {
    "invalidOption": "❌ 无效的选项：{option}。请重试。",
    "readlineClosed": "输入流已关闭；正在以非交互模式运行。",
    "noPackageJson": "未找到 package.json 文件。无法自动检测 i18n 框架。",
    "noI18nDir": "未在项目根目录找到 i18n 目录。",
    "noI18nConfig": "未在项目根目录找到 i18n 配置文件。"
  },
  "fixer": {
    "help_message": "\nI18n 翻译修复工具\n\n用法: node i18ntk-fixer.js [选项]\n\n选项:\n  --source-dir <dir>     要扫描的源目录（默认: ./locales）\n  --languages <langs>    要修复的语言列表，用逗号分隔\n  --markers <markers>    视为未翻译的标记列表，用逗号分隔\n  --no-backup           跳过自动备份创建\n  --help                显示此帮助信息\n\n示例:\n  node i18ntk-fixer.js --languages de,fr\n  node i18ntk-fixer.js --source-dir=./locales --markers NOT_TRANSLATED\n  node i18ntk-fixer.js --no-backup\n",
    "starting": "🚀 开始修复翻译，语言: {languages}",
    "sourceDirectory": "📁 源目录: {sourceDir}",
    "sourceLanguage": "🔤 源语言: {sourceLanguage}",
    "markers": "🏷️  要修复的标记: {markers}",
    "scanningLanguage": "📊 正在扫描 {language}...",
    "noLanguages": "❌ 未指定要修复的语言。",
    "allComplete": "🎉 所有翻译已经完成！",
    "fullReportSaved": "📊 完整报告已保存到: {reportPath}",
    "reviewReport": "请查看报告后再继续。",
    "backupCreated": "💾 备份已成功创建。",
    "applyingFixes": "🔄 正在应用修复...",
    "fixingComplete": "✅ 翻译修复完成！",
    "operationCancelled": "❌ 用户取消了操作。",
    "analysisTitle": "🔍 翻译修复分析",
    "analysisSeparator": "==================================================",
    "totalIssues": "发现的问题总数: {totalIssues}",
    "missingTranslations": "缺失的翻译: {missing}",
    "placeholderTranslations": "带有标记的翻译: {placeholder}",
    "noIssues": "✅ 未发现任何问题，所有翻译都已完成。",
    "detailedIssues": "📋 详细问题:",
    "detailedSeparator": "--------------------------------------------------",
    "filePath": "📄 {file} → {path}",
    "missingKey": "❌ 缺失: {source} → {new}",
    "placeholderKey": "⚠️  标记: \"{target}\" → \"{new}\"",
    "moreIssues": "... 还有 {count} 个问题。查看报告文件获取完整详情。",
    "confirmationTitle": "🤔 要继续进行这些修复吗？",
    "confirmationOptions": "选项:",
    "optionYes": "y - 是，应用所有修复",
    "optionNo": "n - 否，取消操作",
    "optionShow": "s - 显示详细问题",
    "choicePrompt": "请选择 (y/n/s): ",
    "nonInteractiveMode": "⚡ 检测到非交互模式 - 自动应用修复...",
    "reportGenerated": "📊 修复报告已生成: {path}",
    "summary": {
      "totalIssues": "问题总数: {total}",
      "missingKeys": "缺失的键: {missing}",
      "placeholderKeys": "带有标记的键: {placeholder}",
      "languages": "语言: {languages}"
    },
    "welcome": {
      "title": "🎯 欢迎使用翻译修复工具！",
      "description": "此工具将帮助您修复语言文件中损坏的翻译和占位符标记。"
    },
    "markerPrompt": {
      "title": "🏷️ 配置占位符标记",
      "description": "输入指示未翻译文本的标记（用逗号分隔）：",
      "currentDefaults": "默认标记：{markers}",
      "input": "标记（或按Enter使用默认值）："
    },
    "languagePrompt": {
      "title": "🌍 选择要修复的语言",
      "available": "可用语言：{languages}",
      "description": "输入要修复的语言（用逗号分隔）或按Enter选择全部：",
      "input": "语言：",
      "noLanguages": "未找到需要修复的语言。"
    },
    "directoryPrompt": {
      "title": "📁 选择目录",
      "current": "当前目录：{dir}",
      "description": "输入包含语言文件的目录（或按Enter使用当前目录）：",
      "input": "目录："
    }
  },
  "autorun": {
    "stepAnalyzeTranslations": "分析翻译",
    "stepCompletedWithIcon": "✅ 步骤“{stepName}”已完成。",
    "stepValidateTranslations": "验证翻译",
    "stepRunning": "步骤“{stepName}”正在运行...",
    "separator": "==================================================",
    "stepFailed": "步骤“{stepName}”失败。",
    "errorLabel": "错误：{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 - 显示此帮助信息",
    "examplesTitle": "示例：",
    "configExample": "node i18ntk-autorun.js --config",
    "stepsExample1": "node i18ntk-autorun.js --steps 1,2,3",
    "stepsExample2": "node i18ntk-autorun.js --all",
    "customSettingsConfiguration": "自定义设置配置",
    "availableSteps": "可用步骤：",
    "startingAutoRunWorkflow": "正在启动自动运行工作流...",
    "workflowIncludesSteps": "工作流包含 {count} 个步骤：",
    "missingRequiredFile": "缺少必需文件：{file}",
    "workflowStopped": "工作流已停止。",
    "workflowCompleted": "工作流已完成。",
    "successfulSteps": "成功步骤数：{count}",
    "failedSteps": "失败步骤数：{count}",
    "stepInitializeProject": "初始化项目",
    "stepCheckUsage": "检查使用情况",
    "stepGenerateSummary": "正在生成摘要报告...",
    "runInitializationFirst": "请先运行初始化。",
    "initializationCheckPassed": "初始化检查通过。",
    "runningStep": "正在运行步骤：{stepName}",
    "commandLabel": "命令：{command}",
    "stepCompletedWithTime": "步骤“{stepName}”在 {duration}ms 内完成。",
    "stepCompleted": "步骤“{stepName}”已完成。",
    "stepFailedWithError": "步骤“{stepName}”因错误失败：{error}",
    "requiredStepFailed": "必需步骤失败。正在停止工作流。",
    "optionalStepFailed": "可选步骤失败。继续执行工作流。",
    "stepRequired": "（必需）",
    "stepOptional": "（可选）",
    "startingExecution": "正在开始执行...",
    "pressEnterToContinue": "按 Enter 继续...",
    "runningSelectedSteps": "正在运行所选步骤...",
    "invalidStepNumber": "无效的步骤编号：{stepNum}",
    "executionReport": "执行报告：",
    "requiredFailedSteps": "失败的必需步骤数：{count}",
    "stepDetails": "步骤详情：",
    "reportSavedTo": "报告已保存到：{path}",
    "overallStatusSuccess": "成功",
    "overallStatusFailed": "失败",
    "overallStatus": "总体状态：{status}",
    "pressEnterForDefaults": "按 Enter 使用默认设置。",
    "sourceDirPrompt": "请输入源目录（默认：{default}）：",
    "sourceLangPrompt": "请输入源语言（默认：{default}）：",
    "targetLangsPrompt": "请输入目标语言（用逗号分隔，默认：{default}）：",
    "translationMarkerPrompt": "请输入翻译标记（默认：{default}）：",
    "outputDirPrompt": "请输入报告输出目录（默认：{default}）：",
    "settingsUpdatedSuccessfully": "设置更新成功！",
    "errorConfiguringSettings": "配置设置时出错：{error}",
    "configurationComplete": "配置完成。",
    "runAutoRunCommand": "现在您可以运行自动执行命令。",
    "configurationFailed": "配置失败：{error}",
    "noValidStepNumbers": "未提供有效的步骤编号。",
    "autoRunFailed": "自动运行失败：{error}",
    "stepCompleteTranslations": "完成翻译",
    "stepAnalyzeSizing": "分析翻译大小",
    "stepCompletedIcon": "✅",
    "stepRunningWithNumber": "[{stepNumber}/{totalSteps}] 步骤“{stepName}”正在运行...",
    "stepFailedIcon": "❌",
    "translationLoadWarning": "警告：无法加载 {lang} 翻译",
    "configReadError": "读取配置文件 {file} 时出错"
  },
  "analyze": {
    "help_message": "\n国际化翻译分析器\n\n用法: node i18ntk-analyze.js [选项]\n\n选项:\n  --source-dir <dir>     要扫描的源目录 (默认: ./locales)\n  --i18n-dir <dir>       I18n 目录 (默认: ./locales)\n  --output-report        生成详细报告\n  --output-dir <dir>     报告输出目录 (默认: ./i18ntk-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. 添加缺失翻译或删除未使用的翻译。",
    "rerun_analysis": "4. 重新运行分析以获取最新结果。",
    "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": "配置加载失败",
    "sourceLanguageNotFound": "未找到源语言：{language}",
    "couldNotParseTarget": "无法解析目标语言：{language}",
    "couldNotParseSource": "无法解析源语言：{language}",
    "reportGenerated": "报告已生成：{reportPath}",
    "generateReportPrompt": "是否生成报告？(y/n)",
    "title": "🌍 I18NTK 翻译完成",
    "separator": "============================================================",
    "sourceDir": "📁 源目录：{sourceDir}",
    "sourceLanguage": "🌐 源语言：{sourceLanguage}",
    "dryRunMode": "🧪 试运行模式 - 不会进行任何更改",
    "languages": "🌍 可用语言：{languages}",
    "addingMissingKeys": "➕ 正在向翻译文件添加缺失的键...",
    "processing": "🔄 正在处理 {language}...",
    "addedKeys": "✅ 已添加 {count} 个缺失的键",
    "noChangesNeeded": "✅ {language} 不需要更改",
    "summaryTitle": "📊 完成摘要",
    "totalChanges": "📝 总更改数：{totalChanges}",
    "languagesProcessed": "🌍 处理的语言：{languagesProcessed}",
    "missingKeysAdded": "➕ 已添加的缺失键：{missingKeysAdded}",
    "nextStepsTitle": "📋 后续步骤",
    "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个字符 - 考虑拆分它们",
    "longer": "更长",
    "shorter": "更短",
    "review_translations": "考虑检查 ${lang} 翻译 - 它们比基准 ${comparison} ${percentageDifference}% 更${comparison}",
    "report_saved_to": "报告已保存到: ${reportPath}",
    "considerReviewingTranslations": "考虑检查 ${lang} 翻译 - 它们比基准长 ${data.percentageDifference}%",
    "csv_report_saved_to": "CSV报告已保存到: ${csvPath}",
    "human_report_saved": "已保存可读报告: ${reportPath}",
    "folder_summary_title": "文件夹摘要",
    "folder_summary_table_header": "语言    大小(KB)    键数    平均长度    总字符数",
    "folder_summary_row": "${lang}      ${sizeKB}      ${totalKeys}    ${avgLength}    ${totalChars}",
    "language_comparison_title": "语言比较",
    "language_comparison_row": "${lang}: ${diff} 字符 (${percent}%) ${status}",
    "summary_stats": "📊 摘要: ${totalLanguages} 种语言, ${totalKeys} 个键 - 报告已保存到 ${reportPath}",
    "detailedKeysDescription": "在控制台显示详细的键级分析",
    "too_many_keys_warning": "⚠️ 键数过多，无法在控制台显示 - 请查看详细报告文件获取完整分析",
    "no_translation_files_found": "未找到翻译文件",
    "analysis_completed": "分析在${duration}毫秒内完成",
    "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} 有 ${data.longKeys} 个翻译超过 ${data.threshold} 个字符 - 考虑拆分它们"
    },
    "starting_analysis": "正在开始分析...",
    "found_files": "找到 {count} 个文件"
  },
  "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": "🌍 翻译完整性:",
    "failedToExtractKeys": "提取键时出错：{error}",
    "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": "参数已解析",
    "processedFiles": "已处理 {processedFiles} 个文件中的 {totalFiles} 个文件。",
    "argsParseFailed": "参数解析失败: {error}",
    "translationDiscoveryError": "翻译发现错误: {error}",
    "fileTraversalError": "文件遍历错误: {error}",
    "usageAnalysisFailed": "使用分析失败: {error}",
    "sourceEqualsI18nWarn": "⚠️  源目录和 i18n 目录相同。这可能会导致分析问题。",
    "i18nEqualsSourceWarn": "⚠️  I18n 目录和源目录相同。这可能会导致分析问题。",
    "translationFileParseError": "⚠️  翻译文件解析错误: {error}",
    "translationKeysLoadError": "⚠️  翻译键加载错误: {error}",
    "languageCompletenessStats": "🌍 {language}: {translated}/{total} ({completeness}% 已翻译)",
    "missingKeysCount": "⚠️  缺失键: {count}",
    "analyzingTranslationCompleteness": "正在分析翻译完整性...",
    "unusedKeysCount": "未使用键: {count}",
    "usedKeysCount": "已使用键: {count}",
    "availableKeysCount": "可用键: {count}",
    "analysisResults": "分析结果:",
    "i18nDirectoryNotFound": "⚠️ 未找到 i18n 目录：{dir}",
    "sourceDirectoryNotFound": "⚠️  未找到源目录：{dir}",
    "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": "",
      "no_source_files_found": "⚠️  未找到源文件",
      "failedToProcessFile": "❌  处理文件 {filePath} 失败: {error}",
      "n_sample_missing_keys": "❌  示例缺失键 (前 5 个):",
      "and_missingkeyslength_5_more": "...以及 {count} 个更多缺失键",
      "n_generating_detailed_report": "\n📊 正在生成详细报告...",
      "report_saved_reportpath": "📄 报告已保存: {reportPath}",
      "add_missing_translation_keys_t": "    ➕ 向翻译文件添加缺失键以保持一致性",
      "review_dynamic_keys_manually_t": "    🔍 手动检查动态键 (可能有效)",
      "all_translation_keys_are_prope": "✅ 所有翻译键都已正确使用！",
      "2_check_the_detailed_report_fo": "    2. 检查详细报告以获取特定问题"
    },
    "complete": {
      "configLoadedSuccessfully": "配置加载成功",
      "configLoadingFailed": "配置加载失败",
      "title": "🌍 国际化翻译完成",
      "separator": "============================================================",
      "sourceDir": "📁 源目录: {sourceDir}",
      "sourceLanguage": "🌐 源语言: {sourceLanguage}",
      "dryRunMode": "🧪 试运行模式 - 不会进行任何更改",
      "languages": "🌍 可用语言: {languages}",
      "addingMissingKeys": "➕ 正在向翻译文件添加缺失键...",
      "processing": "🔄 正在处理 {language}...",
      "addedKeys": "✅ 已添加 {count} 个缺失键",
      "changeDetails": "📝 {file}：{key}",
      "andMore": "...以及 {count} 个更多",
      "noChangesNeeded": "✅ {language} 无需更改",
      "summaryTitle": "📊 完成摘要",
      "totalChanges": "📝 总更改: {totalChanges}",
      "languagesProcessed": "🌍 已处理语言: {languagesProcessed}",
      "missingKeysAdded": "➕ 已添加缺失键: {missingKeysAdded}",
      "nextStepsTitle": "📋 下一步",
      "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": "❌ 无法解析使用报告。使用常用键..."
    },
    "noTranslationLanguagesFound": "未找到翻译语言。",
    "failedToAnalyzeLanguage": "分析语言 {language} 失败: {error}",
    "translationCompletenessAnalysisFailed": "翻译完整性分析失败: {error}",
    "errorReadingI18nDirectory": "⚠️  读取 i18n 目录时出错: {error}",
    "analysisFailedError": "❌  分析失败: {error}"
  },
  "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": "未配置目标语言；跳过目标验证。通过 \"i18ntk init --languages=de,fr\" 添加语言。",
    "validatingLanguages": "🌍 正在验证语言: {langs}",
    "validatingLanguage": "🔍 正在验证语言: {lang}",
    "filesCount": "📄 文件数: {count}",
    "keysCount": "🔑 键数: {count}",
    "missingFilesCount": "📁 缺失文件: {count}",
    "syntaxErrorsCount": "❌ 语法错误: {count}",
    "translationPercentage": "🎯 翻译进度: {percentage}% ({translated}/{total} 个键)",
    "validationSummary": "📊 验证摘要",
    "validation_failed": "❌ 验证失败: {error}",
    "totalErrors": "❌ 总错误数: {count}",
    "totalWarnings": "⚠️  总警告数: {count}",
    "errorsSection": "❌ 错误",
    "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": "####"
  },
  "debug": {
    "title": "🔧 调试工具",
    "separator": "============================================================",
    "mainDebuggerSystemDiagnostics": "1. 系统诊断",
    "_consoleTranslationsCheck": "// 2. 控制台翻译检查",
    "_exportMissingKeys": "// 3. 导出缺失的翻译键",
    "_replaceHardcodedConsole": "// 4. 替换硬编码控制台字符串",
    "_consoleKeyChecker": "// 5. 控制台键检查器",
    "debugLogs": "2. 调试日志",
    "backToMainMenu": "0. 返回主菜单",
    "selectOption": "请选择一个调试工具：",
    "runningDebugTool": "正在运行 {displayName}...",
    "debugToolNotFound": "❌ 未找到调试工具：{toolName}",
    "errorRunningDebugTool": "运行调试工具时出错：{error}",
    "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     - 调试翻译问题",
    "scannerCommand": "  scanner   - 扫描项目中的 i18n 键",
    "menu": {
      "pressEnterToContinue": "按 Enter 继续...",
      "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 管理工具 - 项目初始化",
    "initializationCancelled": "🚫 初始化已被用户取消。",
    "sourceDirectoryLabel": "📁 源目录：{dir}",
    "createdSourceLanguageDirectory": "✅ 创建源语言目录：{dir}",
    "requiredTitle": "需要初始化",
    "requiredBody": "在运行此命令之前，必须先初始化项目。",
    "promptRunNow": "现在要运行初始化吗？(y/N): ",
    "sourceLanguageLabel": "🌍 源语言：{language}",
    "detectedI18nFrameworks": "🔍 检测到的 i18n 框架：{frameworks}",
    "existingDirectoriesFound": "📁 发现已有翻译目录：",
    "useExistingDirectoryPrompt": "要使用已有目录吗？(y/n)",
    "selectDirectoryPrompt": "选择目录（输入数字或选择 '创建新目录'）:",
    "enterNewDirectoryName": "输入新目录名称：",
    "createdNewDirectory": "✅ 已创建新目录: {dir}",
    "pinMustBe4Digits": "🔐 PIN 必须是 4 位数字。",
    "directoryAlreadyExists": "⚠️ 目录已存在：{dir}",
    "invalidDirectoryName": "❌ 无效目录名称：{name}",
    "usingExistingDirectory": " 使用现有目录: {dir}",
    "adminPinSetupOptional": "🔐 管理员 PIN 设置可选（推荐用于安全）",
    "adminPinSeparator": "------------------------------",
    "adminPinDescription1": "管理员 PIN：4 位数字，用于安全访问",
    "adminPinDescription2": "留空以跳过 PIN 设置",
    "adminPinDescription3": "PIN 将要求用于所有后续操作",
    "adminPinDescription4": "PIN 设置完成",
    "adminPinSetupPrompt": "输入管理员 PIN（4 位数字）或留空以跳过:",
    "skippingAdminPinSetup": "跳过管理员 PIN 设置...",
    "settingUpAdminPin": "🔐 正在设置管理员 PIN...",
    "enterAdminPin": "请输入管理员 PIN：",
    "confirmAdminPin": "请确认管理员 PIN：",
    "pinMismatch": "PIN 不匹配，请重试。",
    "adminPinSetupSuccess": "🔐 管理员 PIN 设置成功！",
    "adminPinSetupFailure": "🔐 管理员 PIN 设置失败，请重试。",
    "adminProtectionEnabled": "🔐 管理员保护已启用，所有操作都需要 PIN 认证。",
    "adminProtectionDisabled": "🔐 管理员保护已禁用，所有操作现在都不需要 PIN 认证。",
    "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}",
    "setup": {
      "title": "设置",
      "question": "设置问题",
      "opt_single": "单个文件",
      "opt_modular": "模块化",
      "opt_existing": "现有",
      "choice_prompt": "请选择选项：",
      "opt_confirm": "确认",
      "opt_cancel": "取消",
      "apply_all_prompt": "是否将此结构应用于所有语言？(y/N): ",
      "per_language_intro": "您选择了为每种语言单独配置。以下是可用语言：",
      "available_languages": "可用语言：{languages}",
      "include_prompt": "请输入要包含的语言代码，用逗号分隔（例如 'de,fr,es'）："
    },
    "warnings": {
      "noPackageJson": "未找到 package.json 文件。无法自动检测 i18n 框架。"
    },
    "errorsPackageJsonRead": "读取 package.json 时出错：{error}",
    "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": {
      "errorExecutingCommand": "执行命令时出错：{error}",
      "sourceDirectoryNotFound": "未找到源目录：{dir}",
      "sourceLanguageDirectoryNotFound": "未找到源语言目录：{dir}",
      "noJsonFilesInSourceDirectory": "源目录中未找到 JSON 文件：{dir}",
      "invalidFilePathDetected": "检测到无效的文件路径",
      "initializationFailed": "初始化失败：{error}"
    },
    "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": "📏 分析大小差异",
      "fix": "🛠️  修复占位翻译",
      "workflow": "🔄 运行完整工作流",
      "status": "📋 显示项目状态",
      "delete": "🗑️  删除全部报告",
      "language": "🌍 切换界面语言",
      "settings": "⚙️  设置",
      "help": "❓ 帮助",
      "debug": "🔧 调试工具",
      "scanner": "🔍 扫描i18n问题",
      "exit": "🚪 退出"
    },
    "update": "📦 更新软件包",
    "goodbye": "👋 再见！",
    "invalidChoice": "❌ 无效选择。请选择 0-15。",
    "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.10.1",
      "tool_separator": "======================================\n",
      "dry_run_warning": "⚠️ 正在试运行模式 - 不会修改文件\n",
      "error_during_replacement": "❌ 翻译替换过程中出错："
    }
  },
  "config": {
    "dirFallbackWarning": "⚠️ 找不到目录 {dir}，使用 {fallback}。",
    "dirInvalidError": "❌ 无效的目录：{dir}"
  },
  "operations": {
    "completed": "✅ 操作成功完成！",
    "deleteReportsTitle": "🗑️ 删除报告与日志",
    "scanningForFiles": "🔍 正在扫描待删除的文件…",
    "noFilesFoundToDelete": "✅ 未找到可删除的文件。",
    "availableDirectories": "📁 可用目录：",
    "allDirectories": "所有目录",
    "andMore": "等更多",
    "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": "📊 检查键使用情况",
      "noUsedKeysHint": "发现翻译但在源中未使用。检查 --source-dir 和 translationPatterns。"
    },
    "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}",
    "file_too_large": "文件过大",
    "file_read_error": "文件读取错误",
    "content_too_large_for_file": "内容过大，无法写入文件",
    "file_write_error": "文件写入错误",
    "json_string_too_large": "JSON 字符串过大",
    "security_alert": "安全警报"
  },
  "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：",
    "reportBug": {
      "title": "报告错误",
      "description": "报告您在使用 i18n 工具包时遇到的任何问题",
      "guidance": "为帮助我们有效地解决问题，请提供：",
      "checkLogs": "• 检查最近的调试日志",
      "documentIssue": "• 记录问题详情和重现步骤",
      "contactSupport": "• 联系支持并提供相关信息",
      "completed": "✅ 错误报告流程已启动。请按照提供的指导操作。",
      "instructions": "按照上述步骤报告错误。"
    },
    "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": "请选择一项：",
      "goodbyeMessage": "感谢使用 i18ntk 设置管理器！",
      "selectSettingPrompt": "选择要编辑的设置（或输入 'b' 返回）：",
      "enterNewValue": "输入新值：",
      "updatedSuccessfully": "{setting} 更新成功！",
      "scriptDirectorySettings": "脚本目录设置",
      "scriptDirectoryDesc": "为各脚本指定自定义目录",
      "scriptDirectorySettingsDesc": "可为每个脚本设置自定义目录；如不设置，将使用全局设置。",
      "currentDirectory": "当前项目目录",
      "securitySettings": "安全设置",
      "securitySettingsDesc": "管理员 PIN 和其他安全选项",
      "backupSettings": "备份设置",
      "backupSettingsDesc": "备份和还原配置设置"
    },
    "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": {
      "title": "导入/导出",
      "export": "导出",
      "import": "导入",
      "backup": "备份",
      "enterFilename": "输入文件名（或按 Enter 使用默认）：",
      "exportSuccess": "设置已导出到 ${file}",
      "exportFailed": "导出设置失败：${error}",
      "importFilename": "输入要导入的文件名：",
      "fileNotFound": "未找到文件。",
      "invalidFormat": "设置文件格式无效。",
      "confirmImport": "此操作将替换所有当前设置。继续？(y/N)：",
      "importSuccess": "设置导入成功。",
      "importFailed": "导入设置失败：${error}",
      "backupSuccess": "已创建备份：${file}",
      "backupFailed": "创建备份失败：${error}"
    },
    "selectOption": "请选择操作：",
    "resetToDefaultsTitle": "重置为默认值",
    "resetWarning1": "此操作将重置所有设置为默认值。",
    "resetWarning2": "确定要继续吗？(y/N)：",
    "resetConfirm": "确定要继续吗？(y/N)：",
    "resetSuccess": "设置已成功重置为默认值。",
    "resetFailed": "重置设置失败：{error}",
    "saveSuccess": "设置已成功保存。",
    "saveFailed": "保存设置失败。",
    "resetDone": "设置已成功重置为默认值。",
    "resetScriptDirsDone": "脚本目录已成功重置为系统默认值。",
    "saveError": "保存设置时出错：{error}",
    "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": {
      "backup.enabled": {
        "label": "备份启用",
        "description": "启用自动备份设置",
        "help": "启用/禁用备份功能"
      },
      "backup.singleFileMode": {
        "label": "单文件模式",
        "description": "使用单文件进行备份",
        "help": "将设置备份到单个文件"
      },
      "backup.singleBackupFile": {
        "label": "备份文件路径",
        "description": "备份文件的路径",
        "help": "单文件备份的路径"
      },
      "backup.retentionDays": {
        "label": "保留天数",
        "description": "备份文件的保留天数",
        "help": "保留旧备份文件的天数"
      },
      "backup.maxBackups": {
        "label": "最大备份文件数",
        "description": "要保留的最大备份文件数",
        "help": "要保留的最大备份文件数"
      },
      "backup.confirm": {
        "label": "确认备份",
        "description": "确认备份操作",
        "help": "确认备份操作"
      },
      "i18nDir": {
        "label": "国际化目录",
        "description": "包含翻译文件的目录",
        "current": "当前：{value}",
        "help": "翻译文件所在目录的路径"
      },
      "projectRoot": {
        "label": "项目根目录",
        "description": "项目的根目录",
        "current": "当前：{value}",
        "help": "项目根目录的路径"
      },
      "checkUsage": {
        "usage_analysis_failed": "使用情况分析失败",
        "usage_analysis_success": "使用情况分析成功",
        "usage_analysis_complete": "使用情况分析完成",
        "usage_analysis_in_progress": "使用情况分析进行中",
        "usage_analysis_started": "使用情况分析已开始",
        "usage_analysis_skipped": "使用情况分析已跳过"
      },
      "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": "在进行更改前自动创建备份"
      },
      "advanced_maxConcurrentFiles": {
        "label": "最大并发文件数",
        "description": "同时处理的最大文件数",
        "current": "当前：{value}",
        "help": "一次可同时处理的文件数量"
      },
      "advanced_strictMode": {
        "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 保护",
          "description": "为敏感设置启用管理员 PIN 验证",
          "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 保护设置恢复为默认值"
      },
      "${helperKey}": {
        "help": "帮助"
      },
      "removeUiLanguages": {
        "label": "删除 UI 语言",
        "description": "删除未安装的 UI 语言",
        "help": "删除未安装在系统上的 UI 语言"
      }
    },
    "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): ",
    "backup": {
      "title": "备份设置",
      "description": "将当前设置备份到文件",
      "confirm": "您确定要备份当前设置吗？(是/否): ",
      "success": "✅ 设置已成功备份到 {backupFile}",
      "failed": "❌ 备份设置失败: {error}",
      "enabled": "已启用",
      "enabledHelp": "启用/禁用备份功能",
      "singleFileMode": "单文件模式",
      "singleFileModeHelp": "将设置备份到单个文件",
      "singleBackupFile": "单个备份文件",
      "singleBackupFileHelp": "单个备份文件的路径",
      "retentionDays": "保留天数",
      "retentionDaysHelp": "保留旧备份文件的天数",
      "maxBackups": "最大备份数",
      "maxBackupsHelp": "要保留的最大备份文件数",
      "confirmHelp": "确认备份操作",
      "confirmYes": "是",
      "confirmNo": "否"
    },
    "startingSettings": "开始设置..."
  },
  "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     - 调试翻译问题",
      "scannerCommand": "  scanner   - 🔍 扫描i18n问题"
    },
    "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": "⚠️"
    }
  },
  "consoleI18nTester": {
    "found_target_file": "找到目标文件",
    "scanning_files_for_console_statements": "扫描文件以查找控制台语句",
    "found_javascript_files": "找到 javascript 文件",
    "console_i18n_analysis_results": "控制台 i18n 分析结果",
    "total_console_statements": "总控制台语句",
    "translated_statements": "已翻译语句",
    "hardcoded_statements": "硬编码语句",
    "translation_coverage": "翻译覆盖率",
    "coverage_by_file": "按文件覆盖率",
    "file_coverage_stats": "文件覆盖率统计",
    "hardcoded_console_statements": "硬编码控制台语句",
    "file_header": "文件头",
    "line_statement": "行语句",
    "suggested_key": "建议键",
    "suggested_replacement": "建议替换",
    "recommendations": "建议",
    "recommendation_1": "建议 1",
    "recommendation_2": "建议 2",
    "recommendation_3": "建议 3",
    "recommendation_4": "建议 4",
    "translation_keys_to_add": "要添加的翻译键",
    "add_keys_instruction": "添加键指令",
    "perfect_translation_coverage": "完美翻译覆盖率",
    "all_statements_using_translation": "所有语句使用翻译",
    "i18n_console_translation_checker": "I18n 控制台翻译检查器",
    "script_description_line1": "脚本描述行1",
    "script_description_line2": "脚本描述行2",
    "analysis_completed_in_duration": "分析完成时间",
    "report_saved_to_path": "报告保存到路径",
    "found_hardcoded_messages": "找到硬编码消息",
    "all_console_messages_use_translation": "所有控制台消息都使用翻译"
  },
  "\\nSelect directory to clean (0-${availableDirs": {
    "length + 1}): ": "选择要清理的目录（0-${availableDirs.length}）："
  },
  "exportTranslations": {
    "createdDirectory": "创建目录",
    "foundFiles": "找到文件",
    "createdTemplate": "创建模板",
    "skippedExisting": "跳过现有文件",
    "title": "标题",
    "creatingTemplates": "创建模板",
    "summary": "摘要",
    "summaryLanguages": "摘要语言",
    "summaryFilesPerLanguage": "摘要每个语言的文件",
    "summaryTotalFiles": "摘要总文件",
    "success": "成功",
    "location": "位置",
    "nextSteps": "后续步骤"
  },
  ")) {\n          console": {
    "log(": "日志("
  },
  "dashboard": {
    "title": "标题",
    "overview": "概览"
  },
  "auth": {
    "title": "标题",
    "email": "电子邮件",
    "password": "密码",
    "signIn": "登录",
    "forgotPassword": "忘记密码",
    "signUp": "注册"
  },
  "scanner": {
      "help_message": "\ni18n文本扫描器\n\n使用方法: node i18ntk-scanner.js [选项]\n\n选项:\n  --source-dir <目录>     要扫描的源目录 (默认: ./src)\n  --output <文件>        结果输出文件 (默认: ./i18ntk-scanner-report.json)\n  --framework <名称>     目标框架 (react, vue, angular, vanilla)\n  --patterns <模式>      自定义正则表达式模式 (逗号分隔)\n  --include-tests        在扫描中包含测试文件\n  --exclude-dirs <目录>  要排除的目录 (逗号分隔)\n  --help                 显示此帮助信息\n\n示例:\n  node i18ntk-scanner.js --source-dir=./src --framework=react\n  node i18ntk-scanner.js --patterns 'console\\.log\\((.*?)\\)' --include-tests\n  node i18ntk-scanner.js --output=./扫描结果.json\n",
      "help_options": {
        "source_dir": "要扫描的源目录",
        "output_dir": "结果输出文件",
        "framework": "目标框架 (react, vue, angular, vanilla)",
        "patterns": "自定义正则表达式模式 (逗号分隔)",
        "exclude": "要排除的目录 (逗号分隔)",
        "output_report": "报告输出文件",
        "min_length": "包含文本的最小长度",
        "max_length": "包含文本的最大长度",
        "include_tests": "在扫描中包含测试文件"
      },
    "starting": "🔍 正在为框架启动文本扫描器: {framework}",
    "sourceDirectory": "📁 正在扫描目录: {sourceDir}",
    "frameworkDetected": "🎯 检测到框架: {framework}",
    "scanningFiles": "📊 正在扫描 {fileCount} 个文件...",
    "foundTexts": "📝 找到 {count} 个需要翻译的文本",
    "foundText": "找到 {count} 个潜在的硬编码文本实例",
    "generatingReport": "📊 正在生成详细报告...",
    "reportSaved": "💾 扫描报告已保存到: {reportPath}",
    "noTextsFound": "✅ 未找到硬编码的英文文本",
    "scanComplete": "🎉 扫描成功完成!",
    "analysisTitle": "🔍 翻译扫描器分析",
    "fileSummary": "📄 {file}: 找到 {count} 个文本",
    "textLocation": "📍 第 {line} 行: {text}",
    "context": "📝 上下文: {context}",
    "severity": "⚠️  严重程度: {severity}",
    "recommendation": "💡 建议: {recommendation}",
    "welcome": {
      "title": "🎯 欢迎使用文本扫描器!",
      "description": "此工具扫描您的源代码以查找可能需要翻译的硬编码英文文本。"
    },
    "frameworkPrompt": {
      "title": "🎯 选择框架",
      "available": "可用框架: react, vue, angular, vanilla",
      "description": "输入框架类型 (或按回车键自动检测):",
      "input": "框架: "
    },
    "directoryPrompt": {
      "title": "📁 选择源目录",
      "current": "当前目录: {dir}",
      "description": "输入要扫描的目录 (或按回车键使用当前目录):",
      "input": "目录: "
    },
    "options": {
      "includeTests": "包含测试文件?",
      "excludeDirs": "要排除的目录 (逗号分隔):",
      "customPatterns": "要扫描的自定义模式 (正则表达式):"
    }
  }
}