{
  "LOADING": "로딩 중...",
  "MENU": {
    "OVERVIEW": "개요",
    "QUEUES": "큐 목록",
    "SEARCH_INPUT_PLACEHOLDER": "큐 필터",
    "PAUSED": "일시정지됨",
    "EXPAND_ALL": "모든 그룹 펼치기",
    "COLLAPSE_ALL": "모든 그룹 접기",
    "EXPAND_SIDEBAR": "사이드바 펼치기",
    "COLLAPSE_SIDEBAR": "사이드바 접기",
    "METRICS_HISTORY": "메트릭 기록",
    "SCHEDULERS": "스케줄러"
  },
  "DASHBOARD": {
    "JOBS_COUNT": "{{count}}개의 작업",
    "EMPTY_STATE": "표시할 큐가 없습니다.",
    "EMPTY_STATE_FILTERED": "{{status}} 작업이 있는 큐가 없습니다.",
    "SORTING": {
      "TITLE": "정렬 기준",
      "FAILED": "실패한 작업",
      "DELAYED": "지연된 작업",
      "WAITING": "대기 중인 작업",
      "ACTIVE": "활성 작업",
      "COMPLETED": "완료된 작업",
      "ALPHABETICAL": "알파벳순 (A-Z)"
    },
    "VIEW": {
      "TITLE": "보기",
      "FLAT": "평면",
      "GROUPED": "그룹화"
    }
  },
  "JOB": {
    "DELAY_CHANGED": "*지연 시간이 변경되었습니다. 새로운 실행 시간은 현재 알 수 없습니다",
    "NOT_FOUND": "작업을 찾을 수 없습니다",
    "STATUS": "상태: {{status}}",
    "ADDED_AT": "추가 시각",
    "WILL_RUN_AT": "실행 예정 시각",
    "DELAYED_FOR": "지연 시간",
    "PROCESS_STARTED_AT": "프로세스 시작 시각",
    "PROCESSED_BY": "처리자: {{processedBy}}",
    "FAILED_AT": "실패 시각",
    "FINISHED_AT": "완료 시각",
    "ATTEMPTS": "시도 #{{attempts}}",
    "REPEAT": "반복 {{count}}",
    "REPEAT_WITH_LIMIT": "$t(JOB.REPEAT) / {{limit}}",
    "DURATION": {
      "SECS": "{{duration}}초",
      "MILLI_SECS": "{{duration}}밀리초"
    },
    "SHOW_DATA_BTN": "데이터 보기",
    "SHOW_PROGRESS_BTN": "진행 보기",
    "SHOW_OPTIONS_BTN": "옵션 보기",
    "SHOW_ERRORS_BTN": "오류 보기",
    "NA": "해당 없음",
    "NO_PROGRESS": "진행 데이터를 사용할 수 없습니다",
    "NO_ERRORS": "기록된 오류가 없습니다",
    "NO_LOGS": "로그를 사용할 수 없습니다",
    "LOGS": {
      "FILTER_PLACEHOLDER": "필터"
    },
    "ACTIONS": {
      "PROMOTE": "승격",
      "CLEAN": "삭제",
      "RETRY": "재시도",
      "UPDATE_DATA": "데이터 업데이트",
      "DUPLICATE": "복제",
      "CONFIRM": {
        "PROMOTE": "이 작업을 승격하시겠습니까?",
        "RETRY": "이 작업을 재시도하시겠습니까?",
        "CLEAN": "이 작업을 삭제하시겠습니까?",
        "REMOVE_JOB_SCHEDULER_TITLE": "전체 스케줄을 삭제할까요?",
        "REMOVE_JOB_SCHEDULER": "이 작업은 작업 스케줄러 \"{{schedulerId}}\"의 다음 실행 건이라 단독으로 삭제할 수 없습니다. 스케줄러를 삭제하면 스케줄이 중단되고 이 작업도 삭제됩니다."
      }
    },
    "TABS": {
      "DEFAULT": "기본",
      "DATA": "데이터",
      "PROGRESS": "진행",
      "OPTIONS": "옵션",
      "LOGS": "로그",
      "ERROR": "오류",
      "TIMELINE": "타임라인"
    }
  },
  "QUEUE": {
    "NOT_FOUND": "큐를 찾을 수 없습니다",
    "EMPTY_STATE": "이 큐에 {{status}} 작업이 없습니다.",
    "ACTIONS": {
      "MODAL_TITLE": "",
      "RETRY_ALL": "모두 재시도",
      "RETRY_ALL_FAILED": "실패한 작업 {{count}}건 모두 재시도",
      "RETRY_FAILED_IN_ALL_QUEUES": "모든 큐의 실패한 작업 {{count}}건 재시도",
      "RETRY_FAILED_IN_GROUP": "그룹의 실패한 작업 {{count}}건 재시도",
      "PROMOTE_ALL": "모두 승격",
      "CLEAN_ALL": "모두 삭제",
      "RESUME": "재개",
      "PAUSE": "일시정지",
      "RESUME_ALL": "모두 재개",
      "PAUSE_ALL": "모두 일시정지",
      "EMPTY": "비우기",
      "OBLITERATE": "완전 삭제",
      "ADD_JOB": "작업 추가",
      "SET_CONCURRENCY": "동시성 설정",
      "CONFIRM": {
        "RETRY_ALL": "모든 {{status}} 작업을 재시도하시겠습니까?",
        "RETRY_FAILED_QUEUES": "{{count}}개 큐에 걸친 실패한 작업 {{jobs}}건을 재시도하시겠습니까?",
        "CLEAN_ALL": "모든 {{status}} 작업을 삭제하시겠습니까?",
        "PROMOTE_ALL": "모든 지연된 작업을 승격하시겠습니까?",
        "PAUSE_QUEUE": "큐 처리를 일시정지하시겠습니까?",
        "EMPTY_QUEUE": "큐를 비우시겠습니까?",
        "OBLITERATE_QUEUE": "이 큐를 완전히 삭제하시겠습니까?\n\n큐와 모든 Redis 키가 완전히 제거됩니다.\n큐를 먼저 일시정지해야 합니다.",
        "RESUME_QUEUE": "큐 처리를 재개하시겠습니까?",
        "PAUSE_ALL": "모든 큐를 일시정지하시겠습니까?",
        "RESUME_ALL": "모든 큐를 재개하시겠습니까?",
        "PAUSE_GROUP": "이 그룹의 모든 {{count}}개 큐를 일시 중지하시겠습니까?",
        "RESUME_GROUP": "이 그룹의 모든 {{count}}개 큐를 재개하시겠습니까?"
      },
      "TOAST": {
        "RETRY_PENDING": "모든 {{status}} 작업을 재시도하는 중...",
        "RETRY_DONE": "모든 {{status}} 작업을 큐로 되돌렸습니다",
        "RETRY_SKIPPED": "작업 데이터가 없는 ID {{count}}개를 건너뛰었습니다. 작업 데이터는 보통 noeviction이 아닌 Redis 제거 정책 때문에 사라집니다.",
        "RETRY_QUEUES_PENDING": "{{count}}개 큐의 실패한 작업 {{jobs}}건을 재시도하는 중...",
        "RETRY_QUEUES_DONE": "{{count}}개 큐의 실패한 작업 {{jobs}}건을 각 큐로 되돌렸습니다"
      },
      "PAUSE_GROUP": "그룹의 모든 큐 일시 중지",
      "RESUME_GROUP": "그룹의 모든 큐 재개",
      "GROUP_ACTIONS": "그룹 작업"
    },
    "STATUS": {
      "LATEST": "최근",
      "ACTIVE": "활성",
      "WAITING": "대기 중",
      "WAITING-CHILDREN": "하위 작업 대기 중",
      "PRIORITIZED": "우선순위",
      "COMPLETED": "완료됨",
      "FAILED": "실패",
      "DELAYED": "지연됨",
      "PAUSED": "일시정지됨"
    },
    "INFO": {
      "TITLE": "큐 정보",
      "OVERVIEW": "개요",
      "NAME": "이름",
      "DISPLAY_NAME": "표시 이름",
      "TYPE": "유형",
      "STATE": "상태",
      "RUNNING": "실행 중",
      "PAUSED": "일시정지됨",
      "READ_ONLY": "읽기 전용",
      "RETRIES": "재시도 허용",
      "GLOBAL_CONCURRENCY": "전역 동시성",
      "WORKERS": "워커",
      "DELIMITER": "그룹 구분자",
      "TOTAL_JOBS": "전체 작업 수",
      "DEFAULTS": "기본 작업 옵션",
      "DESCRIPTION": "설명",
      "NOT_SET": "설정되지 않음",
      "YES": "예",
      "NO": "아니오"
    },
    "SCHEDULERS_LINK": "스케줄러 ({{count}})",
    "WORKERS": {
      "TITLE": "연결된 워커",
      "NONE": "워커 없음",
      "NONE_TOOLTIP": "이 큐를 처리하는 워커가 없습니다",
      "CONNECTED": "{{since}} 연결됨",
      "EMPTY": "이 큐를 처리하는 워커가 없습니다.",
      "EMPTY_HINT": "워커 프로세스가 실행 중이고 동일한 Redis를 바라보는지 확인하세요.",
      "EMPTY_PAUSED": "이 큐는 일시 정지 상태이므로 워커가 없어도 됩니다."
    }
  },
  "METRICS": {
    "TITLE": "처리량 (작업/분)",
    "COMPLETED": "완료됨",
    "FAILED": "실패",
    "COMPLETED_PER_MIN": "완료/분",
    "FAILED_PER_MIN": "실패/분",
    "PEAK_PER_MIN": "최대/분",
    "WINDOW_COMPLETED": "완료됨 (마지막 {{minutes}}분)",
    "NOW": "지금",
    "MINUTES_AGO": "{{minutes}}분 전",
    "PER_MIN_UNIT": "/분",
    "SHOW": "메트릭 표시",
    "HIDE": "메트릭 숨기기",
    "EMPTY": "아직 수집된 메트릭이 없습니다. 워커에서 메트릭을 활성화하세요 (예: metrics: { maxDataPoints: MetricsTime.ONE_WEEK })",
    "RANGE_60M": "60분",
    "RANGE_7D": "7일",
    "RANGE_30D": "30일",
    "RANGE_90D": "90일",
    "HISTORY_EMPTY": "이 기간에 대해 기록된 내역이 아직 없습니다.",
    "DAILY_COMPLETED": "완료 합계",
    "DAILY_FAILED": "실패 합계",
    "PARTIAL_PERIOD": "이 기간은 아직 진행 중입니다.",
    "TAB_THROUGHPUT": "처리량",
    "TAB_LATENCY": "지연 시간",
    "P95_RUN_TIME": "실행 시간 p95",
    "P95_WAIT_TIME": "대기 시간 p95",
    "NOT_AVAILABLE": "없음"
  },
  "LATENCY": {
    "TITLE": "작업 지연 시간",
    "GROUP_RUN": "실행 시간",
    "GROUP_WAIT": "대기 시간",
    "RUN_P50": "실행 시간 p50",
    "RUN_P95": "실행 시간 p95",
    "RUN_P99": "실행 시간 p99",
    "WAIT_P50": "대기 시간 p50",
    "WAIT_P95": "대기 시간 p95",
    "WAIT_P99": "대기 시간 p99",
    "QUEUE_AGE": "대기 중인 가장 오래된 작업",
    "P50": "p50",
    "P95": "p95",
    "P99": "p99",
    "LOG_SCALE_NOTE": "로그 스케일",
    "LOW_CONFIDENCE": "신뢰도 낮음: 샘플 {{count}}개",
    "EMPTY_NO_DATA": "이 기간에 대한 지연 시간이 아직 기록되지 않았습니다.",
    "EMPTY_NO_COMPLETIONS": "이 큐는 이 기간에 완료된 작업이 없습니다.",
    "HOURLY_GRANULARITY_ONLY": "지연 시간 기록은 시간 단위로만 저장되므로 최근 60분 동안 표시할 데이터가 없습니다. 7일, 30일 또는 90일로 전환해 보세요."
  },
  "CONFIRM": {
    "DEFAULT_TITLE": "확실합니까?",
    "CONFIRM_BTN": "확인",
    "CANCEL_BTN": "취소"
  },
  "MODAL": {
    "CLOSE_BTN": "닫기"
  },
  "REDIS": {
    "TITLE": "Redis 상세 정보",
    "TITLE_POSTGRES": "PostgreSQL 상세 정보",
    "PORT": "포트",
    "MEMORY_USAGE": "메모리 사용량",
    "PEEK_MEMORY": "최대 메모리 사용량",
    "FRAGMENTATION_RATIO": "단편화 비율",
    "CONNECTED_CLIENTS": "연결된 클라이언트",
    "BLOCKED_CLIENTS": "차단된 클라이언트",
    "VERSION": "버전",
    "MODE": "모드",
    "OS": "운영체제 (OS)",
    "UP_TIME": "가동 시간",
    "ERROR": {
      "MEMORY_USAGE": "메모리 통계를 가져올 수 없습니다"
    }
  },
  "SETTINGS": {
    "TITLE": "설정",
    "LANGUAGE": "언어",
    "POLLING_INTERVAL": "새로고침 간격(폴링 간격)",
    "POLLING_OPTIONS": {
      "OFF": "끄기",
      "SECS": "{{count}}초",
      "MINS": "{{count}}분"
    },
    "DEFAULT_JOB_TAB": "기본 작업 탭",
    "JOBS_PER_PAGE": "페이지당 작업 수 (1-50)",
    "CONFIRM_QUEUE_ACTIONS": "큐 작업 확인",
    "CONFIRM_JOB_ACTIONS": "작업 확인",
    "USE_COLLAPSIBLE_JSON": "접을 수 있는 JSON 사용",
    "COLLAPSE_JOB": "작업 접기",
    "COLLAPSE_JOB_DATA": "작업 데이터 접기",
    "COLLAPSE_JOB_PROGRESS": "작업 진행 접기",
    "COLLAPSE_JOB_OPTIONS": "작업 옵션 접기",
    "COLLAPSE_JOB_ERROR": "작업 오류 접기",
    "DEFAULT_COLLAPSE_DEPTH": "기본 JSON 접기 깊이 (0-10)",
    "SORT_QUEUES": "큐 정렬 (A-Z, 그룹 우선)",
    "DARK_MODE": "다크 모드",
    "SECTIONS": {
      "GENERAL": "일반",
      "QUEUES": "큐",
      "JOBS": "작업"
    },
    "GROUP_QUEUES": "카테고리별로 큐 그룹화",
    "GROUP_QUEUES_HELP": "큐 이름의 구분자를 기준으로 개요를 접을 수 있는 섹션으로 나눕니다. 사이드바에서 사용하는 것과 동일한 그룹화입니다."
  },
  "CONCURRENCY": {
    "TITLE": "글로벌 동시성",
    "DESCRIPTION": "모든 워커에서 병렬로 처리되는 최대 작업 수입니다. 0으로 설정하면 제한이 해제됩니다.",
    "CONCURRENCY": "동시성",
    "SAVE": "저장"
  },
  "ADD_JOB": {
    "TITLE": "작업 추가",
    "TITLE_duplicate": "작업 복제",
    "QUEUE_NAME": "큐 이름",
    "JOB_NAME": "작업 이름",
    "JOB_DATA": "작업 데이터",
    "JOB_OPTIONS": "작업 옵션",
    "ADD": "추가",
    "DUPLICATE": "복제"
  },
  "UPDATE_JOB_DATA": {
    "TITLE": "작업 데이터 업데이트",
    "UPDATE": "업데이트",
    "JOB_DATA": "작업 데이터"
  },
  "CLIPBOARD": {
    "COPY_FAILED": "클립보드에 복사하지 못했습니다. 브라우저가 이 기능을 지원하지 않거나 페이지가 HTTPS를 통해 제공되지 않을 수 있습니다."
  },
  "ERRORS": {
    "INTERNAL_SERVER_ERROR": "서버 내부 오류",
    "INVALID_BEFORE_DATE": "before 값이 올바르지 않습니다. YYYY-MM-DD 형식이어야 합니다",
    "INVALID_CONCURRENCY": "동시성 값이 올바르지 않습니다",
    "INVALID_DATE_RANGE": "from/to 범위가 올바르지 않습니다",
    "INVALID_GRANULARITY": "granularity가 올바르지 않습니다: {{granularity}}",
    "INVALID_QUEUE": "큐가 올바르지 않습니다",
    "INVALID_SCHEDULER_END_DATE": "종료 날짜는 미래여야 합니다",
    "INVALID_SCHEDULER_INTERVAL": "간격은 양수 밀리초여야 합니다",
    "INVALID_SCHEDULER_LIMIT": "최대 실행 횟수는 양의 정수여야 합니다",
    "INVALID_SCHEDULER_PATTERN": "일정이 거부되었습니다. cron 패턴을 확인하세요",
    "INVALID_SCHEDULER_SCHEDULE": "cron 패턴 또는 간격 중 하나만 설정하세요",
    "JOB_BELONGS_TO_JOB_SCHEDULER": "작업이 작업 스케줄러에 속해 있습니다",
    "JOB_BELONGS_TO_JOB_SCHEDULER_DETAILS": "작업 {{jobId}}은(는) 작업 스케줄러 \"{{jobSchedulerId}}\"의 다음 실행 건이라 단독으로 삭제할 수 없습니다. 스케줄을 중단하려면 작업 스케줄러를 삭제하세요.",
    "JOB_IS_ACTIVE": "작업이 실행 중입니다",
    "JOB_IS_ACTIVE_DETAILS": "작업 {{jobId}}은(는) 워커가 처리 중이므로 완료될 때까지 삭제할 수 없습니다.",
    "JOB_NOT_FOUND": "작업을 찾을 수 없습니다",
    "JOB_NOT_RETRIABLE": "작업이 \"{{state}}\" 상태여서 재시도할 수 없습니다",
    "JOB_SCHEDULER_EDIT_NOT_SUPPORTED": "이 큐 유형은 일정 편집을 지원하지 않습니다",
    "JOB_SCHEDULER_NOT_FOUND": "작업 스케줄러를 찾을 수 없습니다",
    "QUEUE_NOT_FOUND": "큐를 찾을 수 없습니다",
    "QUEUE_NOT_PAUSED": "완전 삭제하기 전에 큐를 일시 중지해야 합니다",
    "QUEUE_READ_ONLY": "읽기 전용 큐에서는 허용되지 않는 작업입니다",
    "REDIS_STATS_UNAVAILABLE": "이 큐의 백엔드에서는 Redis 세부 정보를 사용할 수 없습니다",
    "STATUS_NOT_RETRIABLE": "\"{{status}}\"은(는) 재시도할 수 있는 상태가 아닙니다",
    "WORKERS_DISABLED": "워커 정보 표시가 비활성화되어 있습니다",
    "INVALID_METRIC": "잘못된 메트릭"
  },
  "METRICS_HISTORY": {
    "TITLE": "메트릭 기록",
    "EMPTY": "기록된 내역이 아직 없습니다.",
    "TOTAL_COMPLETED": "완료 합계",
    "TOTAL_FAILED": "실패 합계",
    "RANGE_7D": "7일",
    "RANGE_30D": "30일",
    "RANGE_90D": "90일",
    "BY_QUEUE": "큐별",
    "ACTIONS": "메트릭 기록 작업",
    "QUEUE": "큐",
    "COMPLETED": "완료됨",
    "FAILED": "실패",
    "RUNS": "실행",
    "P95_RUNTIME": "실행 시간 p95",
    "P95_RUN_TIME": "실행 시간 p95",
    "P95_WAIT_TIME": "대기 시간 p95",
    "NOT_AVAILABLE": "없음",
    "BAR_LABEL": "완료 {{completed}}, 실패 {{failed}}",
    "FAILURE_RATE": "실행의 {{rate}}가 실패",
    "STORAGE": {
      "TITLE": "저장소",
      "EMPTY": "아직 저장된 데이터가 없습니다.",
      "TOTAL": "합계",
      "MINUTE_TIER": "분 단위 상세",
      "HOUR_TIER": "시간별",
      "DAY_TIER": "일별 합계",
      "RANGE": "기록됨",
      "SIZE": "크기",
      "MINUTES": "분",
      "TIER_NOTE": "분 단위 상세가 가장 큰 계층입니다. 차트는 일별 합계를 읽으므로 분 단위 보존 기간을 줄이면 여기 표시되는 내용을 변경하지 않고 저장 공간을 줄일 수 있습니다.",
      "TRIM_BTN": "마지막 {{range}}만 유지",
      "CLEAR_BTN": "모든 기록 지우기",
      "CONFIRM_TITLE": "기록된 메트릭 내역을 삭제하시겠습니까?",
      "CONFIRM_TRIM": "{{date}} 이전에 기록된 모든 데이터가 삭제되고 마지막 {{range}}만 유지됩니다. 이 작업은 되돌릴 수 없으며 삭제된 일자는 차트에 더 이상 표시되지 않습니다.",
      "CONFIRM_CLEAR": "모든 큐에 대해 기록된 {{size}}의 내역이 삭제됩니다. 이 작업은 되돌릴 수 없습니다. 기록은 계속되므로 다음 스냅샷부터 새 데이터가 누적됩니다."
    }
  },
  "SCHEDULERS": {
    "TITLE": "스케줄러",
    "EMPTY": "등록된 스케줄러가 없습니다.",
    "FILTER_BY_QUEUE": "큐로 필터링",
    "ALL_QUEUES": "모든 큐",
    "TEMPLATE": "작업 템플릿",
    "EVERY": "{{interval}}마다",
    "OF_LIMIT": "/ {{limit}}",
    "COLUMNS": {
      "SCHEDULER": "스케줄러",
      "QUEUE": "큐",
      "SCHEDULE": "일정",
      "NEXT_RUN": "다음 실행",
      "LAST_RUN": "마지막 실행",
      "RUNS": "실행 횟수"
    },
    "INTERVAL": {
      "MILLISECONDS": "{{count}}ms",
      "SECONDS": "{{count}}s",
      "MINUTES": "{{count}}m",
      "HOURS": "{{count}}h",
      "DAYS": "{{count}}d"
    },
    "ACTIONS": {
      "EDIT": "일정 편집",
      "REMOVE": "스케줄러 삭제"
    },
    "CONFIRM": {
      "REMOVE": "스케줄러 \"{{id}}\"을(를) 삭제하시겠습니까? 애플리케이션이 다시 등록할 때까지 이후 실행이 중단됩니다."
    },
    "TOAST": {
      "REMOVE_PENDING": "스케줄러 {{id}} 삭제 중",
      "REMOVE_DONE": "스케줄러 {{id}} 삭제됨",
      "UPDATE_PENDING": "스케줄러 {{id}} 업데이트 중",
      "UPDATE_DONE": "스케줄러 {{id}} 업데이트됨"
    },
    "EDIT": {
      "TITLE": "스케줄러 {{id}} 편집",
      "DESCRIPTION": "일정만 변경됩니다. 생성되는 작업의 이름, 데이터, 옵션은 그대로 유지됩니다.",
      "OVERWRITE_NOTE": "애플리케이션이 재시작하면서 이 스케줄러를 다시 등록할 수 있으며, 그때 여기서 설정한 일정은 덮어써집니다.",
      "SAVE": "저장",
      "KIND": "일정 유형",
      "KIND_PATTERN": "cron 패턴",
      "KIND_EVERY": "간격",
      "PATTERN": "cron 패턴",
      "TZ": "시간대",
      "EVERY": "간격 (ms)",
      "LIMIT": "최대 실행 횟수",
      "END_DATE": "종료 날짜"
    }
  }
}
