{
  "title": "프로젝트",
  "subtitle": "",
  "create": "프로젝트 생성",
  "createHint": "생성 후 세부정보를 열어 리소스를 배포, 게시, 조정하세요.",
  "empty": "아직 프로젝트가 없습니다.",
  "emptyHint": "첫 번째 프로젝트를 만든 후 Nginx 배포 및 게시",
  "emptyFilter": "일치하는 프로젝트가 없습니다.",
  "emptyFilterHint": "검색 지우기 또는 런타임 필터 변경",
  "name": "이름",
  "domain": "도메인(선택사항)",
  "detail": "프로젝트 세부정보",
  "deploy": "배포",
  "deployPhp": "PHP 배포",
  "stop": "멈추다",
  "health": "건강검진",
  "publishNginx": "Nginx 게시",
  "publishNginxSsl": "Nginx + SSL 게시",
  "opsResult": "작업 결과",
  "runtime": "실행 시간",
  "template": "템플릿(선택사항)",
  "templateNone": "- 없음 -",
  "searchPlaceholder": "이름, 도메인, ID 검색…",
  "listDesc": "이 호스트에서 사이트를 관리하세요.",
  "filterAll": "모든 런타임",
  "statTotal": "총",
  "statRunning": "달리기",
  "statDegraded": "타락한",
  "statUnhealthy": "위험한",
  "statStopped": "중지됨/준비됨",
  "statStoppedOnly": "중지됨",
  "statReadyOnly": "준비됨",
  "statPendingOs": "보류 중인 OS",
  "status": {
    "failed": "실패한",
    "failedHint": "배포 또는 상태 확인 실패 - 로그 확인",
    "unhealthy": "위험한",
    "unhealthyHint": "프로세스가 실행되었지만 상태 확인에 실패했습니다.",
    "pendingOs": "OS 사용자 보류 중",
    "pendingOsHint": "시스템 사용자가 프로비저닝되지 않았습니다.",
    "degraded": "실행 중(성능 저하)",
    "degradedHint": "프로세스가 작동 중이지만 전체 프로덕션 모드가 아닙니다(예: 비루트/pidfile)",
    "deploying": "배포 중",
    "published": "게시됨",
    "publishedHint": "Nginx 구성이 작성되었습니다. 프로세스가 별개일 수 있음",
    "running": "달리기",
    "stopped": "중지됨",
    "ready": "준비됨",
    "readyHint": "생성됨 — 시작하려면 배포하세요",
    "unknown": "알 수 없음"
  },
  "checklist": {
    "title": "발사 경로",
    "desc": "트래픽을 처리하려면 다음 단계를 완료하세요.",
    "created": "생성됨",
    "os": "OS 사용자",
    "deploy": "배포",
    "nginx": "엔진엑스",
    "health": "건강"
  },
  "next": {
    "pendingOsTitle": "시스템 사용자가 프로비저닝되지 않았습니다.",
    "provisionOsAction": "시스템 사용자 생성",
    "pendingOsBody": "이 프로젝트에는 아직 격리된 시스템 사용자가 없습니다.",
    "pendingOsActions": "여전히 배포할 수 있습니다. 전체 격리에는 호스트에 대한 관리자 권한이 필요합니다.",
    "deployTitle": "다음: 배포",
    "deployBody": "헤더의 배포를 사용하거나 Git의 배포 탭을 사용하세요.",
    "nginxTitle": "다음: Nginx 게시",
    "nginxBody": "네트워크 탭을 열어 Nginx(SSL 옵션)를 게시하세요."
  },
  "healthDetail": {
    "none": "아직 건강검진이 없습니다",
    "overall": "결과",
    "nginxStatus": "Nginx 상태",
    "nginxReloaded": "Nginx 리로드",
    "httpStatus": "HTTP",
    "latency": "숨어 있음",
    "error": "오류",
    "at": "확인 시간",
    "deployMode": "배포 모드",
    "edgeKind": "가장자리",
    "goLiveOk": "라이브 시작",
    "goLiveAt": "라이브 시작:",
    "degraded": "타락한"
  },
  "railPhp": "PHP / 사이트",
  "railStatic": "정적 사이트",
  "sectionPhpDeploy": "PHP 배포",
  "sectionPhpDeployDesc": "PHP 사이트/풀 작성 및 허용 시 적용",
  "sectionStaticDeploy": "정적 콘텐츠",
  "sectionStaticDeployDesc": "정적 사이트는 파일 + Nginx를 사용합니다. 노드 프로세스가 없습니다.",
  "staticDeployHint": "Git을 통해 콘텐츠를 가져온 다음 네트워크 아래에 Nginx를 게시하세요.",
  "noDomain": "도메인 없음",
  "lastDeploy": "마지막 배포",
  "neverDeployed": "배포되지 않음",
  "created": "생성됨 {{name}}",
  "backToList": "프로젝트로 돌아가기",
  "openUrl": "URL 열기",
  "openUrlNeedDomain": "먼저 도메인을 설정하세요. 브라우저에서 127.0.0.1을 열지 마세요.",
  "needOsUser": "먼저 격리 탭에서 시스템 사용자를 생성합니다.",
  "goIsolation": "격리 탭 열기",
  "homeMissing": "홈 디렉토리가 존재하지 않습니다",
  "homeMissingHint": "인벤토리 마이그레이션과 동일한 라이브 프로브 — 격리에서 시스템 사용자 생성",
  "stopTitle": "이 프로젝트를 중지하십시오(시스템 장치 및 공개 사이트).",
  "deployTitle": "이 프로젝트 배포",
  "httpStatsHint": "이 프로젝트의 액세스 로그에서(마지막 샘플)",
  "httpStatsNone": "아직 프로젝트 액세스 로그가 없습니다.",
  "notFound": "프로젝트를 찾을 수 없습니다",
  "home": "홈 디렉토리",
  "env": "환경",
  "backup": "지원",
  "resources": "자원",
  "quotaUnlimited": "할당량 없음",
  "lastHealth": "마지막 건강",
  "tabOverview": "개요",
  "tabDeploy": "배포",
  "tabApp": "앱",
  "tabNetwork": "네트워크",
  "tabResources": "자원",
  "tabIsolation": "격리",
  "tabLogs": "로그",
  "tabAdvanced": "고급의",
  "tabMore": "더",
  "createGoLive": "생성 후 Nginx 배포 및 게시",
  "createPreferredPort": "고정 포트(옵션)",
  "goLiveOk": "배포 및 게시됨",
  "goLivePartial": "생성됨 배포/게시 미완료",
  "nginxLive": "살다",
  "nginxWritten": "쓴",
  "nginxNeedsDeploy": "배포 필요",
  "nginxFailed": "게시 실패",
  "netEdgeStatus": "엣지 상태",
  "netUpstream": "업스트림",
  "netPortTitle": "프로세스 포트",
  "netCurrentPort": "현재 포트",
  "netPublishTitle": "게시",
  "netConfPreview": "회의",
  "savePublishSsl": "저장 및 게시 + SSL",
  "retryLiveTitle": "라이브 시작이 완료되지 않았습니다.",
  "retryLiveBody": "배포 또는 Nginx 게시가 완료되지 않았습니다. 아래에서 다시 시도해 보세요.",
  "retryDeploy": "배포 재시도",
  "retryPublish": "Nginx 게시 다시 시도",
  "preferredPortRedeployHint": "프로세스가 이 포트를 사용하도록 저장한 후 다시 배포하세요.",
  "railProcess": "프로세스",
  "railNginx": "엔진스",
  "railOs": "OS 사용자",
  "railHealth": "건강",
  "nginxPublished": "구성이 게시되었습니다.",
  "nginxNone": "게시되지 않음",
  "osProvisioned": "시스템 사용자 프로비저닝",
  "osPending": "OS 격리 보류 중",
  "healthOk": "건강한",
  "healthBad": "실패한",
  "healthUnknown": "체크하지 않음",
  "sectionRuntimeDeploy": "런타임 배포",
  "sectionRuntimeDeployDesc": "이 프로젝트 런타임(노드/PHP)에 대한 프로세스를 시작합니다.",
  "sectionGit": "Git 배포",
  "sectionGitDesc": "Git에서 끌어와 재배포",
  "sectionEnv": "환경 변수",
  "sectionEnvDesc": "프로젝트 .env에 KEY=value 행을 작성합니다.",
  "gitUrl": "힘내 URL",
  "gitDeploy": "Git 배포",
  "envFile": "환경(.env)",
  "saveEnv": "환경 저장",
  "sectionNginx": "Nginx 및 SSL",
  "sectionNginxDesc": "사이트 구성 작성 및 적용",
  "domainHint": "더 깔끔한 게시를 위해 생성 시 도메인을 설정하세요.",
  "sectionQuota": "디스크 할당량",
  "sectionQuotaDesc": "홈 디렉터리 크기(MiB) 제한",
  "sectionLimits": "CPU / 메모리",
  "sectionLimitsDesc": "체계화된 한계; 유닛을 적용하기 위해 재배치",
  "quotaMb": "할당량(MiB)",
  "memoryMax": "메모리맥스",
  "cpuQuota": "CPU 할당량 %",
  "setQuota": "할당량 설정",
  "setResources": "자원 한도 저장",
  "sectionLogs": "애플리케이션 로그",
  "sectionLogsDesc": "프로젝트 홈 아래의 최근 로그 파일 추적",
  "viewLogs": "로그 로드",
  "logsEmpty": "아직 로드된 로그가 없습니다.",
  "logsNoFiles": "(아직 로그 파일이 없습니다. 먼저 배포하세요)",
  "sectionAdvanced": "기타 작업",
  "sectionAdvancedDesc": "백업 및 템플릿 콘텐츠",
  "downloadWp": "워드프레스 다운로드",
  "dangerZone": "위험지대",
  "dangerZoneDesc": "삭제는 프로젝트 기록 및 관련 리소스를 제거합니다.",
  "delete": "프로젝트 삭제",
  "confirmStopTitle": "이 프로젝트를 중단하시겠습니까?",
  "confirmStopDesc": "그러면 “{{name}}”에 대한 실행 프로세스가 중지됩니다.",
  "confirmDeleteTitle": "이 프로젝트를 삭제하시겠습니까?",
  "confirmDeleteDesc": "'{{name}}'을 삭제하시겠습니까? 이 작업은 UI에서 취소할 수 없습니다.",
  "close": "닫기",
  "statProjects": "{{count}} 프로젝트",
  "noProjectsShort": "아직 프로젝트가 없습니다.",
  "runtimeStatic": "공전",
  "logsLoadFailed": "로그를 로드하지 못했습니다.",
  "deleteFailed": "삭제 실패",
  "tabAbout": "설명",
  "statusLabel": "상태",
  "userLabel": "사용자",
  "nginxValuePublished": "게시됨",
  "nginxValueNone": "게시되지 않음",
  "osValueReady": "준비됨",
  "osValuePending": "보류 중",
  "openFiles": "파일",
  "enableCdn": "CDN 활성화",
  "openLogs": "로그",
  "osUserReadyMsg": "시스템 사용자가 준비되었습니다. {{detail}}",
  "osUserNeedRoot": "시스템 사용자를 생성할 수 없습니다. YSK_EXECUTE + 루트가 필요합니다. {{detail}}",
  "osUserIncomplete": "시스템 사용자 프로비저닝이 완료되지 않았습니다.",
  "saveLogDirsFailed": "로그 디렉터리를 저장하지 못했습니다.",
  "createName": "프로젝트 이름",
  "noPathSepHint": "이름에는 / 또는 \\가 포함될 수 없습니다.",
  "createRuntime": "실행 시간",
  "createRuntimeHint": "나중에 세부적으로 배포 옵션을 변경할 수 있습니다.",
  "createVersion": "버전",
  "createVersionHint": "Runtime_version으로 저장됩니다. 배포/FPM에 사용됨",
  "createVersionAria": "런타임 버전",
  "createPrimaryDomain": "기본 도메인",
  "createPrimaryDomainHint": "지금은 선택사항",
  "createAliases": "별칭",
  "createAliasesHint": "쉼표 또는 개행으로 구분됨",
  "createTemplate": "주형",
  "createTemplateHint": "하나의 헬로 월드! 런타임별 데모; 템플릿을 선택하면 해당 런타임이 설정됩니다.",
  "createTemplateNote": "템플릿은 뼈대만 작성합니다. 빌드/시작을 위해 배포합니다.",
  "createRuntimeNow": "현재 런타임:",
  "createTemplateFooter": ". 더 빠르게 시작하거나 비워두는 선택적 템플릿입니다.",
  "createDraftResources": "또한 도메인을 사용하여 초안 리소스를 만듭니다.",
  "createNeedDomainFirst": "초안 옵션이 함께 적용되도록 기본 도메인을 먼저 입력하세요.",
  "createDnsZone": "DNS 영역도 생성",
  "createDnsZoneDesc": "관리 초안만 작성합니다. 실시간 권한 있는 DNS는 작성하지 않습니다.",
  "createMailDomain": "메일 도메인도 등록하세요",
  "createMailDomainDesc": "메일함을 완성하고 나중에 메일페이지에서 신청하세요",
  "createServerIpv4": "서버 IPv4",
  "createServerIpv4Hint": "DNS/메일 템플릿의 경우",
  "createServerIpv4Ph": "이 호스트의 공개 IPv4",
  "createServerIpv6": "서버 IPv6(선택 사항)",
  "createServerIpv6Ph": "공용 IPv6(선택사항)",
  "sshCardDesc": "로그인 키는 입장할 수 있는 사람을 결정합니다.",
  "sshLoginKeys": "로그인 공개 키가 허용됨",
  "sshKeyCount": "{{count}} 키",
  "sshOutbound": "아웃바운드 ID",
  "sshOutboundNone": "생성되지 않음",
  "sshOutboundCreated": "아웃바운드 ID 생성됨(개인 키 암호화됨)",
  "sshCreateFailed": "생성 실패",
  "sshWriteTried": "디스크에 쓰기를 시도했습니다.",
  "sshOutboundHint": "생성 후 이 프로젝트 사용자는 git/scripts 아웃바운드를 사용할 수 있습니다.",
  "sshCreateOutbound": "아웃바운드 ID 만들기",
  "sshWriteHome": "home/.ssh 쓰기",
  "sshOpenWorkspace": "SSH 작업공간 열기",
  "sshManageLoginKeys": "로그인 키 관리",
  "logsSectionDesc": "로그/, 로그/ 및 추가 디렉토리를 스캔합니다. 이름이나 콘텐츠 키워드로 검색",
  "logsNameSearch": "파일명 검색",
  "logsNameSearchHint": "상대 경로 일치(예: 오류, app.out",
  "logsContentKw": "콘텐츠 키워드",
  "logsContentKwHint": "파일 테일 검색(전체 파일 아님)",
  "logsSearch": "검색",
  "logsRescan": "다시 스캔",
  "logsRefreshFile": "이 파일 새로 고침",
  "logsCopy": "콘텐츠 복사",
  "logsDownloadTail": "꼬리 다운로드",
  "logsCenter": "로그 센터",
  "logsHitsTitle": "조회수가 있는 {{count}} 파일 — 꼬리를 열려면 클릭하세요(키워드 필터 사용)",
  "logsLinesHit": "{{count}} 라인 히트",
  "logsFileCount": "로그 파일 {{count}}",
  "logsNameFilter": "(이름에는 “{{q}}”이 포함됨)",
  "logsScanning": "로그 스캔 중…",
  "logsNoneYet": "아직 로그 파일이 없습니다. 배포/실행 후에 나타납니다. 추가 디렉토리도 작동합니다.",
  "logsNoContent": "아직 콘텐츠가 없습니다.",
  "logsRelated": "관련 소스",
  "logsRelatedDesc": "저널 / nginx / PHP-FPM (로그 센터 참조)",
  "logsAvailable": "사용 가능",
  "logsMissing": "없어진",
  "logsOpenInCenter": "로그 센터에서 열기",
  "logsExtraDirs": "추가 로그 디렉터리",
  "logsExtraDirsDesc": "프로젝트 홈에 상대적인 경로(logs/ 및 log/ 제외)",
  "logsDirList": "디렉토리 목록",
  "logsDirListHint": "한 줄에 하나씩; 홈 상대 경로만",
  "logsReset": "다시 놓기",
  "logsSaveScan": "저장 및 스캔",
  "logsDefaultNote": "항상 로그/ 및 로그/를 검사합니다. 추가 디렉토리에는 *.log / *.out / *.err만 포함됩니다.",
  "resOsTitle": "시스템 사용자 격리",
  "resOsDesc": "각 프로젝트에는 고유한 Linux 사용자가 있습니다.",
  "resLinuxUser": "리눅스 사용자",
  "resOsIsolation": "OS 격리",
  "resOsReady": "준비됨",
  "resOsNotCreated": "생성되지 않음(관리자 필요)",
  "resHomeDir": "홈 디렉토리",
  "resCanonical": "의도된 경로",
  "resUserMissing": "사용자 누락",
  "resShellLive": "라이브 쉘/락",
  "resLocked": "잠김",
  "resUnlocked": "잠금 해제됨",
  "resHomeMode": "홈 모드",
  "resHomeExists": "있음 · 모드 {{mode}}",
  "resHomeMissing": "없어진",
  "resIsolationOn": "외딴",
  "resIsolationPending": "격리 대기 중",
  "resOsHint": "프로세스는 프로젝트 사용자로 실행됩니다.",
  "resProvisionUser": "시스템 사용자 생성/수리",
  "resRefreshStatus": "새로고침 상태",
  "resFixHome": "주택 소유권 문제 해결",
  "resMigrateHome": "/home/ysk-server-…로 마이그레이션합니다.",
  "resQuotaDesc": "소프트 할당량(배포 전 du) + setquota가 존재할 때 하드 적용",
  "resQuotaHint": "예를 들어 1024 = 1GiB",
  "resSetSoftQuota": "소프트 할당량 저장",
  "resLimitsTitle": "프로세스 및 계정 제한",
  "resLimitsDesc": "systemd MemoryMax / CPUQuota / TasksMax / NOFILE + 쉘 / 잠금",
  "resLimitsDescSystemd": "systemd cgroup: MemoryMax / CPUQuota / TasksMax / NOFILE + 쉘 / 잠금",
  "resLimitsDescPm2": "PM2: 메모리는 max_memory_restart에 매핑됩니다. 다른 제한은 systemd를 사용합니다.",
  "resRunnerSystemd": "프로세스 관리자: systemd",
  "resRunnerPm2": "프로세스 관리자: PM2",
  "resMemMax": "최대 메모리",
  "resMemHint": "예를 들어 512M 또는 1G",
  "resMemHintSystemd": "systemd MemoryMax(cgroup 하드 캡, 예: 512M 또는 1G)",
  "resMemHintPm2": "생태계 max_memory_restart(cgroup 종료가 아닌 다시 시작 임계값)를 작성합니다.",
  "resFieldSystemdOnly": "systemd cgroup에만 해당; systemd로 다시 전환할 때를 위해 여전히 DB에 저장되어 있습니다.",
  "resCpuHint": "100 = CPU 1개",
  "resCustomPct": "관습 %",
  "resTasksHint": "최대 작업",
  "resNofileHint": "열린 파일 제한",
  "resShellHint": "기본 nologin",
  "resShellBashRisk": "강타 · 위험",
  "resLockAccount": "Linux 계정 잠금",
  "resLockDesc": "사용자모드 -L; 잠금 해제하려면 선택을 취소하세요.",
  "resLimitsHint": "저장 및 적용은 DB에 쓰고 usermod / setquota / systemctl set-property를 시도합니다.",
  "resLimitsHintSystemd": "허용되는 경우 쓰기 패널 상태 및 OS/시스템 제한을 저장하고 적용합니다.",
  "resLimitsHintPm2": "저장 및 적용은 패널 상태 및 PM2 메모리 제한을 기록합니다.",
  "resSaveApply": "OS에 제한 저장 및 적용",
  "resSaveControlOnly": "메모리/CPU를 제어 영역에만 저장",
  "resReapply": "1회 재신청(양식 변경 없음)",
  "resMigrateDone": "마이그레이션 완료",
  "resMigrateIncomplete": "마이그레이션이 완료되지 않았습니다.",
  "resMigrateTitle": "시스템 사용자 홈을 마이그레이션하시겠습니까?",
  "resMigrateDesc": "/home/ysk-server-{id}로 마이그레이션하고 시스템 사용자를 생성/복구합니다.",
  "resMigrate": "마이그레이션",
  "resWrittenOnly": "제어 플레인에 기록됩니다. OS가 적용되지 않았습니다(루트 필요). {{notes}}",
  "resAppliedOs": "OS에 적용되는 제한 사항입니다. {{notes}}",
  "resSaved": "저장됨",
  "resIncomplete": "불완전한",
  "resApplyLimitsFailed": "한도를 적용하지 못했습니다.",
  "resApplied": "적용된",
  "resApplyFailed": "적용 실패",
  "resChownOk": "완전하다",
  "resChownFailed": "chown 실패",
  "netSavedPublished": "네트워크가 저장되고 Nginx가 게시되었습니다.",
  "netSavedOnly": "네트워크 설정이 저장됨(게시되지 않음)",
  "netSaveFailed": "저장 실패",
  "netSuspended": "프로젝트가 일시 중지됨 - 방문자는 503을 받습니다. 일시 중지를 해제한 후 게시하세요.",
  "netDomainTitle": "도메인",
  "netDomainDesc": "기본 도메인 및 별칭 저장은 Nginx 관리 구성을 작성할 수도 있습니다.",
  "netPrimaryDomain": "기본 도메인",
  "netPrimaryHint": "방문자 도메인(예: app.example.com",
  "netAliases": "별칭",
  "netAliasesHint": "한 줄에 하나씩, 예: www 또는 블로그 하위 도메인",
  "netNeedPrimary": "기본 도메인을 먼저 입력하세요.",
  "netHttpsTitle": "HTTPS 및 사이트 리디렉션",
  "netHttpsDesc": "저장 후 Nginx를 게시하세요. 전체 사이트 301은 프록시/PHP/정적 콘텐츠를 재정의합니다.",
  "netForceHttps": "강제 HTTPS",
  "netForceHttpsDesc": "HTTP → HTTPS(301); SSL 인증서 및 SSL 게시가 필요합니다.",
  "netForceHttpsOn": "Edge를 게시하면 HTTP가 HTTPS로 리디렉션됩니다.",
  "netForceHttpsOff": "강제 리디렉션이 저장되지 않습니다.",
  "netBoundCert": "바인딩된 인증서",
  "netBoundCertExpiry": "만료 {{at}}",
  "netNoBoundCert": "이 호스트 이름의 인증서가 디스크에 없습니다",
  "netForceHttpsNeedCert": "HTTPS를 강제하기 전에 /ssl에서 이 도메인 인증서를 발급하세요.",
  "netHttpsLiveNotForced": "Edge 파일이 존재합니다. HTTPS가 이미 작동할 수도 있습니다. 이 상자는 HTTP→HTTPS만 강제합니다.",
  "netHsts": "HSTS 활성화",
  "netHstsDesc": "브라우저는 HTTPS를 고수합니다(HTTPS 강제 적용 후 권장).",
  "netHstsNeedHttps": "강제 HTTPS를 먼저 켜십시오.",
  "netRedirectUrl": "전체 사이트 리디렉션 URL",
  "netRedirectHint": "선택 과목. 전체사이트 301번을 이 URL로 (이동/apex→www)",
  "netBasicAuthTitle": "HTTP 기본 인증(브라우저 로그인)",
  "netBasicAuthDesc": "게시 시 htpasswd를 씁니다. 빈 사용자 이름 = 꺼짐. 빈 비밀번호 = 계속 저장됨",
  "netAuthUserHint": "비어 있으면 인증이 비활성화됩니다.",
  "netAuthPassHint": "처음으로 필요합니다. 나중에 보관하려면 비워 두세요.",
  "netAuthPassSet": "비밀번호 설정 또는 업데이트",
  "netCacheNote": "기본적으로 정적/PHP 정적 캐시 제어 7d; 제거는 호스트 nginx 캐시 디렉토리를 지웁니다(YSK_EXECUTE 필요).",
  "netPurgeOk": "캐시 제거를 시도했습니다.",
  "netPurgeFailed": "제거 실패",
  "netDocrootTitle": "사이트 디렉터리(docroot)",
  "netDocrootDesc": "프로젝트 홈과 관련하여; 게시 시 Nginx 루트로 사용됨(기본 앱/공개)",
  "netDocrootLabel": "문서 루트",
  "netDocrootFull": "전체 경로: {{path}}",
  "netDocrootCustom": "사용자 정의 상대 경로…",
  "netAdvancedTitle": "고급 및 게시",
  "netAdvancedDesc": "IP 바인딩, Nginx 시스템에 게시",
  "netCollapseBind": "바인드 IP 접기",
  "netExpandBind": "바인드 IP 확장",
  "netBindIp": "IP 바인딩",
  "netBindHint": "비어 있음 = 모든 인터페이스",
  "netBindPh": "비어 있음 = 모두; 또는 IP 바인딩",
  "netNeedDomainSave": "기본 도메인을 먼저 입력하고 저장하세요.",
  "ovUsed": "사용된",
  "ovQuota": "몫",
  "ovQuotaUnset": "설정되지 않음",
  "ovQuotaStatus": "할당량 상태",
  "ovOverQuota": "할당량 초과",
  "ovQuotaOk": "OK",
  "ovDocroot": "문서 루트",
  "ovAccessSample": "샘플에 액세스",
  "ovLines": "{{count}} 줄",
  "ovDailyDays": "일일 통계 일수",
  "ovDailyTitle": "일일 방문 통계(최대 60일)",
  "ovDailyDesc": "액세스 로그 샘플에서 롤링",
  "ovQuickTitle": "사이트 바로가기",
  "ovQuickDesc": "게시 및 백업(헤더 또는 배포 탭을 통한 기본 배포)",
  "ovNeedNetworkDomain": "먼저 네트워크 탭에서 도메인을 설정하세요.",
  "ovPublishNginx": "Nginx 게시",
  "ovPublishSsl": "Nginx + SSL 게시",
  "ovBackupProject": "이 프로젝트를 백업하세요",
  "ovOpenFiles": "프로젝트 파일 열기",
  "ovNoDomainHint": "도메인 없음 — 게시하기 전에 네트워크 탭에서 설정하세요.",
  "ovPublishNote": "게시 쓰기 관리 구성; 라이브 Nginx 다시 로드에는 시스템 변경 권한이 필요합니다.",
  "ovStatic": "공전",
  "ovAliases": "별칭",
  "ovForceOn": "강요된",
  "ovForceOff": "강요하지 않음",
  "advFtpCreated": "FTP {{user}} 생성됨(초안 — FTPS 페이지에서 적용)",
  "advCreateFailed": "생성 실패",
  "advFtpFailed": "FTP 생성 실패",
  "advMaintTitle": "유지",
  "advMaintDesc": "백업, 일시 중지/재개, 옵션 도구",
  "advBackupProject": "이 프로젝트를 백업하세요",
  "advOneClickWp": "원클릭 WordPress(다운로드 + 설정)",
  "advSuspendedHint": "일시 중지됨: 프로세스가 중지되고 방문자에게 503이 표시됩니다.",
  "advSuspendHint": "일시 중지하면 프로세스가 중지되고 503 유지 관리 페이지가 표시됩니다.",
  "advFtpTitle": "프로젝트 FTP(경로 감옥)",
  "advFtpDesc": "프로젝트 앱 디렉토리에 계정이 감금되었습니다. 생성 후 FTPS 서비스 페이지에서 적용",
  "advFtpUserHint": "선택 과목; 시스템이 생성할 수 있는",
  "advFtpPassHint": "8자 이상",
  "advDangerTitle": "위험지대",
  "advDangerDesc": "삭제는 UI에서 실행 취소할 수 없습니다. 먼저 백업하세요.",
  "advDelete": "프로젝트 삭제",
  "deployPyHint": "기본값: venv + pip; uvicorn을 통한 ASGI, gunicorn을 통한 Django.",
  "deployGoHint": "기본값: go build -o app . 그런 다음 ./app; 바이너리가 있으면 빌드를 건너뜁니다.",
  "deployRustHint": "기본값: 화물 빌드 --release 다음으로 target/release/{crate}; 선택적으로 빌드를 건너뜁니다.",
  "deployNodeHint": "노드 프로세스 시작(기본값 server.js 입력) prod에서는 systemd를 권장합니다.",
  "deployDefaultHint": "런타임별로 시작합니다. 적용 후에만 외부.",
  "deployOsStep": "격리된 Linux 사용자 + /home/ysk-server-{project id}(리소스 탭 생성 가능)",
  "deployPyReady": "Python 런타임 준비됨",
  "deployPipNet": "요구사항.txt에는 아웃바운드 pip가 필요합니다.",
  "deployCheckPort": "배포 후 포트 및 /health를 확인하세요.",
  "deployPublishProxy": "Nginx 역방향 프록시 게시",
  "deployToolchainReady": "{{runtime}} 툴체인 준비됨",
  "deployFirstBuild": "첫 번째 배포 빌드(시간이 걸릴 수 있음)",
  "deployNeedBinary": "성공적인 빌드 후에만 바이너리",
  "deployPhpFpmOk": "PHP-FPM 버전 OK",
  "deployPhpPool": "PHP 배포/풀 적용",
  "deployNginxSsl": "Nginx 게시 + 선택적 SSL",
  "deployPublicContent": "공개 확인/콘텐츠 있음",
  "deployNetPublish": "네트워크 탭에 Nginx 게시",
  "deployConfirmToolchain": "런타임 페이지에 설치된 툴체인 확인(또는 호스트에 있음)",
  "deployConfirmCode": "앱 확인/코드 있음(템플릿 또는 Git)",
  "deployPressDeploy": "배포를 누르세요. 그런 다음 네트워크에 Nginx를 게시하세요.",
  "deployVersionSaved": "{{runtime}} 버전 {{version}} 저장됨(배포 시 사용됨)",
  "deployVersionSaveFailed": "런타임 버전을 저장하지 못했습니다.",
  "deployInstallingToolchain": "툴체인 설치/확인 중…",
  "deployToolchainIncomplete": "툴체인 설치가 완료되지 않았습니다(권한 또는 네트워크). 런타임 페이지를 사용해 보세요",
  "deployToolchainDone": "툴체인 단계 완료, 배포 시작 중…",
  "deployToolchainFailed": "툴체인 설치 실패",
  "deployChecklistTitle": "생성됨 — 체크리스트 배포",
  "deployChecklistDesc": "{{runtime}} 스켈레톤 준비; 트래픽 처리 단계 완료",
  "deploySectionTitle": "{{runtime}} 배포",
  "deploySectionDesc": "{{runtime}} 프로세스 시작(port / systemd 또는 pidfile)",
  "deployPhpVersion": "PHP 버전",
  "deployPhpVersionHint": "이 사이트의 PHP 버전(일치하는 FPM이 설치되어 있어야 함)",
  "deployRuntimeVersion": "{{runtime}} 버전",
  "deployRuntimeVersionHint": "프로젝트에 저장되었습니다. 배포에 사용됩니다. 런타임 페이지에 설치",
  "deployRuntimeVersionCreateHint": "작성 시 작성; 배포 시 참조됨",
  "deployRuntimeVersionGeneric": "런타임 버전",
  "deployEntry": "입장 시작",
  "deployEntryHint": "비어 있음 = 기본값({{hint}}); 서버에 동기화됨",
  "deploySkipBuild": "빌드 건너뛰기",
  "deploySkipBuildHint": "venv/바이너리가 존재하는 경우; 속도 재시작(로컬 기본 설정)",
  "deployPort": "· 포트 {{port}}",
  "deployFpmApplied": "PHP-FPM 풀 적용",
  "deployFpmIncomplete": "FPM 불완전",
  "deployFpmNote": "사이트/풀 구성을 작성합니다. 실시간 새로고침에는 시스템 변경 권한이 필요합니다.",
  "deployBuildNote": "빌드/시작 실패가 작업 결과에 표시됩니다. 항목이 서버에 기록됩니다. 건너뛰기 빌드는 로컬 환경 설정입니다.",
  "deployPhpIniTitle": "프로젝트 php.ini 재정의",
  "deployPhpIniDesc": "변경할 키만;",
  "deployPhpIniExample": "예를 들어 256M; 비어 있음 = 전역",
  "deployGlobal": "글로벌",
  "deployCustom": "관습",
  "deployOff": "꺼짐",
  "deployOnCareful": "에 · 조심",
  "deployPhpIniSaved": "프로젝트 php.ini 재정의가 저장되었습니다. FPM을 다시 배포 또는 적용",
  "deployHistory": "배포 기록({{count}})",
  "deployHistoryDesc": "감사에서; 최신순",
  "deployGitUrlHint": "HTTPS 또는 SSH 저장소 URL; 동기화 후 런타임별로 재배포",
  "deployEnvHint": "한 줄에 하나의 KEY=값; #댓글",
  "resume": "프로젝트 재개",
  "suspend": "프로젝트 일시 중단",
  "goFtpsApply": "FTPS 서비스 신청하러 가기",
  "toolchainNote": "툴체인 설치 ≠ 프로젝트가 활성화되었습니다. 배포 성공 ≠ 공개 Nginx(네트워크에 게시)",
  "installToolchainDeploy": "툴체인 설치 및 배포",
  "deployOnly": "배포만",
  "openRuntime": "{{runtime}} 런타임 열기",
  "later": "나중에",
  "installToolchainDeployShort": "툴체인 + 배포",
  "runtimeEnv": "{{runtime}} 환경",
  "applyFpmPool": "FPM 풀 적용",
  "staticNginxHint": "정적 사이트는 Publish Nginx를 사용합니다. 네트워크 또는 개요 바로가기를 사용하세요.",
  "fullIniLink": "전체 카탈로그 및 opcache/세션 등",
  "phpIniLink": "PHP 런타임 → php.ini",
  "savePhpIniOverride": "php.ini 재정의 저장",
  "scaffoldNote": "app/이 YSK 스캐폴드(.ysk-scaffold)인 경우 복제 전에 지워집니다. 사용자 정의 컨텐츠는 덮어쓰기를 거부합니다.",
  "saveOnly": "저장만",
  "savePublishNginx": "Nginx 저장 및 게시",
  "needDomainToPublish": "게시하기 전에 기본 도메인을 입력하세요.",
  "savePublish": "저장 및 게시",
  "saveAuth": "인증 저장",
  "cacheZoneNote": "전체 FastCGI/proxy_cache 영역에는 호스트 nginx.conf에 key_zone이 필요합니다. 패널은 최선의 퍼지 기능을 제공합니다.",
  "purgeNginxCache": "Nginx 캐시 제거",
  "nginxManageFile": "Nginx 관리 파일:",
  "publishRuntimeNote": "게시는 런타임별로 프록시/PHP-FPM/정적 conf를 작성합니다(인증, 리디렉션, docroot).",
  "publishStored": "저장된 설정으로 게시",
  "publishStoredSsl": "저장된 게시 + SSL",
  "publishNote": "게시 쓰기 관리 conf; /etc/nginx에 동기화하고 다시 로드하려면 시스템 변경 권한이 필요합니다.",
  "hitsFiles": "조회수가 있는 {{count}} 파일 — 꼬리를 열려면 클릭하세요(키워드 필터)",
  "logFilesCount": "로그 파일 {{count}}",
  "defaultScanNote": "항상 로그/ 및 로그/를 검사합니다. 추가 디렉토리에는 *.log / *.out / *.err만 포함됩니다.",
  "opsOk": "{{label}} 완료{{url}}",
  "opsOkWithNote": "{{label}} 완료: {{note}}{{url}}",
  "opsFail": "{{label}} 실패: {{reason}}",
  "railPython": "파이썬 프로세스",
  "railGo": "프로세스 이동",
  "railRust": "녹 과정",
  "railNode": "노드 프로세스",
  "runtimeName": {
    "php": "PHP",
    "node": "Node.js",
    "static": "공전",
    "python": "파이썬",
    "go": "가다",
    "rust": "녹",
    "java": "자바",
    "kotlin": "코틀린",
    "bun": "혈액 요소 질소"
  },
  "netCacheTitle": "은닉처",
  "logsDeepAccess": "로그센터 · 접속",
  "logsDeepError": "로그센터 · 오류",
  "logsDeepNginxUnit": "Nginx 유닛 로그",
  "logsPresetAccess": "필터 access.log",
  "logsPresetError": "필터 오류.로그",
  "railJava": "자바 프로세스",
  "railKotlin": "코틀린 프로세스",
  "railBun": "롤빵 과정",
  "deployProcessManager": "프로세스 관리자",
  "deployProcessManagerSystemd": "systemd (권장)",
  "deployProcessManagerPm2": "PM2",
  "proc_restart": "다시 시작",
  "proc_stop": "멈추다",
  "proc_reload": "새로고침",
  "procControlsHint": "공정관리({{manager}})",
  "procActionOk": "{{action}} 알았어 · {{notes}}",
  "procActionFail": "{{action}} 실패 · {{notes}}",
  "procActionFailShort": "처리 작업이 실패했습니다.",
  "procMissingUser": "프로젝트에 Linux 사용자가 없으므로 PM2 앱을 대상으로 지정할 수 없습니다.",
  "deploySystemdHint": "프로덕션 기본값: 단위 ysk-project-*",
  "deployPm2Hint": "pm2(생태계)를 통해 시작됩니다.",
  "deleteDialogTitle": "프로젝트를 영구적으로 삭제",
  "deletePermanent": "영구 삭제",
  "deleteRemoveFiles": "디스크 홈 및 Linux 사용자 삭제",
  "deleteTypeName": "확인하려면 프로젝트 이름을 입력하세요.",
  "deletedOk": "프로젝트가 삭제되었습니다.",
  "sslRequiredFirst": "이 도메인에는 아직 SSL 인증서가 없습니다. 게시 + SSL 전에 SSL 인증서 아래에서 하나를 만들거나 업로드하세요.",
  "sslGateHint": "SSL 작업이 잠겼습니다. — 다음으로 이동하세요.",
  "sslGateHint2": "먼저 이 도메인에 대한 인증서를 발급/업로드하세요.",
  "netPublishPrimary": "기초적인",
  "netPublishSsl": "HTTPS/SSL",
  "netPublishMaint": "유지",
  "sslNeedDomain": "Nginx/SSL을 게시하기 전에 도메인을 설정하세요.",
  "createTemplateMissing": "{{v0}} ;「— —」。",
  "deleteDialogDesc": "「{{name}}」。。",
  "deleteWillStop": "시스템 / PM2 /",
  "deleteWillWeb": "Nginx conf, PHP-FPM 풀, Apache 가상 호스트()",
  "deleteWillOs": "리눅스 홈 （）",
  "deleteKeepOs": "홈 리눅스 （）",
  "deleteWillDb": "…",
  "deleteRemoveFilesDesc": "취소,",
  "deleteTypeNameHint": "「{{name}}」",
  "deleteDnsWarn": "DNS 영역/도메인 。",
  "manageInNginx": "Nginx에서 관리",
  "advFtpHomeApp": "사이트 app 디렉터리",
  "advFtpHomeRoot": "프로젝트 홈(전체)",
  "advFtpManage": "FTP 페이지 열기",
  "resShell": "로그인 쉘",
  "resSaveHint": "라이브 OS의 변경 사항을 저장하고 적용합니다. 제어 영역은 양식만 저장합니다. 다시 적용하면 마지막으로 저장된 값이 사용됩니다.",
  "resBashConfirmTitle": "대화형 bash를 허용하시겠습니까?",
  "resBashConfirmDesc": "그러면 프로젝트 사용자에게 대화형 로그인 셸이 부여됩니다. 해당 사용자로 SSH 또는 PTY가 필요한 경우에만 확인하세요.",
  "createGitHint": "선택 과목. 프로젝트에 저장됩니다. 배포 탭에서 복제합니다(생성 시 복제되지 않음).",
  "gitTokenLaterHint": "HTTPS 토큰 및 복제 깊이는 생성 후 프로젝트 배포 탭에서 설정됩니다.",
  "gitBranch": "나뭇가지",
  "gitBranchHint": "Branch or tag. Empty uses the remote default. First clone is shallow (depth 1).",
  "gitBranchAfterUrl": "먼저 Git URL을 입력하세요. 비우면 원격 기본 분기를 사용합니다.",
  "gitLastRef": "마지막 동기화: {{branch}} @ {{commit}}",
  "gitConfirmTitle": "이 프로젝트에 복제하시겠습니까?",
  "gitConfirmBody": "app/이 여전히 Hello World 자리 표시자인 경우 지워진 다음 복제됩니다. YSK 스캐폴드가 아닌 사용자 정의 파일은 거부됩니다.",
  "gitConfirmRemoteBody": "이는 새 URL의 출처를 가리키고 가져옵니다. 관련되지 않은 기록은 실패합니다. 사용자 정의 파일은 지워지지 않습니다.",
  "runtimeActual": "실제 바이너리 {{path}}",
  "runtimeFallback": "선택된 {{version}}은(는) 이 호스트에 없습니다. 프로세스는 {{path}}을 사용합니다.",
  "gitSync": "동조",
  "gitFetch": "술책",
  "gitCheckout": "점검",
  "gitReset": "원격으로 재설정",
  "gitResetNeedConfirm": "확인 필요 — 로컬 커밋을 버립니다",
  "gitDeepen": "전체 기록 가져오기",
  "gitLogTitle": "최근 커밋",
  "gitDirtyTitle": "로컬 변경 블록 풀",
  "gitDirtyBody": "{{count}} 파일이 Git(파일 편집 또는 앱)과 다릅니다. 이를 폐기하거나 중단하십시오.",
  "gitSyncBlockedDirty": "로컬 변경 사항이 삭제되거나(재설정) 파일이 Git과 일치할 때까지 동기화가 비활성화됩니다.",
  "gitViewDiff": "차이점 보기",
  "gitDiscard": "로컬 파일 삭제",
  "gitOpenFiles": "파일에서 열기",
  "gitNotCloned": "복제되지 않음",
  "gitClean": "깨끗한",
  "gitDirty": "더러운",
  "gitBehind": "뒤에 {{count}}",
  "gitAhead": "앞으로 {{count}}",
  "gitDetached": "고정됨",
  "gitShallow": "얕은",
  "gitMissing": "자식이 없어",
  "gitResetConfirmTitle": "원격으로 하드 재설정하시겠습니까?",
  "gitResetConfirmBody": "이렇게 하면 로컬 Git 기록과 .env를 제외한 추적되지 않는 파일이 삭제되고 제어 플레인에서 .env가 복원됩니다.",
  "gitHeads": "원격 지점",
  "gitToken": "HTTPS 토큰",
  "gitTokenHint": "Personal access token. Stored encrypted; never written into the remote URL.",
  "gitTokenPlaceholder": "ghp_… 또는 glpat-…",
  "gitTokenSet": "토큰 세트",
  "gitSaveToken": "토큰 저장",
  "gitClearToken": "토큰 지우기",
  "gitDeployKey": "공개 키 배포",
  "gitDeployKeyHint": "이를 Git 호스트에 읽기 전용 배포 키로 추가하세요.",
  "gitDeployKeyOn": "키 배포",
  "gitMakeKey": "배포 키 생성",
  "gitCopyPub": "공개 키 복사",
  "gitClearKey": "배포 키 지우기",
  "gitKeyCopied": "공개 키가 복사되었습니다.",
  "gitPinHost": "호스트 키 고정",
  "gitPinHostBody": "{{host}}이 고정되지 않았습니다. 지문을 확인한 다음 SSH 복제 전에 고정하세요.",
  "gitHostUnpinned": "호스트 키가 고정되지 않음",
  "gitHookTitle": "Inbound hook",
  "gitHookHint": "Paste POST /api/v1/hooks/git/<id> into GitHub / Gitea / GitLab yourself (push events). Not Slack. Secret is HMAC or X-YSK-Git-Hook.",
  "gitHookOn": "Hook on",
  "gitHookOff": "Hook off",
  "gitHookEnable": "Enable hook",
  "gitHookRotate": "비밀 순환",
  "gitHookDisable": "Disable hook",
  "gitHookSecretOnce": "Copy this secret now — it is not stored in the page after you leave.",
  "gitHookCopyUrl": "Copy URL",
  "gitHookCopySecret": "비밀 복사",
  "gitHookCopied": "복사됨",
  "gitHookSetup": "Add the webhook yourself. Payload URL = the URL above. Content type application/json. Events: push only. Secret = the one-time value.",
  "gitHookGithub": "GitHub: Settings → Webhooks → Add webhook. Content type application/json. Events: Just the push event. GitHub.com requires HTTPS.",
  "gitHookGitea": "Gitea: Settings → Webhooks → Add Webhook → Gitea. HTTP Method POST. Push events.",
  "gitHookGitlab": "GitLab: Settings → Webhooks. Trigger: Push events. Secret token = the hook secret (sent as X-Gitlab-Token).",
  "gitHookHonesty": "The host unit must have YSK_EXECUTE=1. Without it the hook answers but does not clone or deploy.",
  "gitHookSkipOther": "Pushes to other branches are ignored. Only the project ref syncs.",
  "gitAuthHttps": "HTTPS 토큰",
  "gitAuthSsh": "SSH 배포 키",
  "gitLoadRefs": "브랜치 로드",
  "gitRefDefault": "원격 기본값",
  "gitRefBranches": "지점",
  "gitRefTags": "태그",
  "gitRefOther": "기타 참고…",
  "gitRefCustom": "커밋 또는 참조",
  "gitRefsNeedUrl": "먼저 URL을 입력하세요.",
  "gitRefsNeedAuth": "토큰 또는 배포 키를 저장한 다음 분기를 로드하세요.",
  "gitRefsHint": "리모콘에서 로드되었습니다. 하나를 선택하십시오. 입력하지 마십시오.",
  "gitHookSetupToggle": "이것을 붙여넣는 방법",
  "gitHookOneLiner": "HMAC 또는 X-YSK-Git-Hook. 이 프로젝트의 심판만 해당됩니다.",
  "gitHookExecuteHint": "복제하거나 배포하려면 YSK_EXECUTE=1이 필요합니다.",
  "gitShowKey": "키 표시",
  "gitHideKey": "숨다",
  "gitBehindShort": "↓{{count}}",
  "gitAheadShort": "↑{{count}}",
  "gitDirtyShort": "더러운 · {{count}}",
  "gitFilesLink": "파일",
  "nameInvalid": "소문자 이름을 사용하세요. 문자로 시작한 다음 문자, 숫자, 하이픈(최대 31자)을 사용하세요.",
  "deployVersionMissing": "노드 {{version}}가 이 호스트에 설치되어 있지 않습니다. 설치된 버전을 선택하거나 이 버전을 먼저 설치하세요.",
  "deployUsedBinary": "사용된 배포 {{path}}"
}
