{
  "meta": {
    "version": "4.7.0",
    "updated": "2026-07-07",
    "lang": "ko"
  },
  "common": {
    "welcome": "환영",
    "hello": "안녕하세요",
    "goodbye": "안녕히 가세요",
    "yes": "예",
    "no": "아니요",
    "save": "구하다",
    "cancel": "취소",
    "delete": "삭제",
    "edit": "편집하다",
    "loading": "로드 중...",
    "offlineTitle": "오프라인 상태입니다",
    "offlineMessage": "인터넷 연결을 확인해주세요",
    "tryReconnect": "다시 연결해 보세요",
    "logout": "로그아웃",
    "login": "로그인",
    "amount": "양",
    "success": "성공",
    "error": "오류",
    "warning": "경고",
    "info": "정보:",
    "debug": "디버그",
    "progress": "진전:",
    "remaining": "남은 금액:",
    "total": "총:",
    "completed": "7. 성공적으로 완료되었습니다!",
    "missing": "없어진",
    "partial": "부분",
    "sameAsSource": "소스와 동일:",
    "formatMismatch": "형식 불일치:",
    "typeMismatch": "유형 불일치:",
    "structureMismatch": "구조 불일치:",
    "invalidOption": "잘못된 옵션",
    "separator": "==================================================",
    "initializationFailed": "❌ 초기화 실패: {error}",
    "stackTrace": "스택 추적: {stack}",
    "pressEnterToContinue": "계속하려면 Enter를 누르세요...",
    "pressEnterToReturn": "Enter를 눌러 주 메뉴로 돌아가세요...",
    "stepCompleted": "단계 '{stepName}' 완전한.",
    "stepFailed": "단계 '{stepName}'실패했습니다.",
    "runningStep": "실행 단계: {stepName}",
    "command": "명령: {command}",
    "startingWorkflow": "워크플로 시작 중...",
    "workflowCompleted": "워크플로가 완료되었습니다.",
    "checkReports": "자세한 내용은 보고서를 확인하세요.",
    "errorExecutingCommand": "명령 실행 중 오류 발생: {error}",
    "genericError": "❌ 오류: {error}",
    "errors": {
      "errors": "오류:",
      "genericError": "❌ 오류: {error}",
      "initializationFailed": "❌ 초기화 실패: {error}",
      "initializationCancelled": "❌ 사용자가 초기화를 취소했습니다.",
      "translationKeyNotFound": "번역 키를 찾을 수 없습니다: {key}",
      "sourceDirectoryNotFound": "소스 디렉터리를 찾을 수 없습니다: {directory}",
      "configLoadingFailed": "구성 로드에 실패했습니다.",
      "invalidSourceDirectory": "잘못된 소스 디렉터리: {directory}",
      "securityViolation": "보안 위반이 감지되었습니다.",
      "authenticationFailed": "인증 실패",
      "sourceEqualsI18nWarn": "⚠️ sourceDir은 i18nDir과 같습니다({sourceDir}). 다음으로 넘어짐 {fallback} 소스 스캔을 위해."
    },
    "errorGeneratingStatusSummary": "상태 요약을 생성하는 중에 오류가 발생했습니다. {error}",
    "errorRunningDebugTool": "디버그 도구 실행 중 오류 발생 '{displayName}': {error}",
    "errorReadingDebugLogs": "디버그 로그를 읽는 동안 오류가 발생했습니다. {error}",
    "errorAnalyzingLogFile": "로그 파일 분석 오류: {error}",
    "errorAnalyzingTranslationKeys": "번역 키 분석 오류: {error}",
    "errorAnalyzingTranslationCompleteness": "번역 완성도 분석 오류: {error}",
    "analyzingTranslationCompleteness": "모든 언어에 대한 번역 완성도 분석 중...",
    "i18nDirectoryNotFound": "⚠️ i18n 디렉토리를 찾을 수 없습니다: {i18nDir}",
    "translationCompletenessAnalysisFailed": "⚠️ 번역 완성도 분석 실패: {error}",
    "failedToAnalyzeLanguage": "❌ 언어 분석 실패 {language}: {error}",
    "errorReadingI18nDirectory": "❌ i18n 디렉터리 읽기 오류:",
    "languageCompletenessTitle": "📈 언어별 번역 완전성",
    "errorAnalyzingTranslationFormat": "번역 형식 분석 오류: {error}",
    "errorAnalyzingTranslationType": "번역 유형 분석 오류: {error}",
    "errorAnalyzingTranslationStructure": "번역 구조 분석 오류: {error}",
    "errorAnalyzingTranslationFormatMismatch": "번역 형식 불일치 분석 오류: {error}",
    "errorAnalyzingTranslationTypeMismatch": "번역 유형 불일치 분석 오류: {error}",
    "errorAnalyzingTranslationStructureMismatch": "번역 구조 불일치 분석 오류: {error}",
    "errorAnalyzingTranslationSameAsSource": "소스와 동일한 번역을 분석하는 중에 오류가 발생했습니다. {error}",
    "title": "상태",
    "nextStep1": "1. 사용량 분석 확인:",
    "nextStep2": "2. 번역 검증:",
    "nextStep3": "3. 완전성 분석:",
    "nextStep4": "4. 누락된 번역을 완료하세요.",
    "nextStep5": "5. 요약 보고서 생성:",
    "nextStep6": "6. 번역을 검토하고 마무리합니다.",
    "generating": "요약 보고서 생성 중...",
    "review": "번역을 검토하는 중...",
    "finalizing": "번역을 마무리하는 중...",
    "finalized": "성공적으로 마무리되었습니다!",
    "warnings": "경고:",
    "completedKeys": "완성된 키:",
    "missingKeys": "누락된 키:",
    "partialKeys": "부분 키:",
    "home": "집",
    "settings": "설정",
    "startingSettings": "🎛️ 설정 CLI 시작 중...",
    "confirm": "확인하다",
    "errorExiting": "종료하는 동안 오류가 발생했습니다."
  },
  "errors": {
    "invalidOption": "❌ 잘못된 옵션: {option}. 다시 시도해 주세요.",
    "readlineClosed": "입력 스트림이 닫혔습니다. 비대화형 모드로 실행 중입니다.",
    "noPackageJson": "package.json을 찾을 수 없습니다. i18n 프레임워크를 자동 감지할 수 없습니다.",
    "noI18nDir": "프로젝트 루트에 i18n 디렉터리가 없습니다.",
    "noI18nConfig": "프로젝트 루트에 i18n 구성 파일이 없습니다.",
    "errorReadingDebugLogs": "디버그 로그를 읽는 동안 오류가 발생했습니다. {error}"
  },
  "scanner": {
    "help_message": "I18n 텍스트 스캐너 사용법: node i18ntk-scanner.js [옵션] 옵션: --source-dir <dir>     스캔할 소스 디렉터리(기본값: ./src) --output <file>        스캔 결과 출력 파일(기본값: ./i18ntk-scanner-report.json) --framework <name>     대상 프레임워크(반응, vue, 각도, 바닐라) --패턴 <patterns>  사용자 정의 정규식 패턴(쉼표로 구분) --include-tests 검사에 테스트 파일 포함 --exclude-dirs <dirs>  제외할 디렉터리(쉼표로 구분) --help 이 도움말 표시 예: node i18ntk-scanner.js --source-dir=./src --framework=react node i18ntk-scanner.js --patterns 'console.log\\((.*?)\\)' --include-tests node i18ntk-scanner.js --output=./scan-results.json",
    "help_options": {
      "source_dir": "i18n 문제를 스캔할 소스 디렉터리",
      "output_dir": "스캔 보고서 및 결과 디렉터리",
      "framework": "대상 프레임워크(반응, Vue, 각도, 바닐라)",
      "patterns": "텍스트 감지를 위한 사용자 정의 정규식 패턴",
      "exclude": "검사에서 제외할 파일 패턴",
      "output_report": "자세한 스캔 보고서 생성",
      "min_length": "번역을 위해 고려해야 할 최소 텍스트 길이",
      "max_length": "번역을 위해 고려해야 할 최대 텍스트 길이",
      "include_tests": "스캔 프로세스에 테스트 파일 포함"
    },
    "starting": "🔍 프레임워크용 텍스트 스캐너 시작: {framework}",
    "sourceDirectory": "📁 스캔 디렉터리: {sourceDir}",
    "frameworkDetected": "🎯 감지된 프레임워크: {framework}",
    "scanningFiles": "📊 스캔 중 {fileCount} 파일...",
    "foundTexts": "📝 발견됨 {textCount} 번역이 필요한 텍스트",
    "generatingReport": "📊 상세 보고서 생성 중...",
    "reportSaved": "💾 스캔 보고서 저장 위치: {reportPath}",
    "noTextsFound": "✅ 하드코딩된 영어 텍스트가 없습니다.",
    "scanComplete": "🎉 스캔이 성공적으로 완료되었습니다!",
    "analysisTitle": "🔍 번역 스캔 분석",
    "fileSummary": "📄 {file}: {count} 발견된 텍스트",
    "textLocation": "📍 라인 {line}: {text}",
    "foundText": "설립하다 {count} 잠재적인 하드코딩된 텍스트 인스턴스",
    "context": "📝 맥락: {context}",
    "severity": "⚠️ 심각도: {severity}",
    "recommendation": "💡 추천: {recommendation}",
    "welcome": {
      "title": "🎯 텍스트 스캐너에 오신 것을 환영합니다!",
      "description": "이 도구는 소스 코드에서 번역이 필요할 수 있는 하드코딩된 영어 텍스트를 검색합니다."
    },
    "frameworkPrompt": {
      "title": "🎯 프레임워크 선택",
      "available": "사용 가능한 프레임워크: React, Vue, Angle, Vanilla",
      "description": "프레임워크 유형을 입력하십시오(또는 자동 감지를 위해 Enter를 누르십시오).",
      "input": "뼈대:"
    },
    "directoryPrompt": {
      "title": "📁 소스 디렉토리 선택",
      "current": "현재 디렉터리: {dir}",
      "description": "검색할 디렉터리를 입력하세요(또는 현재 디렉터리를 보려면 Enter를 누르세요):",
      "input": "예배 규칙서:"
    },
    "options": {
      "includeTests": "테스트 파일을 포함하시겠습니까?",
      "excludeDirs": "제외할 디렉터리(쉼표로 구분):",
      "customPatterns": "검색할 사용자 정의 패턴(정규식):"
    },
    "reportGenerated": "생성된 스캔 보고서: {path}"
  },
  "fixer": {
    "help_message": "I18n Translation Fixer 사용법: node i18ntk-fixer.js [옵션] 옵션: --source-dir <dir>     스캔할 소스 디렉터리(기본값: ./locales) --언어 <langs>    수정할 언어의 쉼표로 구분된 목록 --markers <markers>    번역되지 않은 것으로 처리할 쉼표로 구분된 마커 --no-backup 자동 백업 생성 건너뛰기 --help 이 도움말 표시 예: node i18ntk-fixer.js --언어s de,fr node i18ntk-fixer.js --source-dir=./locales --markers NOT_TRANSLATED node i18ntk-fixer.js --no-backup",
    "starting": "🚀 언어 번역 수정 시작: {languages}",
    "sourceDirectory": "📁 소스 디렉토리: {sourceDir}",
    "sourceLanguage": "🔤 소스 언어: {sourceLanguage}",
    "markers": "🏷️ 수정할 마커: {markers}",
    "scanningLanguage": "📊 스캔 중 {language}...",
    "noLanguages": "❌ 수정을 위해 지정된 언어가 없습니다.",
    "allComplete": "🎉 모든 번역이 이미 완료되었습니다!",
    "fullReportSaved": "📊 전체 보고서 저장 위치: {reportPath}",
    "reviewReport": "계속하기 전에 보고서를 검토하세요.",
    "backupCreated": "💾 백업이 성공적으로 생성되었습니다.",
    "applyingFixes": "🔄 수정사항 적용 중...",
    "fixingComplete": "✅ 번역 수정 완료!",
    "operationCancelled": "❌ 사용자가 작업을 취소했습니다.",
    "analysisTitle": "🔍 번역 수정 분석",
    "analysisSeparator": "==================================================",
    "totalIssues": "발견된 총 문제: {totalIssues}",
    "missingTranslations": "누락된 번역: {missing}",
    "placeholderTranslations": "자리 표시자 번역: {placeholder}",
    "noIssues": "✅ 문제가 발견되지 않았습니다. 모든 번역이 완료되었습니다.",
    "detailedIssues": "📋 DETAILED ISSUES:",
    "detailedSeparator": "--------------------------------------------------",
    "filePath": "📄 {file} → {path}",
    "missingKey": "❌ 누락: {source} → {new}",
    "placeholderKey": "⚠️ 자리 표시자: \"{target}\" → \"{new}\"",
    "moreIssues": "... 그리고 {count} 더 많은 문제. 자세한 내용은 보고서 파일을 확인하세요.",
    "confirmationTitle": "🤔 이 수정 사항을 계속 진행하시겠습니까?",
    "confirmationOptions": "옵션:",
    "optionYes": "y - 예, 모든 수정 사항을 적용합니다.",
    "optionNo": "n - 아니요, 작업을 취소합니다.",
    "optionShow": "s - 자세한 문제 표시",
    "choicePrompt": "귀하의 선택(y/n/s):",
    "nonInteractiveMode": "⚡ 비대화형 모드가 감지되었습니다. 자동으로 수정사항을 적용하고 있습니다...",
    "reportGenerated": "📊 Fixer 보고서 생성됨: {path}",
    "summary": "해결사 요약:",
    "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": "예배 규칙서:"
    },
    "backupLocation": "백업 위치: {dir}",
    "completed": "수정이 완료되었습니다.",
    "creatingBackup": "백업 생성 위치 {dir}...",
    "dryRunMode": "시험 실행 모드: {mode}",
    "error": "해결 프로그램 실패: {error}",
    "fixing": "고정 {language}...",
    "foundLanguages": "설립하다 {count} 언어: {languages}",
    "languageFixed": "{language}: 고정 {fixed} 키, 건너뛰었습니다. {skipped}.",
    "running": "번역 수정 프로그램 실행 중...",
    "totalFixed": "총 고정 금액: {count}"
  },
  "autorun": {
    "stepAnalyzeTranslations": "번역 분석",
    "stepCompletedWithIcon": "✅ 완료됨: {stepName}",
    "stepValidateTranslations": "번역 검증",
    "stepRunning": "▶️ 단계 {stepNumber}/{totalSteps}: {stepName}",
    "separator": "==================================================",
    "stepFailed": "❌ 실패: {stepName}",
    "errorLabel": "오류",
    "autoRunScriptTitle": "🧪 자동 실행 작업 흐름",
    "usageTitle": "용법",
    "runAllSteps": "실행: node i18ntk-autorun.js",
    "configureSettingsFirst": "구성: i18ntk-config.json 또는 CLI 플래그",
    "runSpecificSteps": "단계를 표시하려면 --steps=1,3 또는 --list를 사용하세요.",
    "showHelp": "--자세한 내용은 도움말을 참조하세요.",
    "examplesTitle": "예",
    "configExample": "노드 i18ntk-autorun.js --ui-언어=zh",
    "stepsExample1": "노드 i18ntk-autorun.js --단계=분석, 검증",
    "stepsExample2": "노드 i18ntk-autorun.js --list",
    "customSettingsConfiguration": "사용자 정의 자동 실행 설정",
    "availableSteps": "사용 가능한 단계",
    "startingAutoRunWorkflow": "🚀 자동 실행 워크플로 시작 중...",
    "workflowIncludesSteps": "워크플로에는 다음이 포함됩니다. {count} 단계:",
    "missingRequiredFile": "필수 파일 누락: {file}",
    "workflowStopped": "오류로 인해 워크플로가 중지되었습니다.",
    "workflowCompleted": "🎉 워크플로가 완료되었습니다!",
    "successfulSteps": "성공적인 단계: {count}",
    "failedSteps": "실패한 단계: {count}",
    "stepInitializeProject": "프로젝트 초기화",
    "stepCheckUsage": "키 사용량 확인",
    "stepGenerateSummary": "요약 보고서 생성",
    "runInitializationFirst": "먼저 초기화를 실행해 주세요.",
    "initializationCheckPassed": "초기화 확인을 통과했습니다.",
    "runningStep": "실행 단계: {stepName}",
    "commandLabel": "명령: {command}",
    "stepCompletedWithTime": "단계 '{stepName}'에서 완료 {duration}ms.",
    "stepCompleted": "단계 '{stepName}' 완전한.",
    "stepFailedWithError": "단계 '{stepName}' 오류로 인해 실패했습니다: {error}",
    "requiredStepFailed": "필수 단계가 실패했습니다. 워크플로를 중지합니다.",
    "optionalStepFailed": "선택적 단계가 실패했습니다. 워크플로를 계속합니다.",
    "stepRequired": "(필수의)",
    "stepOptional": "(선택 과목)",
    "startingExecution": "실행 시작 중...",
    "pressEnterToContinue": "계속하려면 Enter를 누르세요...",
    "runningSelectedSteps": "선택한 단계를 실행 중...",
    "invalidStepNumber": "잘못된 단계 번호: {stepNum}",
    "executionReport": "실행 보고서:",
    "requiredFailedSteps": "필수 단계 실패: {count}",
    "stepDetails": "단계 세부정보:",
    "reportSavedTo": "보고서 저장 위치: {path}",
    "overallStatusSuccess": "SUCCESS",
    "overallStatusFailed": "FAILED",
    "overallStatus": "전반적인 상태: {status}",
    "pressEnterForDefaults": "모든 프롬프트에 기본 설정을 사용하려면 Enter 키를 누르세요.",
    "sourceDirPrompt": "소스 디렉터리를 입력하세요(기본값: {default}):",
    "sourceLangPrompt": "출발어를 입력하세요(기본값: {default}):",
    "targetLangsPrompt": "대상 언어를 입력하세요(쉼표로 구분, 기본값: {default}):",
    "translationMarkerPrompt": "번역 마커 입력(기본값: {default}):",
    "outputDirPrompt": "보고서의 출력 디렉터리를 입력합니다(기본값: {default}):",
    "settingsUpdatedSuccessfully": "설정이 성공적으로 업데이트되었습니다!",
    "errorConfiguringSettings": "설정 구성 오류: {error}",
    "configurationComplete": "구성이 완료되었습니다.",
    "runAutoRunCommand": "이제 자동 실행 명령을 실행할 수 있습니다.",
    "configurationFailed": "구성 실패: {error}",
    "noValidStepNumbers": "유효한 단계 번호가 제공되지 않았습니다.",
    "autoRunFailed": "자동 실행 실패: {error}",
    "stepCompleteTranslations": "완전한 번역",
    "stepAnalyzeSizing": "크기 분석",
    "stepCompletedIcon": "✅",
    "stepRunningWithNumber": "[{stepNumber}/{totalSteps}] 단계 '{stepName}' 달리기...",
    "stepFailedIcon": "❌",
    "translationLoadWarning": "경고: 로드할 수 없습니다. {lang} 번역",
    "configReadError": "읽는 중 오류가 발생했습니다. {file}"
  },
  "analyze": {
    "help_message": "I18n 번역 분석기 사용법: node i18ntk-analyze.js [옵션] 옵션: --source-dir <dir>     스캔할 소스 디렉터리(기본값: ./src) --i18n-dir <dir>       I18n 디렉터리(기본값: ./src/locales) --output-report 세부 보고서 생성 --output-dir <dir>     보고서의 출력 디렉터리(기본값: ./reports) --help 이 도움말 표시 예: node i18ntk-analyze.js --output-report node i18ntk-analyze.js --source-dir=./app --i18n-dir=./locales node i18ntk-analyze.js --output-dir=./analytic --output-report",
    "source_directory": "📁 소스 디렉토리: {sourceDir}",
    "i18n_directory": "🌐 I18n 디렉토리: {i18nDir}",
    "loading_translation_files": "📋 번역 파일 로드 중...",
    "sourceDirectoryLabel": "📁 소스 디렉토리: {sourceDir}",
    "sourceLanguageLabel": "🌍 소스 언어: {sourceLanguage}",
    "strictModeLabel": "⚙️ 엄격 모드: {mode}",
    "found_translation_files_count": "✅ 찾음 {count} 번역 파일",
    "analyzing_translations": "🔍 번역 분석 중...",
    "analysis_completed_successfully": "🎉 분석이 성공적으로 완료되었습니다!",
    "analysis_results": "📊 ANALYSIS RESULTS",
    "language_analysis_stats": "{language}: {translatedKeys}/{totalKeys} ({percentage}% 번역됨)",
    "sample_missing_keys": "누락된 키 샘플:",
    "missing_key": "- {key}",
    "and_more_missing": "...그리고 {count} 더.",
    "sample_unused_keys": "사용되지 않은 키 샘플:",
    "unused_key": "- {key}",
    "and_more_unused": "...그리고 {count} 더.",
    "recommendations": "📋 추천",
    "add_missing_translations": "💡 누락된 번역을 추가하여 적용 범위를 개선하세요.",
    "remove_unused_translations": "💡 프로젝트를 깨끗하게 유지하려면 사용하지 않는 번역을 제거하세요.",
    "next_steps": "📋 NEXT STEPS",
    "review_analysis_results": "1. 콘솔 또는 생성된 보고서에서 분석 결과를 검토합니다.",
    "run_with_output_report": "2. 자세한 보고서를 보려면 --output-report를 사용하여 실행하세요.",
    "add_or_remove_translations": "3. 누락된 번역을 추가하거나 사용하지 않는 번역을 제거하세요.",
    "rerun_analysis": "4. 분석을 다시 실행하여 개선 사항을 확인합니다.",
    "analysis_summary": "📊 ANALYSIS SUMMARY",
    "source_files_scanned": "스캔된 소스 파일: {fileCount}",
    "translation_files_checked": "번역 파일 확인: {translationFileCount}",
    "total_keys": "총 키: {totalKeys}",
    "translated_keys": "번역된 키: {translatedKeys}",
    "missing_keys": "누락된 키: {missingKeys}",
    "unused_keys": "사용되지 않은 키: {unusedKeys}",
    "translation_coverage": "번역 범위: {coverage}%",
    "analysis_passed_for_language": "✅ 분석 통과 {language}",
    "analysis_failed_for_language": "❌ 분석 실패 {language} ({missingKeys} 없어진, {unusedKeys} 미사용)",
    "starting": "🔍 번역 분석을 시작합니다...",
    "foundLanguages": "📋 찾았습니다 {count} 분석할 언어: {languages}",
    "analyzing": "🔄 분석 중 {language}...",
    "reportTitle": "📊 번역 분석 보고서",
    "generated": "생성됨: {timestamp}",
    "status": "상태: {translated}/{total} 키({percentage}% 번역됨)",
    "filesAnalyzed": "분석된 파일: {analyzed}/{total}",
    "keysNeedingTranslation": "번역이 필요한 키: {count}",
    "fileBreakdown": "📋 파일 분석",
    "error": "오류",
    "completed": "✅ 다음에 대한 분석이 완료되었습니다. {language}",
    "progress": "📊 전반적인 진행 상황: {translated}/{total} 처리된 언어",
    "reportSaved": "보고서가 저장되었습니다: {reportPath}",
    "summary": "📊 ANALYSIS SUMMARY",
    "finished": "✅ 분석이 성공적으로 완료되었습니다!",
    "statusFileMissing": "❌ 번역 파일이 없습니다",
    "sourceKeys": "📊 소스 키: {count}",
    "translation": "📊 번역: {translated}/{total} ({percentage}%)",
    "structure": "🗂️ 구조: {status}",
    "consistent": "일관된",
    "inconsistent": "일관성 없는",
    "missingKeys": "누락된 키: {count}",
    "extraKeys": "추가 키: {count}",
    "issues": "⚠️ 발견된 문제: {count}",
    "issueType": {
      "not_translated": "번역되지 않음: {count}",
      "empty_value": "빈 값: {count}",
      "partial_translation": "부분 번역: {count}",
      "format_mismatch": "형식 불일치: {count}",
      "type_mismatch": "유형 불일치: {count}",
      "structure_mismatch": "구조 불일치: {count}",
      "same_as_source": "소스와 동일: {count}"
    },
    "keysToTranslate": "📋 번역 키",
    "key": "열쇠",
    "english": "영어",
    "needsTranslation": "번역이 필요합니다",
    "andMoreKeys": "...그리고 {count} 더 많은 열쇠.",
    "noLanguages": "⚠️ 타겟 언어가 없습니다.",
    "languageStats": "{language}: {percentage}% 완벽한 ({translated}/{total} 열쇠)",
    "invalidReportFilePath": "잘못된 보고서 파일 경로",
    "failedToWriteReportFile": "보고서 파일을 안전하게 작성하지 못했습니다."
  },
  "complete": {
    "configLoadedSuccessfully": "구성이 성공적으로 로드되었습니다.",
    "configLoadingFailed": "구성 로드에 실패했습니다.",
    "sourceLanguageNotFound": "소스 언어 디렉토리를 찾을 수 없습니다: {sourceLanguage}",
    "couldNotParseTarget": "대상 파일을 구문 분석할 수 없습니다. {file}",
    "couldNotParseSource": "소스 파일을 구문 분석할 수 없습니다. {file}",
    "reportGenerated": "생성된 보고서: {path}",
    "generateReportPrompt": "보고서를 생성하시겠습니까?",
    "title": "🌍 I18NTK 번역 완료",
    "separator": "============================================================",
    "sourceDir": "📁 소스 디렉토리: {sourceDir}",
    "sourceLanguage": "🌐 소스 언어: {sourceLanguage}",
    "dryRunMode": "🧪 드라이 런 모드 - 변경 사항이 없습니다.",
    "languages": "🌍 사용 가능한 언어: {languages}",
    "addingMissingKeys": "➕ 번역 파일에 누락된 키 추가 중...",
    "processing": "🔄 처리 {language}...",
    "addedKeys": "✅ 추가됨 {count} 누락된 키",
    "noChangesNeeded": "✅ 변경이 필요하지 않습니다 {language}",
    "summaryTitle": "📊 완료 요약",
    "totalChanges": "📝 총 변경 사항: {totalChanges}",
    "languagesProcessed": "🌍 처리되는 언어: {languagesProcessed}",
    "missingKeysAdded": "➕ 누락된 키가 추가되었습니다: {missingKeysAdded}",
    "nextStepsTitle": "📋 NEXT STEPS",
    "nextStep1": "1. 사용량 분석 실행:",
    "nextStep2": "노드 i18ntk-usage.js --output-report",
    "nextStep3": "2. 번역 검증:",
    "nextStep4": "노드 i18ntk-validate.js",
    "nextStep5": "3. 패턴 분석:",
    "nextStep6": "노드 i18ntk-analyze.js",
    "allKeysAvailable": "🎉 이제 모든 번역 키를 사용할 수 있습니다!",
    "runWithoutDryRun": "💡 변경 사항을 적용하려면 --dry-run 없이 실행하세요.",
    "deletingOldReport": "🗑️ 오래된 보고서를 삭제하는 중...",
    "generatingFreshAnalysis": "📊 새로운 사용량 분석 생성 중...",
    "couldNotGenerate": "❌ 사용량 분석을 생성할 수 없습니다.",
    "reportNotFound": "📋 사용 보고서를 찾을 수 없습니다. 공용 키를 사용하는 중...",
    "foundMissingKeys": "📋 찾았습니다 {count} 사용량 분석에서 누락된 키",
    "couldNotParse": "❌ 사용 보고서를 구문 분석할 수 없습니다. 공용 키를 사용하는 중...",
    "errorDuringCompletion": "❌ 완료 중 오류: {error}",
    "fatalError": "❌ 치명적인 오류: {error}",
    "configurationValidationFailed": "구성 유효성 검사 실패: 필수 필드가 누락되었습니다."
  },
  "sizing": {
    "separator": "================================================================================",
    "lineSeparator": "--------------------------------------------------------------------------------",
    "analysisStats": "{stats}",
    "sourceDirectoryLabel": "📁 소스 디렉토리: {sourceDir}",
    "sourceLanguageLabel": "🌍 소스 언어: {sourceLanguage}",
    "strictModeLabel": "⚙️ 엄격 모드: {mode}",
    "invalidSourceDirectoryError": "잘못된 소스 디렉터리 경로: {sourceDir}",
    "sourceDirectoryNotFoundError": "소스 디렉터리를 찾을 수 없습니다: {sourceDir}",
    "invalidOutputDirectoryError": "잘못된 출력 디렉터리 경로: {outputDir}",
    "invalidReportFileError": "잘못된 보고서 파일 경로",
    "problematic_keys": "문제가 있는 키: {problematicKeys}",
    "problematicKeysLabel": "문제가 있는 키: {problematicKeys}",
    "long_translations": "긴 번역: {longTranslations}",
    "failedToSaveReportError": "보고서를 안전하게 저장하지 못했습니다.",
    "invalidCsvFileError": "잘못된 CSV 파일 경로",
    "failedToSaveCsvError": "CSV 보고서를 안전하게 저장하지 못했습니다.",
    "fatalError": "❌ 크기 분석 실패: {error}",
    "starting_i18n_sizing_analysis": "i18n 크기 분석을 시작하는 중...",
    "source_directory": "소스 디렉토리: {sourceDir}",
    "found_languages": "발견된 언어: {languages}",
    "analyzing_file_sizes": "파일 크기 분석 중...",
    "analyzing_translation_content": "번역 내용 분석 중...",
    "generating_size_comparisons": "크기 비교 생성 중...",
    "no_languages_found_for_comparison": "비교할 언어를 찾을 수 없습니다.",
    "sizing_analysis_results": "I18n 사이징 분석 결과",
    "file_sizes_title": "파일 크기",
    "file_sizes_header": "언어 크기(KB) 행 문자",
    "file_size_row": "{lang}      {sizeKB}      {lines}      {characters}",
    "language_statistics_title": "언어통계",
    "language_stats_header": "언어 키 문자 평균 길이 최대 길이 비어 있음 길게",
    "language_stats_row": "{lang}      {totalKeys}    {totalCharacters}    {averageKeyLength}    {maxKeyLength}    {emptyKeys}    {longKeys}",
    "size_variations_title": "크기 변화",
    "size_variations_header": "언어 문자 차이 % 차이 문제",
    "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} 100자를 초과하는 ${data.longKeys} 번역이 있습니다. 이를 분해하는 것이 좋습니다.",
    "longer": "더 길게",
    "shorter": "더 짧은",
    "review_translations": "검토를 고려해보세요 {lang} 번역 - 그렇죠 {percentageDifference}% {comparison} 기준선보다",
    "report_saved_to": "보고서 저장 위치: {reportPath}",
    "considerReviewingTranslations": "검토를 고려해보세요 ${lang} 번역 - 기준보다 ${data.percentageDifference}% 더 깁니다.",
    "csv_report_saved_to": "CSV 보고서 저장 위치: {csvPath}",
    "human_report_saved": "읽을 수 있는 보고서가 저장되었습니다: {reportPath}",
    "folder_summary_title": "폴더 요약",
    "folder_summary_table_header": "언어 크기(KB) 키 평균 길이 총 문자 수",
    "folder_summary_row": "{lang}      {sizeKB}      {totalKeys}    {avgLength}    {totalChars}",
    "language_comparison_title": "언어 비교",
    "language_comparison_row": "{lang}: {diff} 문자({percent}%) {status}",
    "summary_stats": "📊 요약: {totalLanguages} 언어, {totalKeys} 키 - 저장된 보고서 {reportPath}",
    "detailedKeysDescription": "콘솔에 자세한 키 수준 분석 표시",
    "too_many_keys_warning": "⚠️ 콘솔에 표시할 키가 너무 많습니다. 전체 분석을 보려면 자세한 보고서 파일을 확인하세요.",
    "no_translation_files_found": "번역 파일을 찾을 수 없습니다.",
    "analysis_completed": "분석 완료 {duration}ms",
    "analysis_failed": "분석 실패: {errorMessage}",
    "starting_analysis": "분석 시작 중...",
    "found_files": "설립하다 {count} 파일",
    "failed_to_parse_language_error": "파싱하지 못했습니다. {language} 번역: {errorMessage}",
    "recommendations": {
      "keys_have_significant_size_variations": "키에는 상당한 크기 변화가 있습니다",
      "consider_reviewing_translations": "검토를 고려해보세요 {lang} 번역 - 그렇죠 {percentageDifference}% {comparison} 기준선보다",
      "long_translations_detected": "{lang} 가지다 {longKeys} 다음보다 긴 번역 {threshold} 캐릭터 - 분해하는 것을 고려해보세요"
    },
    "detailed_key_analysis_title": "상세한 주요 분석",
    "key_analysis_detail": "{lang}: {length} 문자({status}) - {translation}",
    "key_analysis_header": "열쇠: {key}",
    "status_empty": "비어 있는",
    "status_long": "긴",
    "status_ok": "좋아요"
  },
  "usage": {
    "help_message": "I18n 사용 분석기 사용법: node i18ntk-usage.js [옵션] 옵션: --source-dir <dir>     스캔할 소스 디렉터리(기본값: ./src) --i18n-dir <dir>       I18n 디렉터리(기본값: ./src/locales) --output-report 세부 보고서 생성 --output-dir <dir>     보고서의 출력 디렉터리(기본값: ./reports) --help 이 도움말 표시 예: node i18ntk-usage.js --output-report node i18ntk-usage.js --source-dir=./app --i18n-dir=./locales node i18ntk-usage.js --output-dir=./analytic --output-report",
    "source_directory_thissourcedir": "📁 소스 디렉토리: {sourceDir}",
    "translationCompletenessTitle": "🌍 번역 완전성:",
    "i18n_directory_thisi18ndir": "🌐 I18n 디렉토리: {i18nDir}",
    "failed_to_parse_filename_error": "⚠️ 구문 분석에 실패했습니다. {fileName}: {errorMessage}",
    "analyzing_source_files": "🔍 소스 파일 분석 중...",
    "found_files_in_source": "📂 발견 {numFiles} 소스 디렉터리의 파일",
    "found_thisusedkeyssize_unique_": "🎯 발견됨 {usedKeysSize} 고유하게 사용된 키",
    "total_key_usages_totalkeysfoun": "📊 총 키 사용: {totalKeysFound}",
    "loading_available_translation_": "📋 사용 가능한 번역 키 로드 중...",
    "found_thisavailablekeyssize_av": "✅ 찾음 {availableKeysSize} 사용 가능한 키",
    "foundTranslationFiles": "✅ 찾음 {count} 번역 파일",
    "errorReadingI18nDirectory": "⚠️ i18n 디렉토리 읽기 오류: {error}",
    "pressEnterToReturnToMenu": "📝 Enter를 눌러 메인 메뉴로 돌아가세요...",
    "notTranslatedKeysTotal": "⚠️ 번역되지 않은 키: {total}",
    "noSourceFilesFound": "⚠️ 소스 디렉터리에 소스 파일이 없습니다.",
    "reviewNotTranslatedKeys": "💡 번역되지 않은 키 검토",
    "analysisCompletedSuccessfully": "🎉 분석이 성공적으로 완료되었습니다!",
    "detectedSourceDirectory": "감지된 소스 디렉터리: {sourceDir}",
    "detectedI18nDirectory": "i18n 디렉토리가 감지되었습니다: {i18nDir}",
    "fileInfo": "📄 {namespace}: {keys} 열쇠",
    "failedToAnalyzeUsage": "❌ 사용량 분석 실패: {error}",
    "failedToAnalyzeFile": "❌ 파일 분석 실패: {error}",
    "failedToExtractKeys": "❌ 다음에서 키를 추출하지 못했습니다. {filePath}: {error}",
    "analysisFailedError": "❌ 분석 실패: {error}",
    "analyzerInitialized": "분석기가 초기화되었습니다.",
    "analyzerInitFailed": "분석기 초기화 실패: {error}",
    "argsParsed": "구문 분석된 인수",
    "processedFiles": "처리됨 {processedFiles} ~의 {totalFiles} 파일.",
    "argsParseFailed": "인수 구문 분석에 실패했습니다. {error}",
    "translationDiscoveryError": "번역 검색 오류: {error}",
    "fileTraversalError": "파일 탐색 오류: {error}",
    "sourceEqualsI18nWarn": "{reason}. 사용 분석에서는 로케일 파일을 소스 코드로 검색하지 않습니다.",
    "i18nEqualsSourceWarn": "⚠️ I18n 디렉토리와 소스 디렉토리는 동일합니다. 이로 인해 분석에 문제가 발생할 수 있습니다.",
    "usageAnalysisFailed": "⚠️ 사용량 분석 실패: {error}",
    "translationFileParseError": "⚠️ 번역 파일 구문 분석 오류: {error}",
    "translationKeysLoadError": "⚠️ 번역 키 로드 오류: {error}",
    "languageCompletenessStats": "🌐 {language}: {translated}/{total} ({completeness}% 번역됨)",
    "missingKeysCount": "⚠️ 누락된 키: {count}",
    "analyzingTranslationCompleteness": "번역 완성도 분석 중...",
    "unusedKeysCount": "사용되지 않은 키: {count}",
    "usedKeysCount": "사용된 키: {count}",
    "availableKeysCount": "사용 가능한 키: {count}",
    "analysisResults": "분석 결과:",
    "i18nDirectoryNotFound": "⚠️ I18n 디렉토리를 찾을 수 없습니다. 경로를 확인해주세요.",
    "sourceDirectoryNotFound": "⚠️ 소스 디렉터리를 찾을 수 없습니다: {dir}",
    "checkUsage": {
      "title": "🔍 I18NTK USAGE ANALYSIS",
      "analyzing_source_files": "🔍 소스 파일 분석 중...",
      "source_directory_thissourcedir": "📁 소스 디렉토리: {sourceDir}",
      "i18n_directory_thisi18ndir": "📁 i18n 디렉토리: {i18nDir}",
      "found_files_in_source": "✅ 찾음 {numFiles} 소스 디렉터리의 파일",
      "no_source_files_found": "⚠️ 지정된 디렉터리에 소스 파일이 없습니다.",
      "processedFiles": "📊 처리됨 {processedFiles} ~의 {totalFiles} 파일",
      "failedToProcessFile": "❌ 처리 실패",
      "found_thisusedkeyssize_unique_": "🔍 발견됨 {usedKeysSize} 고유하게 사용된 키",
      "total_key_usages_totalkeysfoun": "📊 총 키 사용: {totalKeysFound}",
      "loading_available_translation_": "📂 사용 가능한 번역 키 로드 중...",
      "found_thisavailablekeyssize_av": "✅ 찾음 {availableKeysSize} 사용 가능한 키",
      "message": "프로젝트 전체에서 번역 키 사용을 분석하는 중...",
      "usage_analysis_results": "📊 USAGE ANALYSIS RESULTS",
      "source_files_scanned_thisfileu": "📁 스캔된 소스 파일: {fileUsageSize}",
      "available_translation_keys_thi": "✅ 사용 가능한 번역 키: {availableKeysSize}",
      "used_translation_keys_thisused": "🔍 사용된 번역 키: {usedKeysSize}",
      "dynamic_keys_detected_dynamick": "⚡ 동적 키가 감지되었습니다: {dynamicKeysLength}",
      "unused_keys_unusedkeyslength": "🗑️ 사용하지 않은 키: {unusedKeysLength}",
      "missing_keys_missingkeyslength": "❌ 누락된 키: {missingKeysLength}",
      "translation_completeness_title": "📈 번역 완전성",
      "language_completeness_stats": "{language}: {translated}/{total} 키({percentage}%)",
      "n_sample_unused_keys": "🗑️ 사용하지 않은 키 샘플(처음 5개):",
      "key": "🔑 {key}",
      "and_unusedkeyslength_5_more": "... 그리고 {count} 사용하지 않은 키가 더 많습니다",
      "n_sample_missing_keys": "❌ 누락된 키 샘플(처음 5개):",
      "and_missingkeyslength_5_more": "... 그리고 {count} 더 많은 누락된 키",
      "n_generating_detailed_report": "📊 상세 보고서 생성 중...",
      "report_saved_reportpath": "📄 보고서 저장됨: {reportPath}",
      "n_recommendations": "💡 권장사항:",
      "consider_removing_unused_trans": "🗑️ 번들 크기를 줄이려면 사용하지 않는 번역을 삭제하는 것이 좋습니다.",
      "add_missing_translation_keys_t": "➕ 일관성을 유지하기 위해 누락된 번역 키를 추가합니다.",
      "review_dynamic_keys_manually_t": "🔍 동적 키를 수동으로 검토합니다(유효할 수도 있음)",
      "all_translation_keys_are_prope": "✅ 모든 번역 키가 올바르게 사용되었습니다!",
      "n_next_steps": "🎯 NEXT STEPS:",
      "2_check_the_detailed_report_fo": "2. 특정 이슈에 대한 상세 리포트를 확인하세요",
      "help_message": "I18n 사용 분석기 사용법: node i18ntk-usage.js [옵션] 옵션: --source-dir <dir>     스캔할 소스 디렉터리(기본값: ./src) --i18n-dir <dir>       I18n 디렉터리(기본값: ./src/locales) --output-report 세부 보고서 생성 --output-dir <dir>     보고서의 출력 디렉터리(기본값: ./reports) --help 이 도움말 표시 예: node i18ntk-usage.js --output-report node i18ntk-usage.js --source-dir=./app --i18n-dir=./locales node i18ntk-usage.js --output-dir=./analytic --output-report",
      "1_review_the_analysis_results": "1. 콘솔 또는 생성된 보고서에서 분석 결과를 검토합니다.",
      "2_run_with_outputreport_for_de": "2. 자세한 보고서를 보려면 --output-report를 사용하여 실행하세요.",
      "3_remove_unused_keys_or_add_mi": "3. 사용하지 않는 키를 제거하거나 누락된 키를 소스 코드에 추가하세요.",
      "4_rerun_analysis_to_verify_imp": "4. 분석을 다시 실행하여 개선 사항을 확인합니다.",
      "noSourceFilesFound": "분석할 소스 파일이 없습니다.",
      "i18nDirectoryNotFound": "I18n 디렉토리를 찾을 수 없습니다: {i18nDir}",
      "noTranslationLanguagesFound": "번역 언어가 없습니다.",
      "failedToAnalyzeFile": "파일을 분석하지 못했습니다. {filePath}: {error}",
      "failedToAnalyzeLanguage": "언어 분석에 실패했습니다. {language}: {error}",
      "translationCompletenessAnalysisFailed": "번역 완성도 분석 실패: {error}",
      "n": "\\N"
    },
    "complete": {
      "configLoadedSuccessfully": "구성이 성공적으로 로드되었습니다.",
      "configLoadingFailed": "구성 로드에 실패했습니다.",
      "title": "🌍 I18NTK 번역 완료",
      "separator": "============================================================",
      "sourceDir": "📁 소스 디렉토리: {sourceDir}",
      "sourceLanguage": "🌐 소스 언어: {sourceLanguage}",
      "dryRunMode": "🧪 드라이 런 모드 - 변경 사항이 없습니다.",
      "languages": "🌍 사용 가능한 언어: {languages}",
      "addingMissingKeys": "➕ 번역 파일에 누락된 키 추가 중...",
      "processing": "🔄 처리 {language}...",
      "addedKeys": "✅ 추가됨 {count} 누락된 키",
      "changeDetails": "📝 {file}: {key}",
      "andMore": "...그리고 {count} 더",
      "noChangesNeeded": "✅ 변경이 필요하지 않습니다 {language}",
      "summaryTitle": "📊 완료 요약",
      "totalChanges": "📝 총 변경 사항: {totalChanges}",
      "languagesProcessed": "🌍 처리되는 언어: {languagesProcessed}",
      "missingKeysAdded": "➕ 누락된 키가 추가되었습니다: {missingKeysAdded}",
      "nextStepsTitle": "📋 NEXT STEPS",
      "nextStep1": "1. 사용량 분석 실행:",
      "nextStep2": "노드 i18ntk-usage.js --output-report",
      "nextStep3": "2. 번역 검증:",
      "nextStep4": "노드 i18ntk-validate.js",
      "nextStep5": "3. 패턴 분석:",
      "nextStep6": "노드 i18ntk-analyze.js",
      "allKeysAvailable": "🎉 이제 모든 번역 키를 사용할 수 있습니다!",
      "runWithoutDryRun": "💡 변경 사항을 적용하려면 --dry-run 없이 실행하세요.",
      "deletingOldReport": "🗑️ 오래된 보고서를 삭제하는 중...",
      "generatingFreshAnalysis": "📊 새로운 사용량 분석 생성 중...",
      "couldNotGenerate": "❌ 사용량 분석을 생성할 수 없습니다.",
      "reportNotFound": "📋 사용 보고서를 찾을 수 없습니다. 공용 키를 사용하는 중...",
      "foundMissingKeys": "📋 찾았습니다 {count} 사용량 분석에서 누락된 키",
      "couldNotParse": "❌ 사용 보고서를 구문 분석할 수 없습니다. 공용 키를 사용하는 중..."
    },
    "noTranslationLanguagesFound": "번역 언어를 찾을 수 없습니다",
    "failedToAnalyzeLanguage": "언어 분석에 실패했습니다.",
    "translationCompletenessAnalysisFailed": "번역 완성도 분석 실패",
    "failedToProcessFile": "파일 처리 실패:",
    "failedToSaveReport": "사용량 보고서를 저장하지 못했습니다. {error}",
    "i18nDirectoryDoesNotExist": "I18n 디렉토리가 존재하지 않습니다: {dir}",
    "reportSavedTo": "사용 보고서 저장 위치: {reportPath}",
    "sourceDirectoryDoesNotExist": "소스 디렉터리가 존재하지 않습니다: {dir}",
    "noSourceDirectoryConfigured": "(구성된 바 없음)"
  },
  "validate": {
    "help_message": "I18n 번역 유효성 검사기 사용법: node i18ntk-validate.js [옵션] 옵션: --source-dir <dir>     스캔할 소스 디렉터리(기본값: ./src) --i18n-dir <dir>       I18n 디렉터리(기본값: ./src/locales) --output-report 세부 보고서 생성 --output-dir <dir>     보고서의 출력 디렉터리(기본값: ./reports) --help 이 도움말 표시 예: node i18ntk-validate.js --output-report node i18ntk-validate.js --source-dir=./app --i18n-dir=./locales node i18ntk-validate.js --output-dir=./analytic --output-report",
    "title": "🔍 I18n 번역 검사기",
    "message": "유효성 검사 프로세스를 시작하는 중...",
    "sourceDirectory": "📁 소스 디렉토리: {dir}",
    "sourceLanguage": "🌍 소스 언어: {sourceLanguage}",
    "strictMode": "⚙️ 엄격 모드: {mode}",
    "noTargetLanguages": "구성된 대상 언어가 없습니다. 대상 확인을 건너뛰는 중입니다. \"i18ntk init --언어s=de,fr\"을 통해 언어를 추가합니다.",
    "validatingLanguages": "🌍 언어 확인: {langs}",
    "validatingLanguage": "🔍 언어 확인 중: {lang}",
    "filesCount": "📄 파일: {count}",
    "keysCount": "🔑 키: {count}",
    "missingFilesCount": "📁 누락된 파일: {count}",
    "syntaxErrorsCount": "❌ 구문 오류: {count}",
    "translationPercentage": "🎯 번역: {percentage}% ({translated}/{total} 열쇠)",
    "validationSummary": "📊 검증 요약",
    "validation_failed": "❌ 유효성 검사 실패: {error}",
    "totalErrors": "❌ 총 오류 수: {count}",
    "totalWarnings": "⚠️ 총 경고: {count}",
    "errorsSection": "❌ ERRORS",
    "warningsSection": "⚠️  WARNINGS",
    "recommendationsSection": "💡 추천",
    "fixErrorsFirst": "1. 먼저 모든 오류를 수정하세요.",
    "resolveMissingFilesAndSyntaxErrors": "1. 누락된 파일 및 구문 오류 해결",
    "fixStructuralInconsistencies": "2. 구조적 불일치 수정",
    "completeMissingTranslations": "3. 누락된 번역을 완성하세요",
    "rerunValidation": "4. 유효성 검사를 다시 실행하여 수정 사항을 확인합니다.",
    "addressWarnings": "품질 개선을 위해 경고 해결",
    "reviewWarnings": "경고를 검토하고 적절한 경우 수정하세요.",
    "considerRunningWithStrict": "2. 보다 엄격한 검증을 위해 --strict 플래그를 사용하여 실행하는 것을 고려하십시오.",
    "allValidationsPassed": "🎉 모든 검증이 통과되었습니다!",
    "considerRunningUsageAnalysis": "사용량 분석 실행을 고려하십시오: node i18ntk-usage.js",
    "deletedOldReport": "🗑️ 오래된 검증 보고서를 삭제했습니다.",
    "sourceDir": "📁 소스 디렉토리: {sourceDir}",
    "i18nDir": "🌐 I18n 디렉토리: {i18nDir}",
    "loadingTranslationFiles": "📋 번역 파일 로드 중...",
    "foundTranslationFilesCount": "✅ 찾음 {count} 번역 파일",
    "analyzingTranslations": "🔍 번역 분석 중...",
    "validationCompletedSuccessfully": "🎉 검증이 성공적으로 완료되었습니다!",
    "validationErrorsFound": "⚠️ 확인 오류가 발견되었습니다: {count}",
    "validationWarningsFound": "⚠️ 유효성 검사 경고가 발견되었습니다. {count}",
    "validationPassed": "✅ 오류 없이 유효성 검사가 통과되었습니다.",
    "validationFailed": "검증 실패: {error}",
    "startingValidationProcess": "🔍 유효성 검사 프로세스 시작 중...",
    "validationProcessCompletedSuccessfully": "✅ 검증 과정이 성공적으로 완료되었습니다",
    "stackTrace": "스택 추적: {stack}",
    "authenticationFailed": "❌ 인증에 실패했습니다. 접근 불가.",
    "fatalValidationError": "❌ 치명적인 유효성 검사 오류: {error}",
    "configAccess": "검증을 위해 구성에 액세스하는 중",
    "configValidated": "구성이 성공적으로 검증되었습니다.",
    "configError": "구성 오류: {error}",
    "validatorInit": "I18n 유효성 검사기 초기화 중",
    "validatorInitialized": "I18n 유효성 검사기가 성공적으로 초기화되었습니다.",
    "validatorInitError": "유효성 검사기 초기화 오류: {error}",
    "argsParsing": "명령줄 인수 구문 분석",
    "argsParsed": "명령줄 인수가 성공적으로 구문 분석되었습니다.",
    "argsParseError": "인수 구문 분석 오류: {error}",
    "languagesScan": "사용 가능한 언어 스캔 중",
    "languagesFound": "설립하다 {count} 언어",
    "languagesScanError": "언어 검색 오류: {error}",
    "filesScan": "설립하다 {count} 파일 {language}",
    "filesScanError": "파일 검색 오류: {error}",
    "jsonValidated": "JSON 구문이 검증되었습니다: {filePath}",
    "jsonValidationError": "JSON 유효성 검사 오류: {error}",
    "languageValidation": "언어 확인 중: {language}",
    "languageValidationError": "언어 유효성 검사 오류: {error}",
    "fileDeleted": "파일이 삭제되었습니다.",
    "runStarted": "검증 실행 시작",
    "runCompleted": "검증 실행이 성공적으로 완료되었습니다.",
    "runError": "검증 실행 실패: {error}",
    "scriptExecution": "스크립트 실행",
    "validationCompleted": "검증 완료",
    "validationError": "유효성 검사 오류: {error}",
    "separator": "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━",
    "languageHeader": "🌐 언어: {language}",
    "validationResults": "📊 검증 결과",
    "noErrors": "✅ 오류가 발견되지 않았습니다",
    "noWarnings": "✅ 경고가 발견되지 않았습니다",
    "summaryHeader": "📋 OVERALL SUMMARY",
    "progressIndicator": "⏳ 처리 중...",
    "completedIndicator": "✅ 완료됨",
    "errorIndicator": "❌ 오류",
    "warningIndicator": "⚠️ 경고",
    "infoIndicator": "ℹ️ 정보",
    "sourceDirNotConfigured": "소스 디렉터리가 구성되지 않았습니다.",
    "sourceLanguageNotConfigured": "소스 언어가 구성되지 않았습니다.",
    "translationFunctionNotInitialized": "번역 기능이 제대로 초기화되지 않았습니다.",
    "sourceLanguageDirectoryNotFound": "소스 언어 디렉터리를 찾을 수 없습니다.",
    "specifiedLanguageNotFound": "지정한 언어를 찾을 수 없습니다",
    "noJsonFilesFound": "소스 디렉터리에 JSON 파일이 없습니다. {sourceDir}",
    "i18nDirectoryNotFound": "I18n 디렉토리를 찾을 수 없습니다: {i18nDir}",
    "invalidDirectoryPaths": "잘못된 디렉터리 경로가 감지되었습니다.",
    "invalidSampleFilePath": "잘못된 샘플 파일 경로",
    "failedToCreateSampleTranslationFile": "샘플 번역 파일을 생성하지 못했습니다.",
    "invalidFilePathDetected": "잘못된 파일 경로가 감지되었습니다.",
    "failedToWriteFile": "파일을 쓰지 못했습니다: {filePath}",
    "invalidSourceDirectory": "잘못된 소스 디렉터리: {sourceDir}",
    "invalidSourceLanguageDirectory": "잘못된 소스 언어 디렉터리: {sourceDir}"
  },
  "adminCli": {
    "setupPinProtectionTitle": "🔐 관리자 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": "🔐 관리자 인증이 필요한 경우: {operation}",
    "invalidPinFormat": "❌ 잘못된 PIN 형식입니다. PIN은 4~6자리여야 합니다.",
    "authenticationSuccess": "✅ 인증 성공!",
    "invalidPinAttemptsRemaining": "❌ PIN이 잘못되었습니다. {remaining} 시도 횟수가 남아 있습니다.",
    "authenticationFailedAccessDenied": "❌ 인증에 실패했습니다. 접근 불가.",
    "authenticationError": "❌ 인증 오류: {message}",
    "pinProtectionNotEnabled": "현재 관리자 PIN 보호가 활성화되어 있지 않습니다.",
    "disablingPinProtectionTitle": "🔓 관리자 PIN 보호 비활성화",
    "confirmDisablePinProtection": "관리자 PIN 보호를 비활성화하시겠습니까?",
    "operationCancelled": "작업이 취소되었습니다.",
    "pinProtectionDisabledSuccess": "✅ 관리자 PIN 보호가 비활성화되었습니다.",
    "disablePinProtectionFailed": "❌ 관리자 PIN 보호를 비활성화하지 못했습니다.",
    "errorDisablingPinProtection": "❌ 관리자 보호를 비활성화하는 중에 오류가 발생했습니다. {message}",
    "adminProtectionStatusTitle": "🔐 관리자 보호 상태",
    "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": "⏰ 비활성으로 인해 관리 세션이 만료되었습니다.",
    "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": "🔐 관리자 PIN 설정(선택 사항)",
    "optional_setup_description": "관리자 PIN 보호는 다음과 같은 민감한 작업에 대한 보안을 추가합니다.",
    "setup_prompt": "관리자 PIN을 설정하시겠습니까? (예/아니요):",
    "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\"를 입력하고, 다른 PIN을 선택하려면 Enter를 누르세요.",
    "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": "디버그 도구 실행 중 오류 발생 '{displayName}': {error}",
    "recentDebugLogs": "📄 최근 디버그 로그",
    "noDebugLogsFound": "❌ 디버그 로그를 찾을 수 없습니다.",
    "debugLogsDirectoryNotFound": "❌ 디버그 로그 디렉터리를 찾을 수 없습니다.",
    "selectLogPrompt": "보려는 로그 파일을 선택하십시오(1-{count}):",
    "invalidChoiceSelectRange": "선택이 잘못되었습니다. 사용 가능한 범위에서 선택해 주세요.",
    "contentOf": "📄 내용 {filename}:",
    "pressEnterToContinue": "계속하려면 Enter를 누르세요..."
  },
  "detect_language_mismatches": {
    "tool_title": "🔍 언어 불일치 감지 도구",
    "separator": "=====================================",
    "analyzing_file": "📄 분석 중 {language}.json...",
    "error_analyzing_file": "❌ 오류분석 {filename}: {errorMessage}",
    "results_title": "📊 언어 불일치 감지 결과",
    "results_separator": "========================================",
    "summary_title": "📋 SUMMARY:",
    "total_files_analyzed": "분석된 총 파일 수: {totalFiles}",
    "files_with_mismatches": "불일치가 있는 파일: {filesWithMismatches}",
    "total_mismatches_found": "발견된 총 불일치 수: {totalMismatches}",
    "no_mismatches_found": "✅ 언어 불일치가 발견되지 않았습니다! 모든 번역이 올바른 언어로 되어 있는 것 같습니다.",
    "detailed_results_title": "🔍 DETAILED RESULTS:",
    "file_mismatch_header": "📄 {filename} ({language})",
    "mismatches_count": "설립하다 {count} 불일치:",
    "mismatch_details": "{index}. 열쇠: {key}",
    "mismatch_value": "값: \"{value}\"",
    "mismatch_issue": "문제: {description}",
    "recommendations_title": "💡 권장사항:",
    "recommendation_1": "1. [TRANSLATE]로 표시된 모든 항목을 검토하고 번역합니다.",
    "recommendation_2": "2. 언어 접두사(예: [DE], [FR])를 적절한 번역으로 바꿉니다.",
    "recommendation_3": "3. 영어 텍스트를 적절한 대상 언어로 번역",
    "recommendation_4": "4. 사용자가 접하는 모든 텍스트에 해당하는 모국어를 사용하세요.",
    "recommendation_5": "5. 수정 후 이 도구를 다시 실행하여 수정 사항을 확인하세요.",
    "detailed_report_saved": "📄 상세 보고서 저장 위치: {reportPath}",
    "error_saving_report": "❌ 보고서 저장 오류: {errorMessage}",
    "auto_fix_mode": "🔧 자동 수정 모드 {dryRun}",
    "auto_fix_separator": "=====================================",
    "fixed_file": "✅ 수정됨 {filename}",
    "auto_fix_summary_title": "📊 자동 수정 요약:",
    "total_fixes_applied": "적용된 총 수정 사항: {count}",
    "preview_fixes_title": "🔍 수정사항 미리보기:",
    "fix_details": "{file}: {key}      오래된: \"{old}\"      새로운: \"{new}\"",
    "more_fixes": "... 그리고 {count} 더 많은 수정 사항",
    "run_with_apply_fixes": "💡 이 수정 사항을 적용하려면 --apply를 사용하여 실행하세요.",
    "error_general": "❌ 오류:",
    "mainDebuggerSystemDiagnostics": "메인 디버거/시스템 진단",
    "exportMissingKeys": "누락된 키 내보내기",
    "replaceHardcodedConsole": "하드코딩된 콘솔 교체",
    "consoleKeyChecker": "콘솔 키 검사기",
    "debugLogs": "디버그 로그",
    "backToMainMenu": "메인 메뉴로 돌아가기",
    "invalidChoiceSelectRange": "❌ 선택이 잘못되었습니다. 표시된 범위 내에서 숫자를 선택하세요.",
    "runningDebugTool": "디버그 도구 실행: {displayName}",
    "debugToolNotFound": "디버그 도구 '{toolName}' 찾을 수 없습니다.",
    "recentDebugLogs": "최근 디버그 로그",
    "noDebugLogsFound": "디버그 로그를 찾을 수 없습니다.",
    "logEntry": "로그 항목: {timestamp} - {message}",
    "debugLogsDirectoryNotFound": "디버그 로그 디렉터리를 찾을 수 없습니다."
  },
  "help": {
    "title": "📊 I18NTK 관리 도움말",
    "usage": "사용법: node main/manage/index.js [옵션]",
    "interactiveMode": "💡 사용: node main/manage/index.js --command=<command> 직접 실행을 위해",
    "showHelp": "📖 사용: node main/manage/index.js --사용 가능한 명령에 대한 도움말",
    "availableCommands": "📖 사용 가능한 명령:",
    "initProject": "🚀 새 언어 초기화",
    "analyzeTranslations": "🔍 번역 분석",
    "validateTranslations": "✅ 번역 확인",
    "checkUsage": "📊 키 사용법 확인",
    "initCommand": "init - 새 언어 초기화",
    "analyzeCommand": "분석 - 번역 분석",
    "validateCommand": "검증 - 번역 검증",
    "usageCommand": "사용법 - 키 사용법 확인",
    "sizingCommand": "사이징 - 사이징 분석",
    "completeCommand": "완전한 - 완전한 번역(100% 적용)",
    "summaryCommand": "요약 - 프로젝트 상태 표시",
    "debugCommand": "디버그 - 디버그 번역 문제",
    "scannerCommand": "스캐너 - 키 스캔",
    "translateCommand": "번역 - 로케일 파일 자동 번역",
    "menu": {
      "pressEnterToContinue": "계속하려면 Enter를 누르세요...",
      "title": "🌐 I18NTK 관리 메뉴",
      "description": "국제화 관리를 위한 대화형 메뉴",
      "exit": "🚪 종료"
    },
    "commands": {
      "init": "init - 새 언어 초기화",
      "analyze": "분석 - 번역 분석",
      "validate": "검증 - 번역 검증",
      "usage": "사용법 - 키 사용법 확인",
      "sizing": "사이징 - 사이징 분석",
      "complete": "완전한 - 완전한 번역(100% 적용)",
      "summary": "요약 - 프로젝트 상태 표시",
      "debug": "디버그 - 디버그 번역 문제"
    },
    "options": {
      "sourceDir": "--소스-디렉터리 <dir>     분석할 소스 디렉터리",
      "output": "--산출 <file>        보고서의 출력 파일",
      "verbose": "--verbose, -v 자세한 정보 표시",
      "keepReports": "--keep-reports 기존 보고서 유지",
      "deleteReports": "--delete-reports 기존 보고서 삭제",
      "help": "--help, -h 이 도움말 표시"
    },
    "examples": {
      "title": "예:",
      "example1": "노드 i18ntk-manage.js",
      "example2": "노드 i18ntk-manage.js --source-dir ./locales",
      "example3": "노드 i18ntk-manage.js --출력 요약-report.txt",
      "example4": "노드 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": "🌍 UI 언어 변경",
      "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": "로캘 디렉터리를 읽는 동안 오류가 발생했습니다. {errorMessage}"
    }
  },
  "init": {
    "initializationTitle": "🚀 i18n 관리 툴킷 - 프로젝트 초기화",
    "initializationCancelled": "🚫 사용자가 초기화를 취소했습니다.",
    "sourceDirectoryLabel": "📁 소스 디렉토리: {dir}",
    "requiredTitle": "초기화 필요",
    "requiredBody": "이 명령을 실행하기 전에 이 프로젝트를 초기화해야 합니다.",
    "promptRunNow": "지금 초기화를 실행하시겠습니까? (예/아니요):",
    "sourceLanguageLabel": "🌍 소스 언어: {language}",
    "detectedI18nFrameworks": "🔍 감지된 i18n 프레임워크: {frameworks}",
    "pinMustBe4Digits": "🔐 PIN은 4자리여야 합니다.",
    "existingDirectoriesFound": "📁 기존 번역 디렉토리를 찾았습니다:",
    "useExistingDirectoryPrompt": "기존 디렉터리를 사용하시겠습니까? (예/아니요)",
    "selectDirectoryPrompt": "번호를 입력하여 디렉터리를 선택합니다(또는 '새 디렉터리 만들기' 선택).",
    "enterNewDirectoryName": "새 번역 디렉터리의 이름을 입력하세요.",
    "createdNewDirectory": "✅ 새 디렉터리 생성: {dir}",
    "directoryAlreadyExists": "⚠️ 디렉토리가 이미 존재합니다: {dir}",
    "invalidDirectoryName": "❌ 잘못된 디렉터리 이름이 제공되었습니다.",
    "usingExistingDirectory": "기존 디렉토리 사용: {dir}",
    "adminPinSetupOptional": "🔐 관리자 PIN 설정은 선택사항(보안을 위해 권장)",
    "adminPinSeparator": "------------------------------",
    "adminPinDescription1": "관리자 PIN: 보안 접속을 위한 4자리 숫자",
    "adminPinDescription2": "PIN 설정을 건너뛰려면 비워 두세요.",
    "adminPinDescription3": "PIN을 설정하면 향후 모든 보안 작업에 PIN이 필요합니다.",
    "adminPinDescription4": "PIN을 안전하게 저장하는 데 사용되는 AES-256-GCM 암호화입니다.",
    "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": "이 구조를 모든 언어에 적용하시겠습니까? (예/아니요):",
      "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 <package-name>"
    },
    "frameworks": {
      "react": "- i18next 반응(반응-i18next)",
      "vue": "- Vue i18n (vue-i18n)",
      "i18next": "- i18next (i18next)",
      "nuxt": "- Nuxt i18n (@nuxtjs/i18n)",
      "svelte": "- 스벨트 i18n (svelte-i18n)"
    },
    "continueWithoutI18nPrompt": "i18n 프레임워크가 감지되지 않았습니다. 하나도 없이 계속하시겠습니까? (예/아니요):",
    "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}",
      "noFramework": "i18n 프레임워크가 감지되지 않았습니다. 일반 모드를 계속 진행합니다.",
      "packageJsonRead": "package.json을 읽는 동안 오류가 발생했습니다."
    },
    "processingFile": "처리 {file} ~을 위한 {language}...",
    "fileAlreadyExistsMerging": "파일 {file} 이미 존재합니다. 새 키를 병합하는 중입니다.",
    "createdNewFile": "새 파일이 생성되었습니다: {file}",
    "updatedFile": "업데이트된 파일: {file}",
    "skippingExcludedFile": "건너뛰는 중 {file} ~을 위한 {language} 제외되었기 때문이죠.",
    "continuingWithoutAdminPin": "관리자 PIN 설정 없이 계속합니다.",
    "createdSourceLanguageDirectory": "생성된 소스 언어 디렉토리: {dir}",
    "errorSettingUpAdminPin": "관리자 PIN을 설정하는 중에 오류가 발생했습니다. {error}",
    "noTargetLanguagesSpecified": "지정된 타겟 언어가 없습니다.",
    "translationFilesCreatedWarning": "번역 파일은 자리 표시자를 사용하여 생성되었습니다. 생산에 사용하기 전에 검토하십시오.",
    "warningCannotReadSourceDir": "경고: 소스 디렉터리를 읽을 수 없습니다. {dir}: {error}",
    "warningInvalidLanguageCodes": "경고: 잘못된 언어 코드가 무시되었습니다. {languages}",
    "warningProceedingWithoutFramework": "i18n 프레임워크가 감지되지 않고 진행됩니다.",
    "backup": {
      "title": "백업 설정",
      "description": "백업 재귀 및 저장소 오염을 방지하기 위해 백업은 기본적으로 비활성화되어 있습니다.",
      "enablePrompt": "자동 백업을 활성화하시겠습니까? (예/아니요):",
      "keepPrompt": "자동으로 보관해야 하는 백업 수(1~3, 기본값 1):"
    },
    "completionSummaryTitle": "완료요약",
    "completionSummaryBasicTitle": "완료요약(기본)",
    "totalChanges": "총 변경사항: {count}",
    "languagesProcessed": "처리되는 언어: {count}",
    "missingKeysAdded": "누락된 키가 추가되었습니다. {count}",
    "reportPrompt": "보고서를 생성하시겠습니까? (예/아니요):",
    "reportGenerated": "생성된 보고서: {reportPath}",
    "reportFailed": "보고서 생성 실패: {error}",
    "completionError": "완료 중 오류: {error}",
    "optimize": {
      "title": "패키지 크기 최적화",
      "preview": "로캘 최적화 미리보기 실행 중...",
      "reduceTip": "필요한 언어만 선택하여 패키지 크기를 줄일 수 있습니다.",
      "prompt": "지금 대화형 최적화를 실행하시겠습니까? (예/아니요):",
      "starting": "대화형 로케일 최적화 시작 중...",
      "completed": "패키지 최적화가 완료되었습니다.",
      "later": "나중에 다음을 사용하여 로캘 최적화를 실행할 수 있습니다.",
      "unavailable": "로케일 최적화를 제공할 수 없습니다: {error}"
    }
  },
  "language": {
    "title": "🌍 언어 변경",
    "separator": "============================================================",
    "current": "현재 언어: {language}",
    "available": "사용 가능한 언어:",
    "languageOption": "{index}. {displayName}{current}",
    "backToMainMenu": "메인 메뉴로 돌아가기",
    "prompt": "언어 선택(0-8):",
    "cancelled": "언어 변경이 취소되었습니다.",
    "invalid": "선택이 잘못되었습니다. 다시 시도해 주세요.",
    "changed": "언어가 다음으로 변경되었습니다. {language}",
    "changeFailed": "언어를 변경하지 못했습니다: {error}",
    "pressEnterToContinue": "계속하려면 Enter를 누르세요..."
  },
  "maintainLanguagePurity": {
    "workflow_title": "🚀 언어 순도 유지 관리 워크플로",
    "step1_title": "📊 1단계: 초기 언어 순도 평가",
    "step2_title": "🔧 2단계: 언어 불일치 감지 및 자동 수정",
    "step3_title": "🌐 3단계: 자동 번역 적용",
    "step4_title": "✅ 4단계: 최종 언어 순도 평가",
    "workflow_error": "❌ 작업 흐름 오류: {errorMessage}",
    "running_initial_validation": "초기 언어 순도 유효성 검사 실행 중...",
    "initial_assessment_complete": "✅ 초기 평가 완료: {count} 발견된 위반 사항",
    "initial_assessment_warnings": "⚠️ 경고와 함께 초기 평가가 완료되었습니다.",
    "detecting_fixing_mismatches": "언어 불일치 감지 및 수정...",
    "detection_complete_applying_fixes": "감지가 완료되었습니다. 자동 수정 적용 중...",
    "mismatch_fixes_complete": "✅ 언어 불일치 수정 완료: {count} 수정 사항이 적용되었습니다.",
    "mismatch_fixes_warnings": "⚠️ 경고와 함께 언어 불일치 수정이 완료되었습니다.",
    "applying_automatic_translations": "자동 번역 적용 중...",
    "translation_preview_complete": "번역 미리보기가 완료되었습니다. 번역을 적용하는 중..."
  },
  "menu": {
    "title": "🌐 I18NTK 관리 메뉴",
    "separator": "============================================================",
    "options": {
      "init": "🚀 새 언어 초기화",
      "analyze": "🔍 번역 분석",
      "validate": "✅ 번역 확인",
      "usage": "📊 키 사용법 확인",
      "complete": "🎯 완전한 번역(100% 적용)",
      "sizing": "📏 사이즈 분석",
      "fix": "🛠️ 자리 표시자 번역 수정",
      "scanner": "🔍 i18n 문제 스캔",
      "translate": "🌐 자동 번역",
      "workflow": "🔄 전체 워크플로 실행",
      "status": "📋 프로젝트 상태 표시",
      "delete": "🗑️ 모든 보고서 삭제",
      "language": "🌍 UI 언어 변경",
      "settings": "⚙️ 설정",
      "help": "❓ 도움말",
      "debug": "🔧 디버그 도구",
      "exit": "🚪 종료"
    },
    "update": "📦 업데이트 패키지",
    "goodbye": "👋 안녕!",
    "invalidChoice": "선택이 잘못되었습니다. 0~15를 선택하세요.",
    "returning": "메인 메뉴로 돌아가기...",
    "invalidOption": "잘못된 옵션입니다. 다시 시도해 주세요.",
    "nonInteractiveModeWarning": "비대화형 모드가 감지되었습니다. 참고용으로만 표시된 메뉴입니다.",
    "useDirectExecution": "사용: node main/manage/index.js --command=<command> 직접 실행을 위해.",
    "useHelpForCommands": "사용 가능한 명령은 node main/manage/index.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} 언어 파일...",
      "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": "✅ 번역 교체 완료!",
      "total_replacements": "📊 총 교체 횟수: {count}",
      "dry_run_mode": "⚠️ DRY RUN 모드 - 파일이 수정되지 않았습니다.",
      "tool_title": "🌍 네이티브 번역 대체기 v1.9.1",
      "tool_separator": "======================================",
      "dry_run_warning": "⚠️ DRY RUN 모드에서 실행 - 파일이 수정되지 않습니다.",
      "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": "⚠️ 이 파일을 삭제하시겠습니까? (예/아니요):",
    "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": "🧪 DRY RUN 모드 - 파일이 수정되지 않습니다.",
      "languages": "🎯 대상 언어: {languages}",
      "addingMissingKeys": "➕ 번역 파일에 누락된 키 추가 중...",
      "processing": "🔄 처리 {language}...",
      "addedKeys": "✅ 추가됨 {count} 열쇠",
      "changeDetails": "📝 {file}: {key}",
      "noChangesNeeded": "✅ 변경이 필요하지 않습니다 {language}",
      "summaryTitle": "📊 완료 요약",
      "totalChanges": "📝 총 변경 사항: {totalChanges}",
      "languagesProcessed": "🌐 처리되는 언어: {languagesProcessed}",
      "missingKeysAdded": "➕ 누락된 키가 추가되었습니다: {missingKeysAdded}",
      "nextStepsTitle": "📋 NEXT STEPS",
      "nextStep1": "1. 사용량 분석 실행:",
      "nextStep2": "2. 번역 검증:",
      "nextStep3": "3. 완전성 분석:",
      "allKeysAvailable": "🎉 이제 모든 번역 키를 사용할 수 있습니다!",
      "runWithoutDryRun": "💡 변경 사항을 적용하려면 --dry-run 없이 실행하세요.",
      "pressEnterToContinue": "계속하려면 Enter를 누르세요..."
    },
    "updatePackage": {
      "title": "📦 i18n-toolkit 패키지 업데이트",
      "description": "그러면 i18n-toolkit 패키지가 npm에서 사용 가능한 최신 버전으로 업데이트됩니다.",
      "command": "실행 명령",
      "confirm": "업데이트를 계속하시겠습니까? (예/아니요):",
      "updating": "패키지 업데이트 중... 잠시 시간이 걸릴 수 있습니다.",
      "success": "✅ i18n-toolkit이 성공적으로 업데이트되었습니다!",
      "error": "❌ i18n-toolkit 업데이트 실패",
      "cancelled": "❌ 업데이트가 취소되었습니다."
    }
  },
  "security": {
    "pathValidationFailed": "경로_검증_실패",
    "invalidInputType": "잘못된 입력_유형",
    "pathTraversalAttempt": "path_traversal_attempt",
    "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 문자열이 너무 큼",
    "recursion_detected": "재귀가 감지되었습니다. {operation}",
    "operation_timeout": "작업 시간 초과: {operation}",
    "operation_error": "작업 오류 {operation}: {error}",
    "directory_read_error": "디렉터리 읽기 오류: {errorMessage}",
    "security_alert": "보안 경고"
  },
  "settings-cli": {
    "settings": {
      "mainMenu": {
        "title": "메인 메뉴:",
        "uiSettings": "UI 설정",
        "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": "종료하기 전에 변경사항을 저장하시겠습니까? (예/아니요):",
        "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": "❌ 알림.유형은 객체여야 합니다.",
      "exclude_files_must_be_array": "❌ 제외파일은 배열이어야 합니다.",
      "exclude_dirs_must_be_array": "❌ 제외Dirs는 배열이어야 합니다.",
      "include_extensions_must_be_array": "❌ includeExtensions는 배열이어야 합니다.",
      "invalid_batch_size": "❌ 배치 크기가 잘못되었습니다. 양수여야 합니다.",
      "invalid_max_concurrent_files": "❌ 최대 동시 파일 수가 잘못되었습니다. 양수여야 합니다.",
      "invalid_sizing_threshold": "❌ 크기 조정 임계값이 잘못되었습니다. 양수여야 합니다.",
      "invalid_timeout": "❌ 시간 초과가 잘못되었습니다. 1000ms 이상이어야 합니다.",
      "invalid_sizing_format": "❌ 잘못된 크기 형식: {sizingFormat}. 유효한 형식: {validFormats}",
      "error_validating_settings": "❌ 설정 확인 오류:",
      "backup_created": "📋 백업 생성됨: {backupPath}",
      "error_creating_backup": "❌ 백업 생성 오류:",
      "language_not_supported": "언어 '{language}'는 지원되지 않습니다. 사용 가능: {availableLanguages}",
      "ui_language_set": "🌍 UI 언어 설정: {language}"
    }
  },
  "settings": {
    "title": "⚙️ 설정 관리",
    "separator": "============================================================",
    "goodbyeMessage": "i18ntk 설정 관리자를 이용해 주셔서 감사합니다!",
    "relativePathHint": "이 디렉터리의 상대 경로를 사용하세요(예: ./src/i18n/locales).",
    "currentDirectory": "현재 프로젝트 디렉토리",
    "startingSettings": "시작 설정:",
    "pin": "PIN:",
    "reportBug": {
      "title": "버그 신고",
      "description": "발생한 문제나 버그를 보고하세요.",
      "guidance": "문제를 효과적으로 보고하려면:",
      "checkLogs": "1. 프로젝트 디렉터리에서 디버그 로그를 확인하세요.",
      "documentIssue": "2. 재현 단계와 함께 문제를 문서화합니다.",
      "contactSupport": "3. 시스템 관리자나 지원팀에 문의하세요.",
      "completed": "버그 보고 지침이 표시됨",
      "instructions": "버그를 신고하려면 위의 지침을 따르세요."
    },
    "mainMenu": {
      "title": "메인 메뉴:",
      "uiSettings": "UI 설정",
      "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": "종료하기 전에 변경사항을 저장하시겠습니까? (예/아니요):",
      "selectOption": "옵션을 선택하세요:",
      "goodbyeMessage": "i18n 설정 관리자를 이용해 주셔서 감사합니다!",
      "selectSettingPrompt": "편집할 설정을 선택하세요(또는 돌아가려면 'b').",
      "enterNewValue": "새 값 입력:",
      "updatedSuccessfully": "{setting} 성공적으로 업데이트되었습니다!",
      "scriptDirectorySettings": "스크립트 디렉토리 설정",
      "scriptDirectoryDesc": "각 스크립트에 대한 사용자 정의 디렉터리 지정",
      "scriptDirectorySettingsDesc": "각 스크립트에 대해 사용자 정의 디렉터리를 설정할 수 있습니다. 설정하지 않으면 전역 설정이 사용됩니다.",
      "currentDirectory": "현재 프로젝트 디렉토리",
      "securitySettings": "보안 설정",
      "securitySettingsDesc": "관리자 PIN 및 기타 보안 옵션",
      "backupSettings": "백업 설정",
      "backupSettingsDesc": "구성 설정 백업 및 복원",
      "autoTranslate": "자동 번역",
      "autoTranslateDesc": "자리 표시자 처리, 동시성, 일괄 처리 및 보고서 조정"
    },
    "updatePackage": {
      "title": "업데이트 패키지",
      "description": "npm을 통해 i18n-toolkit 패키지 업데이트",
      "command": "npm 업데이트 i18ntk -g",
      "success": "업데이트가 성공적으로 완료되었습니다.",
      "failed": "업데이트에 실패했습니다.",
      "prompt": "지금 패키지를 업데이트하시겠습니까? (예/아니요):",
      "promptDesc": "참고: 이렇게 하면 i18ntk 패키지가 최신 버전으로 업데이트됩니다.",
      "confirm": "와이",
      "cancelled": "업데이트가 취소되었습니다.",
      "error": "패키지를 업데이트하지 못했습니다.",
      "updating": "패키지 업데이트 중..."
    },
    "admin": {
      "selectOption": "옵션 선택:",
      "updateSuccess": "관리자 PIN이 업데이트되었습니다!",
      "updateFailed": "관리자 PIN을 업데이트하지 못했습니다.",
      "protectionRemoved": "관리자 PIN 보호가 제거되었습니다.",
      "configSuccess": "관리자 PIN이 성공적으로 구성되었습니다!",
      "configFailed": "관리자 PIN을 구성하지 못했습니다.",
      "setupPinPrompt": "관리자 PIN을 설정하시겠습니까? (예/아니요):",
      "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": "🔐 먼저 현재 PIN을 확인하세요.",
      "settingNewPin": "🔄 새 PIN을 설정하는 중...",
      "verifyToRemove": "🔐 현재 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": "현재 설정이 모두 대체됩니다. 계속하다? (예/아니요):",
      "importSuccess": "설정을 성공적으로 가져왔습니다.",
      "importFailed": "설정을 가져오지 못했습니다: {error}",
      "backupSuccess": "백업 생성됨: {file}",
      "backupFailed": "백업을 생성하지 못했습니다: {error}",
      "exportFilenamePrompt": "내보내기 파일 이름 입력:",
      "importConfirm": "이 설정 파일을 가져오시겠습니까? (예/아니요):",
      "importFilenamePrompt": "가져오기 파일 이름 입력:",
      "manageBackups": "백업 관리",
      "restore": "설정 복원"
    },
    "selectOption": "옵션을 선택하세요:",
    "resetToDefaultsTitle": "설정을 기본값으로 재설정",
    "resetWarning1": "⚠️ 이렇게 하면 모든 설정이 기본값으로 재설정됩니다.",
    "resetWarning2": "이 작업은 취소할 수 없습니다.",
    "resetConfirm": "계속하시겠습니까? (예/아니요):",
    "resetSuccess": "설정이 기본값으로 재설정되었습니다.",
    "resetFailed": "설정을 재설정하지 못했습니다: {error}",
    "resetDone": "설정이 기본값으로 재설정되었습니다.",
    "resetScriptDirsDone": "스크립트 디렉터리가 시스템 기본값으로 재설정되었습니다.",
    "saveSuccess": "설정이 성공적으로 저장되었습니다.",
    "saveFailed": "설정을 저장하지 못했습니다.",
    "saveError": "잘못된 설정이 제공되었습니다.",
    "pressEnter": "계속하려면 Enter를 누르세요...",
    "initFailed": "설정을 초기화하지 못했습니다: {error}",
    "invalidValueFormat": "값 형식이 잘못되었습니다.",
    "help": {
      "title": "설정 도움말",
      "navigationTitle": "항해",
      "navigation1": "1. 일반 설정 - UI 언어, 테마, 기본 환경 설정 구성",
      "navigation2": "2. 디렉터리 설정 - 번역 파일의 소스 및 출력 디렉터리 설정",
      "navigation3": "3. 처리 설정 - 배치 크기, 동시성 및 성능 옵션 구성",
      "navigation4": "4. 고급 설정 - 액세스 확인, 로깅 및 전문가 구성 옵션",
      "categoriesTitle": "설정 카테고리",
      "categoryUI": "• UI 설정: 인터페이스 언어, 색상 테마, 디스플레이 기본 설정",
      "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": "UI 설정",
      "directorySettings": "디렉토리 설정",
      "processingSettings": "처리 설정",
      "advancedSettings": "고급 설정",
      "scriptDirectorySettings": "스크립트 디렉토리 설정",
      "securitySettings": "보안 설정",
      "autoTranslate": "자동 번역 설정"
    },
    "security": {
      "title": "🔐 보안 설정",
      "description": "관리자 PIN 보호 및 보안 옵션 구성",
      "currentPin": "현재 PIN:",
      "pinConfigured": "✅ 구성됨",
      "pinNotConfigured": "❌ 구성되지 않음",
      "pinDisplay": "핀 디스플레이:",
      "menu": {
        "enableDisable": "1) 관리자 PIN 활성화/비활성화",
        "setupChange": "2) 관리자 PIN 설정/변경",
        "sessionTimeout": "3) 세션 시간 초과",
        "maxAttempts": "4) 최대 시도 실패 횟수",
        "lockoutDuration": "5) 잠금 기간",
        "back": "b) 메인 메뉴로 돌아가기"
      },
      "prompts": {
        "enablePin": "관리자 PIN 보호를 활성화하시겠습니까? (예/아니요):",
        "disablePin": "관리자 PIN 보호를 비활성화하시겠습니까? (예/아니요):",
        "enterTimeout": "세션 시간 초과(분)를 입력하세요.",
        "enterMaxAttempts": "최대 실패 횟수를 입력하세요:",
        "enterLockoutDuration": "잠금 기간(분)을 입력하세요."
      },
      "messages": {
        "pinEnabled": "관리자 PIN 보호가 활성화되었습니다.",
        "pinDisabled": "관리자 PIN 보호가 비활성화되었습니다.",
        "timeoutUpdated": "세션 시간 초과가 다음으로 업데이트되었습니다. {minutes} 분",
        "maxAttemptsUpdated": "최대 실패 시도 횟수가 다음으로 업데이트되었습니다. {attempts}",
        "lockoutDurationUpdated": "잠금 기간이 다음으로 업데이트되었습니다. {minutes} 분"
      }
    },
    "fields": {
      "backup.enabled": {
        "label": "Enable Backup",
        "description": "Enable automatic backup of settings",
        "help": "Enable/disable backup feature"
      },
      "backup.singleFileMode": {
        "label": "Single File Mode",
        "description": "Use single file for backups",
        "help": "Backup settings in a single file"
      },
      "backup.singleBackupFile": {
        "label": "Backup File Path",
        "description": "Path to the backup file",
        "help": "Path to the single backup file"
      },
      "backup.retentionDays": {
        "label": "Retention Period",
        "description": "Days to keep backup files",
        "help": "Number of days to retain old backup files"
      },
      "backup.maxBackups": {
        "label": "Maximum Backups",
        "description": "Maximum backup files to keep",
        "help": "Maximum number of backup files to keep"
      },
      "backup.confirm": {
        "label": "Confirm Backup",
        "description": "Require confirmation for backup operations",
        "help": "Confirm backup operation"
      },
      "i18nDir": {
        "label": "I18n 디렉토리",
        "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": "UI 테마 환경설정",
        "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 보호를 기본값으로 재설정"
      },
      "removeUiLanguages": {
        "label": "UI 언어 제거",
        "description": "설치되지 않은 UI 언어 제거",
        "help": "시스템에 설치되지 않은 UI 언어 제거"
      },
      "${helperKey}": {
        "help": "돕다"
      },
      "reports_format": {
        "label": "보고서 형식",
        "help": "읽을 수 있는 보고서에는 마크다운을 선택하고, 자동화에는 json을, 일반 로그에는 텍스트를 선택하세요."
      },
      "autoTranslate_placeholderMode": {
        "label": "자리 표시자 처리 모드",
        "help": "자동 번역 중에 자리 표시자가 포함된 문자열을 처리하는 방법입니다."
      },
      "autoTranslate_concurrency": {
        "label": "동시 번역 요청",
        "help": "최대 동시 공급자 요청. Google은 i18ntk에서 최대 100개를 지원합니다. DeepL과 LibreTranslate는 더 낮게 제한됩니다."
      },
      "autoTranslate_batchSize": {
        "label": "배치당 텍스트 세그먼트",
        "help": "배치당 예약된 텍스트 세그먼트 수입니다."
      },
      "autoTranslate_progressInterval": {
        "label": "진행 업데이트 간격",
        "help": "진행 상황 업데이트 사이에 텍스트 세그먼트가 완성되었습니다."
      },
      "autoTranslate_retryCount": {
        "label": "재시도 횟수",
        "help": "실패한 요청당 최대 재시도 횟수입니다."
      },
      "autoTranslate_retryDelay": {
        "label": "재시도 지연(ms)",
        "help": "기본 재시도 지연 시간(밀리초)입니다."
      },
      "autoTranslate_timeout": {
        "label": "요청 시간 초과(ms)",
        "help": "번역 제공업체 요청 시간이 초과되었습니다."
      },
      "autoTranslate_dryRunFirst": {
        "label": "먼저 테스트 실행 미리보기",
        "help": "파일을 작성하기 전에 번역될 내용을 미리 보세요."
      },
      "autoTranslate_onlyMissingOrEnglish": {
        "label": "누락된 키 또는 영어 키만",
        "help": "기존에 번역된 대상 값을 유지하고 누락된 값, 마커, 원본 복사본 또는 가능한 영어 값만 번역합니다."
      },
      "autoTranslate_reportStdout": {
        "label": "보고서를 터미널로 인쇄",
        "help": "번역 후 보고서를 stdout으로 인쇄합니다."
      },
      "autoTranslate_bom": {
        "label": "UTF-8 BOM 작성",
        "help": "UTF-8 BOM을 사용하여 번역된 JSON 파일을 작성합니다."
      },
      "autoTranslate_protectionEnabled": {
        "label": "브랜드 용어, 키, 값 보호",
        "help": "사용자가 편집할 수 있는 보호 용어, 키, 값 및 패턴을 활성화합니다."
      },
      "autoTranslate_protectionFile": {
        "label": "보호 JSON 파일",
        "help": "자동 번역 보호 규칙이 포함된 프로젝트 JSON 파일입니다."
      },
      "autoTranslate_promptProtectionSetup": {
        "label": "보호파일 생성 요청",
        "help": "자동 번역이 처음 실행될 때 보호 파일 생성을 요청합니다."
      },
      "autoTranslate_promptProtectionUpdate": {
        "label": "보호 규칙 업데이트 요청",
        "help": "관리자 번역 전에 보호 규칙을 업데이트할지 여부를 묻습니다."
      },
      "backup": {
        "enabled": {
          "label": "백업 활성화",
          "description": "설정 자동 백업 활성화",
          "help": "백업 기능 활성화/비활성화"
        },
        "singleFileMode": {
          "label": "단일 파일 모드",
          "description": "백업에 단일 파일 사용",
          "help": "단일 파일의 백업 설정"
        },
        "singleBackupFile": {
          "label": "백업 파일 경로",
          "description": "백업 파일 경로",
          "help": "단일 백업 파일의 경로"
        },
        "retentionDays": {
          "label": "보유기간",
          "description": "백업 파일 보관 일수",
          "help": "오래된 백업 파일을 보관하는 일수"
        },
        "maxBackups": {
          "label": "최대 백업",
          "description": "보관할 최대 백업 파일",
          "help": "보관할 최대 백업 파일 수"
        },
        "confirm": {
          "label": "백업 확인",
          "description": "백업 작업에 대한 확인 필요",
          "help": "백업 작업 확인"
        }
      }
    },
    "actions": {
      "editSetting": "편집하다 {setting}:",
      "settingUpdated": "✅ {setting} 성공적으로 업데이트되었습니다!",
      "invalidValue": "❌ 값이 잘못되었습니다. 다시 시도해 주세요.",
      "pressEnter": "계속하려면 Enter를 누르세요...",
      "backToMenu": "메인 메뉴로 돌아가기",
      "saveSuccess": "✅ 설정이 성공적으로 저장되었습니다!",
      "saveFailed": "❌ 설정 저장 실패: {error}",
      "resetConfirm": "모든 설정을 기본값으로 재설정하시겠습니까? (예/아니요):",
      "resetSuccess": "✅ 설정이 기본값으로 재설정되었습니다!",
      "importSuccess": "✅ 설정을 성공적으로 가져왔습니다!",
      "exportSuccess": "✅ 설정을 성공적으로 내보냈습니다!",
      "fileNotFound": "❌ 파일을 찾을 수 없습니다: {path}",
      "invalidFormat": "❌ 잘못된 설정 파일 형식",
      "pinProtectionUpdated": "✅ PIN 보호 {script} 성공적으로 업데이트되었습니다!",
      "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": "중국인",
      "it": "이탈리아어",
      "pt": "포르투갈어",
      "nl": "네덜란드어",
      "pl": "폴란드어",
      "sv": "스웨덴어",
      "uk": "우크라이나어",
      "cs": "체코어",
      "tr": "터키어",
      "ko": "한국어",
      "ar": "아랍어",
      "hi": "힌디어",
      "th": "태국어",
      "vi": "베트남어",
      "he": "히브리어",
      "el": "그리스어",
      "hu": "헝가리어"
    },
    "viewAll": {
      "title": "모든 설정 보기"
    },
    "current": "현재의",
    "back": "메인 메뉴로 돌아가기",
    "selectSettingPrompt": "편집할 설정을 선택합니다(또는 뒤로가려면 b, 재설정하려면 r).",
    "invalidOption": "잘못된 옵션입니다.",
    "editing": "편집",
    "enterNewValue": "새 값을 입력하세요(또는 현재 값을 유지하려면 Enter를 누르고, 시스템 기본값을 사용하려면 'default'를 입력하세요).",
    "validOptions": "유효한 옵션",
    "updatedSuccessfully": "성공적으로 업데이트되었습니다!",
    "noHelp": "이 설정에 대한 도움말이 없습니다.",
    "resetScriptDirectories": "기본값으로 재설정",
    "resetScriptDirectoriesTitle": "스크립트 디렉터리를 기본값으로 재설정",
    "resetScriptDirectoriesWarning1": "그러면 모든 스크립트 디렉터리 구성이 시스템 기본값으로 재설정됩니다.",
    "resetScriptDirectoriesWarning2": "모든 사용자 정의 디렉터리 경로가 지워집니다. 이 작업은 취소할 수 없습니다.",
    "resetScriptDirectoriesConfirm": "모든 스크립트 디렉터리를 기본값으로 재설정하시겠습니까? (예/아니요):",
    "backup": {
      "title": "백업 설정",
      "description": "현재 설정을 파일로 백업",
      "confirm": "현재 설정을 백업하시겠습니까? (예/아니요):",
      "success": "✅ 설정이 성공적으로 백업되었습니다. {backupFile}",
      "failed": "❌ 설정 백업 실패: {error}",
      "enabled": "백업 활성화",
      "enabledHelp": "백업 기능 활성화/비활성화",
      "singleFileMode": "단일 파일 모드",
      "singleFileModeHelp": "단일 파일의 백업 설정",
      "singleBackupFile": "단일 백업 파일",
      "singleBackupFileHelp": "단일 백업 파일의 경로",
      "retentionDays": "보존 일수",
      "retentionDaysHelp": "오래된 백업 파일을 보관하는 일수",
      "maxBackups": "최대 백업",
      "maxBackupsHelp": "보관할 최대 백업 파일 수",
      "confirmHelp": "백업 작업 확인",
      "confirmYes": "예",
      "confirmNo": "아니요"
    },
    "validation": {
      "valid": "유효한",
      "validatingPaths": "구성된 경로를 검증하는 중...",
      "validationComplete": "경로 유효성 검사 완료: {valid}/{total} 유효한."
    }
  },
  "summary": {
    "separator": "============================================================",
    "configurationTitle": "🔧 구성:",
    "sourceLanguage": "소스 언어: {sourceLanguage}",
    "supportedExtensions": "지원되는 확장: {extensions}",
    "excludedFiles": "제외된 파일: {files}",
    "reportContent": "{report}",
    "fatalError": "❌ 치명적인 오류: {error}",
    "helpTitle": "📊 I18NTK 요약 보고서 생성기",
    "helpDescription": "i18n 폴더 구조를 분석하고 주요 통계, 파일 구조 분석 및 유효성 검사를 포함하는 포괄적인 요약 보고서를 생성합니다.",
    "helpUsage": "사용법: node i18ntk-summary.js [옵션]",
    "helpOptions": "--소스-디렉터리 <dir>     분석할 소스 디렉터리",
    "helpSourceDir": "--소스-디렉터리 <dir>     분석할 소스 디렉터리",
    "helpOutput": "--산출 <file>        보고서의 출력 파일",
    "helpVerbose": "--verbose, -v 자세한 정보 표시",
    "helpKeepReports": "--keep-reports 기존 보고서 유지",
    "helpDeleteReports": "--delete-reports 기존 보고서 삭제",
    "helpHelp": "--help, -h 이 도움말 표시",
    "helpExamples": "예:",
    "helpExample1": "노드 i18ntk-summary.js",
    "helpExample2": "노드 i18ntk-summary.js --source-dir ./locales",
    "helpExample3": "노드 i18ntk-summary.js --출력 요약-report.txt",
    "helpExample4": "노드 i18ntk-summary.js --verbose",
    "helpExample5": "노드 i18ntk-summary.js --source-dir ./locales --output report.json",
    "couldNotReadFile": "⚠️ 파일을 읽을 수 없습니다: {filePath}",
    "couldNotParseJSFile": "⚠️ JS/TS 파일을 구문 분석할 수 없습니다: {filePath}",
    "errorReadingFile": "⚠️ 파일 읽기 오류 {filePath}: {error}",
    "analyzingFolder": "🔍 폴더 구조 분석 중...",
    "noLanguageDirectoriesFound": "❌ 지정된 소스 디렉터리에서 언어 디렉터리를 찾을 수 없습니다.",
    "foundLanguages": "✅ 찾음 {count} 언어: {languages}",
    "referenceLanguageFiles": "📁 참고 언어 '{language}' 가지다 {count} 파일",
    "analyzingLanguage": "🌍 언어 분석: {language}",
    "keysInFiles": "📊 발견됨 {keys} 키 건너편 {files} 파일",
    "checkingInconsistentKeys": "🔍 언어별로 일치하지 않는 키를 확인하는 중...",
    "generatingSummaryReport": "📝 요약 보고서 생성 중...",
    "reportTitle": "📊 I18NTK SUMMARY REPORT",
    "generated": "생성됨: {timestamp}",
    "sourceDirectory": "소스 디렉토리: {dir}",
    "overview": "📈 OVERVIEW",
    "languagesCount": "언어: {count}",
    "totalFiles": "총 파일 수: {count}",
    "totalKeys": "총 키: {count}",
    "avgKeysPerLanguage": "언어당 평균 키: {count}",
    "languagesBreakdown": "🌍 언어 분석",
    "languageBreakdown": "{language}: {files} 파일, {keys} 열쇠",
    "fileStructure": "📁 파일 구조",
    "fileKeys": "{file}: {keys} 열쇠",
    "missingInLanguages": "⚠️ 누락된 항목: {languages}",
    "issuesFound": "❌ ISSUES FOUND",
    "missingFiles": "📁 누락된 파일:",
    "emptyFiles": "📄 빈 파일:",
    "malformedFiles": "⚠️ 잘못된 파일:",
    "duplicateKeys": "🔑 중복 키:",
    "inconsistentKeys": "🔍 일관되지 않은 키:",
    "missingKeys": "없어진: {keys}{more}",
    "extraKeys": "추가의: {keys}{more}",
    "noIssuesFound": "✅ NO ISSUES FOUND",
    "allFilesConsistent": "모든 번역 파일은 언어 전반에 걸쳐 일관됩니다.",
    "recommendations": "💡 추천",
    "createMissingFiles": "• 누락된 번역 파일 생성",
    "addContentToEmptyFiles": "• 빈 번역 파일에 콘텐츠 추가",
    "fixMalformedFiles": "• 잘못된 JSON/JS 파일 수정",
    "removeDuplicateKeys": "• 파일에서 중복 키 제거",
    "synchronizeKeys": "• 모든 언어에서 키 동기화",
    "splitLargeFiles": "• 대용량 파일을 더 작은 네임스페이스로 분할하는 것을 고려하세요.",
    "addMoreLanguages": "• 더 많은 언어를 추가해 보세요.",
    "nextSteps": "🎯 NEXT STEPS",
    "nextStep1": "1. 위에서 확인된 문제를 해결하세요.",
    "nextStep2": "2. 일관성을 보장하기 위해 유효성 검사를 실행합니다.",
    "nextStep3": "3. 자세한 검증을 위해 i18ntk-validate 사용을 고려하십시오.",
    "nextStep4": "4. 정기적인 모니터링 권장",
    "couldNotFindI18nDirectory": "❌ i18n 디렉터리를 찾을 수 없습니다. --source-dir을 지정하십시오.",
    "sourceDirectoryDoesNotExist": "❌ 소스 디렉터리가 존재하지 않습니다: {dir}",
    "i18nSummaryReportGenerator": "📊 I18N 요약 보고서 생성기",
    "analysisComplete": "✅ 분석 완료",
    "analyzedLanguages": "📊 분석된 언어: {count}",
    "processedFiles": "📁 처리된 파일: {count}",
    "foundTranslationKeys": "🔑 발견된 번역 키: {count}",
    "foundIssues": "❌ 발견됨 {count} 문제",
    "noIssuesConsole": "✅ 문제가 발견되지 않았습니다. 모든 파일이 일관됩니다!",
    "errorDuringAnalysis": "❌ 분석 중 오류: {error}",
    "usageReportTitle": "📊 I18NTK USAGE REPORT",
    "usageReportGenerated": "생성됨: {timestamp}",
    "usageReportSourceDir": "소스 디렉토리: {sourceDir}",
    "usageReportI18nDir": "I18n 디렉토리: {i18nDir}",
    "usageReportSummary": "📈 SUMMARY",
    "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 main/manage/index.js [옵션]",
      "interactiveMode": "💡 사용: node main/manage/index.js --command=<command> 직접 실행을 위해",
      "initProject": "🚀 새 언어 초기화",
      "analyzeTranslations": "🔍 번역 분석",
      "validateTranslations": "✅ 번역 확인",
      "checkUsage": "📊 키 사용법 확인",
      "showHelp": "📖 사용: node main/manage/index.js --사용 가능한 명령에 대한 도움말",
      "availableCommands": "📖 사용 가능한 명령:",
      "initCommand": "init - 새 언어 초기화",
      "analyzeCommand": "분석 - 번역 분석",
      "validateCommand": "검증 - 번역 검증",
      "usageCommand": "사용법 - 키 사용법 확인",
      "sizingCommand": "사이징 - 사이징 분석",
      "completeCommand": "완전한 - 완전한 번역(100% 적용)",
      "summaryCommand": "요약 - 프로젝트 상태 표시",
      "scannerCommand": "스캐너 - i18n 문제 스캔",
      "translateCommand": "번역 - 로케일 파일 자동 번역",
      "debugCommand": "디버그 - 디버그 번역 문제"
    },
    "test_complete_system": {
      "starting_test": "🧪 전체 시스템 테스트 시작",
      "separator": "=",
      "testing_ui_translations": "📝 UI 번역 테스트 중...",
      "testing_settings_manager": "⚙️ 테스트 설정 관리자...",
      "testing_main_scripts": "🔧 메인 스크립트 테스트...",
      "checking_translation_consistency": "🌐 번역 일관성 확인 중...",
      "non_critical_missing_keys": "ℹ️ {file}: {count} 중요하지 않은 누락된 키",
      "extra_keys": "ℹ️ {file}: {count} 추가 키",
      "generating_report": "📊 보고서 생성 중...",
      "final_test_report_title": "📋 FINAL TEST REPORT",
      "passed": "✅ 합격: {passed}",
      "failed": "❌ 실패: {failed}",
      "warnings": "⚠️ 경고: {warnings}",
      "missing_translations_title": "🔍 누락된 번역({count}):",
      "missing_translation_key": "- {key}",
      "missing_translations_more": "... 그리고 {count} 더",
      "errors_title": "❌ 오류:",
      "error_message": "- {error}",
      "overall_status": "📊 전체 상태: {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": "파일에서 콘솔 명령문을 검색하는 중...",
      "found_javascript_files": "설립하다 {count} 자바스크립트 파일.",
      "console_i18n_analysis_results": "콘솔 I18n 분석 결과",
      "total_console_statements": "총 콘솔 명령문: {count}",
      "translated_statements": "번역된 진술: {count}",
      "hardcoded_statements": "하드코딩된 명령문: {count}",
      "translation_coverage": "번역 범위: {percentage}%",
      "coverage_by_file": "파일별 적용 범위:",
      "file_coverage_stats": "{emoji} {fileName}: {coverage}% ({translated}/{total})",
      "hardcoded_console_statements": "하드코딩된 콘솔 명령문:",
      "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. 모든 콘솔 메시지가 사용자에게 표시되고 번역이 필요한지 확인합니다.",
      "recommendation_4": "4. 동적 메시지에 대해 템플릿 리터럴이나 문자열 연결을 사용하여 변수를 i18n.t()에 전달합니다.",
      "translation_keys_to_add": "추가할 제안된 번역 키:",
      "add_keys_instruction": "다음 JSON 구조를 번역 파일에 복사합니다.",
      "perfect_translation_coverage": "완벽한 번역 커버리지!",
      "all_statements_using_translation": "모든 콘솔 문은 변환 시스템을 사용하고 있습니다.",
      "i18n_console_translation_checker": "I18n 콘솔 번역 검사기",
      "script_description_line1": "이 스크립트는 모든 JavaScript 파일에서 콘솔 명령문을 검색합니다.",
      "script_description_line2": "번역 시스템을 사용하고 있는지 확인합니다.",
      "analysis_completed_in_duration": "분석 완료 {duration} 초.",
      "report_saved_to_path": "보고서 저장 위치: {path}",
      "found_hardcoded_messages": "설립하다 {count} 하드코딩된 메시지. 오류 코드 1로 종료됩니다.",
      "all_console_messages_use_translation": "모든 콘솔 메시지는 번역을 사용합니다. 코드 0으로 종료됩니다.",
      "consoleTranslationsCheck": "콘솔 번역 확인"
    },
    "translate_mismatches": {
      "title": "🌐 번역 도우미 {dryRun}",
      "separator": "=====================================",
      "processing_file": "📄 처리 {language}.json...",
      "translation_summary_title": "📊 번역 요약:",
      "total_translations_applied": "적용된 총 번역 수: {totalTranslations}",
      "run_with_apply_instruction": "💡 이 번역을 적용하려면 --apply를 사용하여 실행하세요.",
      "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": "===============================",
      "file_header": "📄 {filename}:",
      "total_keys": "총 키: {total}",
      "translated_keys": "번역됨: {translated}",
      "untranslated_markers": "번역되지 않은 마커: {untranslated}",
      "contains_english": "영어 포함: {hasEnglish}",
      "coverage_percentage": "적용 범위: {coverage}%",
      "error_general": "❌ 오류:",
      "use_help": "사용법 정보를 보려면 --help를 사용하세요."
    },
    "cleaningUpReportFiles": "이전 보고서 파일을 정리하는 중...",
    "couldNotDelete": "삭제할 수 없습니다. {file}: {error}",
    "deletedOldReportFiles": "삭제됨 {count} 이전 보고서 파일.",
    "errorCleaningUpReports": "보고서 정리 오류: {error}",
    "noOldReportFilesToDelete": "삭제할 이전 보고서 파일이 없습니다.",
    "reportFilesPreserved": "보고서 파일이 보존됩니다.",
    "reportSaveFailed": "보고서를 다음 위치에 저장하지 못했습니다. {reportPath}",
    "reportSaved": "보고서 저장 위치: {reportPath}"
  },
  "ui": {
    "autoDetectedI18nDirectory": "자동 감지된 i18n 디렉토리: {path}",
    "executingCommand": "명령 실행: {command}",
    "unknownCommand": "알 수 없는 명령: {command}",
    "errorExecutingCommand": "명령 실행 중 오류 발생: {error}",
    "errorLoadingTranslationFile": "'에 대한 번역 파일을 로드하는 중 오류가 발생했습니다.{language}': {error}",
    "errorSavingLanguagePreference": "언어 환경설정을 저장하는 중에 오류가 발생했습니다. {error}",
    "noActiveReadlineInterface": "사용 가능한 활성 readline 인터페이스가 없습니다.",
    "uiLanguageUpdated": "UI 언어가 다음으로 업데이트되었습니다. {language}",
    "selectOptionPrompt": "옵션을 선택하세요:",
    "pressEnterToReturn": "Enter를 눌러 주 메뉴로 돌아가세요...",
    "detectedSourceDirectory": "감지된 소스 디렉터리: {sourceDir}",
    "detectedI18nDirectory": "i18n 디렉토리가 감지되었습니다: {directory}",
    "toolkitTitle": "i18ntk - 엔터프라이즈 i18n 관리 툴킷",
    "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": "관리자 핀 설정",
    "phrase_enter_admin_pin": "관리자 핀 입력",
    "phrase_confirm_admin_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}",
    "violations_by_file_header": "❌ 파일별 위반:"
  },
  "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": "계속하려면 Enter를 누르세요!",
    "starting": "🚀 워크플로 시작 중...",
    "completed": "✅ 워크플로가 성공적으로 완료되었습니다!",
    "checkReports": "📄 자세한 내용은 보고서를 확인하세요.",
    "exitingCompleted": "📝 워크플로가 완료되었습니다. 종료 중...",
    "summary": {
      "title": "📋 WORKFLOW SUMMARY",
      "separator": "===================",
      "completedAt": "🕐 워크플로 완료 시간: {timestamp}",
      "initialViolations": "📊 초기 위반: {count}",
      "finalViolations": "📉 최종 위반: {count}",
      "totalFixes": "🔧 적용된 총 수정 사항: {count}",
      "improvement": "📈 개선: {percentage}%",
      "stepResults": "📝 STEP RESULTS:",
      "stepDetail": "{number}. {status} {stepName}",
      "violations": "위반: {count}",
      "fixesApplied": "적용된 수정사항: {count}",
      "nextSteps": "💡 NEXT STEPS:",
      "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": "자바스크립트 파일을 찾았습니다.",
    "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": "모든 콘솔 메시지는 번역을 사용합니다."
  },
  "exportTranslations": {
    "createdDirectory": "생성된 디렉토리",
    "foundFiles": "발견된 파일",
    "createdTemplate": "템플릿이 생성되었습니다.",
    "skippedExisting": "기존 항목을 건너뛰었습니다.",
    "title": "제목",
    "creatingTemplates": "템플릿 만들기",
    "summary": "요약",
    "summaryLanguages": "요약 언어",
    "summaryFilesPerLanguage": "언어별 요약 파일",
    "summaryTotalFiles": "요약 총 파일 수",
    "success": "성공",
    "location": "위치",
    "nextSteps": "다음 단계"
  },
  "dashboard": {
    "title": "제목",
    "overview": "개요"
  },
  "auth": {
    "title": "제목",
    "email": "이메일",
    "password": "비밀번호",
    "signIn": "로그인",
    "forgotPassword": "비밀번호를 잊으셨나요?",
    "signUp": "가입"
  },
  "checkUsage": {
    "usage_analysis_failed": "사용량 분석에 실패했습니다."
  },
  "completeTranslations": {
    "warning_could_not_parse_filepa": "경고: 파일 경로를 구문 분석할 수 없습니다. {filePath}"
  },
  "pressEnterToContinue": "계속하려면 Enter를 누르세요...",
  "status": {
    "exitingCompleted": "워크플로가 완료되었습니다. 종료 중..."
  },
  "prompt": {
    "yesTokens": [
      "와이",
      "예"
    ],
    "noTokens": [
      "N",
      "아니요"
    ]
  },
  "translate": {
    "title": "자동 번역",
    "sourceDirectory": {
      "title": "소스 로케일 디렉토리",
      "currentProject": "현재 프로젝트: {dir}",
      "accepted": "허용됨: 절대 경로 또는 현재 프로젝트에 대한 상대 경로입니다.",
      "localeRootExample": "./locales (그런 다음 소스 언어 선택: en)",
      "folderHint": "폴더에는 JSON 파일이 직접 포함될 수도 있고 ./locales/en과 같은 언어 폴더가 포함될 수도 있습니다.",
      "defaultNotFound": "기본 디렉터리를 찾을 수 없습니다: {dir}",
      "enterExisting": "JSON 로케일 파일이 있는 기존 디렉터리를 입력하세요.",
      "directoryNotFound": "디렉토리를 찾을 수 없습니다: {dir}",
      "enterFolderExample": "기존 폴더(예: ./locales/en)를 입력합니다.",
      "notDirectory": "디렉토리가 아님: {dir}",
      "using": "소스 디렉터리 사용: {dir}"
    },
    "targetLanguages": {
      "title": "대상 언어",
      "allConfigured": "a) 구성된 모든 대상 언어: {languages}",
      "noneConfigured": "a) 구성된 모든 대상 언어: 구성된 언어 없음",
      "enterCodes": "또는 하나 이상의 쉼표/공백으로 구분된 언어 코드를 입력하세요.",
      "sourceExcluded": "소스 언어 \"{lang}\"는 자동으로 제외됩니다.",
      "noneSelected": "유효한 도착어를 선택하지 않았습니다. 중단하는 중입니다.",
      "configureHint": ".i18ntk-config에서 defaultLanguages를 구성하거나 대상 코드를 수동으로 입력하세요.",
      "selected": "대상 언어: {languages}"
    },
    "protection": {
      "title": "보호된 용어 및 키"
    },
    "common": {
      "default": "기본: {value}",
      "examples": "예:",
      "exampleValue": "예: {value}",
      "examplesInline": "예: {examples}",
      "pressEnterDefault": "기본값을 사용하려면 Enter를 누르세요.",
      "usingDefault": "기본값 사용: {value}"
    },
    "sourceLanguage": {
      "title": "소스 언어 코드",
      "hint": "이는 소스 JSON 값의 언어와 일치해야 합니다.",
      "using": "소스 언어 사용: {lang}",
      "invalid": "언어 코드가 잘못되었습니다. 2개 이상의 문자를 사용하세요(예: en, de, fr)."
    },
    "files": {
      "title": "어떤 파일을 번역해야 합니까?",
      "all": "a) 모든 JSON 파일({count}: {files})",
      "choicePrompt": "선택 [a/전체 또는 파일 번호]:",
      "invalidChoice": "선택이 잘못되었습니다. 중단하는 중입니다."
    },
    "dryRun": {
      "previewFor": "'에 대한 테스트 실행 미리보기{lang}\"..."
    },
    "confirm": {
      "proceed": "실제 번역을 진행하시겠습니까?",
      "yesNoPrompt": "[예]예 / [아니요]아니요:",
      "cancelled": "번역이 취소되었습니다."
    },
    "run": {
      "translatingTo": "\"로 번역{lang}\"...",
      "failedFor": "'에 실패했습니다.{lang}\": {error}"
    },
    "summary": {
      "title": "요약:",
      "complete": "번역 완료!"
    },
    "nonInteractive": {
      "useDirect": "비대화형 모드. 대신 직접 CLI를 사용하세요."
    },
    "errors": {
      "sourceDirectoryNotFound": "소스 로케일 디렉토리를 찾을 수 없습니다: {dir}"
    }
  }
}
