# 기본 오류 ErrInvalidParams: '잘못된 요청: {{ .detail }}' ErrTokenParse: '토큰 오류: {{ .detail }}' ErrInitialPassword: '원래 비밀번호가 틀립니다' ErrInternalServer: '서버 오류: {{ .detail }}' ErrInternalServerKey: "서버 내부 오류:" ErrRecordExist: '레코드가 이미 있습니다' ErrRecordNotFound: '레코드를 찾을 수 없습니다' ErrStructTransform: '형 변환 실패: {{ .detail }}' ErrNotSupportType: '지원하지 않는 타입: {{ .name }}' ErrDemoEnvironment: '데모 환경에서는 불가' ErrCmdTimeout: '명령이 시간 초과했습니다' ErrPortInUsed: "{{ .name }} 포트가 이미 사용 중입니다" ErrFileNotFound: "{{ .name }} 파일이 존재하지 않습니다" ErrReqFailed: "{{.name}} 요청 실패: {{ .err }}" # 요청 및 보안 입구 ErrNoSuchHost: "요청한 서버를 찾을 수 없습니다 {{ .err }}" ErrHttpReqNotFound: "요청한 리소스를 찾을 수 없습니다 {{ .err }}" ErrHttpReqFailed: "요청 실패 {{ .err }}" ErrHttpReqTimeOut: "요청 시간이 초과되었습니다 {{ .err }}" ErrCreateHttpClient: "요청 생성 실패 {{ .err }}" ErrProxy: '요청 실패: {{ .detail }}' ErrProxySetting: "프록시 서버 정보를 사용할 수 없음 {{ .err }}, 확인 후 다시 시도하세요" ErrEntrance: "보안 정보 오류입니다. 확인 후 다시 시도하십시오" ErrEntranceFormat: "보안 입구 {{ .name }}은(는) 현재 지원되지 않습니다. 확인 후 다시 시도해 주세요" # 로그인 및 보안 ErrNotLogin: '로그인하지 않음: {{ .detail }}' ErrSessionDataNotFound: "현재 세션이 만료되었습니다" ErrSessionDataFormat: "현재 세션 데이터 형식이 비정상입니다" ErrPasswordExpired: '비밀번호 만료: {{ .detail }}' ErrLoginLocked: "실패한 시도가 너무 많습니다. 로그인이 5분 동안 일시적으로 잠겼습니다." ErrApiConfigStatusInvalid: 'API 사용 중지: {{ .detail }}' ErrApiConfigKeyInvalid: 'API 키가 잘못됨: {{ .detail }}' ErrApiConfigIPInvalid: 'IP 허용되지 않음: {{ .detail }}' ErrApiConfigDisable: 'API 접근 금지: {{ .detail }}' ErrApiConfigKeyTimeInvalid: '타임스탬프 오류: {{ .detail }}' ErrPasskeyDisabled: "Passkey를 사용하려면 HTTPS를 활성화해야 합니다" ErrPasskeyNotConfigured: "Passkey가 구성되지 않았습니다" ErrPasskeyLimit: "Passkey 개수가 한도에 도달했습니다(최대 5개)" ErrPasskeySession: "Passkey 세션이 만료되었거나 유효하지 않습니다" ErrPasskeyDuplicate: "Passkey가 이미 존재합니다" ErrPasskeyVerify: "Passkey 검증에 실패했습니다" ErrOIDCNotEnabled: "OIDC 인증이 활성화되지 않았습니다" ErrOIDCConfigInvalid: "OIDC 설정이 올바르지 않습니다" ErrOIDCConfigChanged: "OIDC 설정이 변경되었습니다. 인증을 다시 시작하세요" ErrOIDCDiscoveryFailed: "OIDC Provider 설정을 검색하지 못했습니다" ErrOIDCIssuerMismatch: "OIDC Issuer가 설정된 Issuer와 일치하지 않습니다" ErrOIDCUnsupportedPKCE: "OIDC Provider가 필요한 PKCE 방식을 지원하지 않습니다" ErrOIDCUnsupportedSigningAlgorithm: "OIDC 서명 알고리즘이 지원되지 않습니다" ErrOIDCInvalidState: "OIDC 로그인 상태가 올바르지 않거나 이미 사용되었습니다" ErrOIDCLoginExpired: "OIDC 로그인 요청이 만료되었습니다. 다시 시도하세요" ErrOIDCTokenExchange: "OIDC 인증 코드 교환에 실패했습니다" ErrOIDCTokenValidation: "OIDC Token 검증에 실패했습니다" ErrOIDCUserInfoValidation: "OIDC 사용자 정보 검증에 실패했습니다" ErrOIDCNameClaimMissing: "설정된 OIDC 사용자 이름 Claim이 없거나 올바르지 않습니다" ErrOIDCNameConflictLocal: "OIDC 사용자 이름이 로컬 사용자와 충돌합니다" ErrOIDCNameConflictLDAP: "OIDC 사용자 이름이 LDAP 사용자와 충돌합니다" ErrOIDCNameConflictOIDC: "OIDC 사용자 이름이 다른 OIDC ID와 충돌합니다" ErrOIDCDefaultRoleInvalid: "OIDC에 설정된 기본 역할을 사용할 수 없습니다" ErrOIDCPrivateAddressDenied: "OIDC Endpoint 주소가 네트워크 보안 정책에서 허용되지 않습니다" ErrOIDCTLSValidation: "OIDC TLS 인증서 검증에 실패했습니다" ErrOIDCTestExpired: "OIDC 브라우저 테스트가 만료되었습니다. 다시 실행하세요" ErrOIDCLocalCredentialsReadonly: "OIDC 사용자 이름과 비밀번호는 ID Provider에서 관리하므로 로컬에서 변경할 수 없습니다." ErrOIDCPasswordExpirationUnsupported: "OIDC 사용자는 로컬 비밀번호 만료 정책을 사용하지 않습니다." ErrOIDCInternal: "OIDC 인증 중 내부 오류가 발생했습니다. 잠시 후 다시 시도하세요." # 사용자 및 권한 ErrNoSuchUser: "사용자 정보를 찾을 수 없습니다. 확인 후 다시 시도하세요" ErrToMaster: "이 사용자는 마스터 노드에서 이 작업을 수행할 권한이 없습니다. 확인 후 다시 시도하세요" ErrToNode: "이 사용자는 이 노드에서 이 작업을 수행할 권한이 없습니다. 확인 후 다시 시도하세요" ErrRBAC: "사용자 권한이 부족하여 이 작업을 수행할 수 없습니다. 확인 후 다시 시도하세요" ErrNoneNode: "이 사용자에게는 노드 권한이 없습니다. 관리자에게 문의하거나 확인 후 다시 시도하세요" ErrOnlySuperAdmin: "슈퍼 관리자만 이 기능을 사용할 수 있습니다" ErrRolePresetCannotDelete: "시스템 기본 역할은 삭제할 수 없습니다" ErrRolePresetCannotUpdate: "시스템 기본 역할은 수정할 수 없습니다" ErrRoleBoundToUser: "이 역할은 이미 사용자에게 연결되어 있어 삭제할 수 없습니다" ErrRolePresetCannotBind: "시스템 기본 역할은 사용자에게 할당할 수 없습니다" ErrNodeAdminMasterForbidden: "마스터 노드에는 노드 관리자 권한을 추가할 수 없습니다" ErrSuperAdminCannotDelete: "슈퍼 관리자 사용자는 삭제할 수 없습니다" ErrGroupIsDefault: "기본 그룹은 삭제할 수 없습니다" ErrGroupIsInUse: "그룹이 사용 중이므로 삭제할 수 없습니다." # 라이선스 LicenseCheck: '라이선스 사용 가능 여부 확인' ErrLicenseInUsed: '해당 라이선스가 이미 연결되었습니다. 확인 후 다시 시도하세요' ErrLicenseExpired: '해당 라이선스가 만료되었습니다. 확인 후 다시 시도하세요' ErrLicense: "라이선스 형식이 잘못되었습니다. 다시 확인하고 시도해 주세요" ErrLicenseCheck: "라이선스 검증 실패. 다시 확인하고 시도해 주세요" ErrXpackVersion: "라이선스 검증 실패, 이 라이선스는 버전 제한이 있습니다. 성공적으로 가져올 수 없습니다. 다시 확인하고 시도해 주세요" ErrLicenseSave: "라이선스 정보 저장 실패, 오류 {{ .err }}, 다시 시도해 주세요" ErrLicenseSync: "라이선스 정보 동기화 실패, 데이터베이스에서 라이선스 정보를 찾을 수 없습니다" ErrLicenseExist: "해당 라이선스 기록이 이미 존재합니다. 라이선스 페이지에서 직접 노드 바인딩이 가능합니다." ErrXpackNotFound: "이 기능은 Business Edition에서 사용할 수 있습니다. 패널 설정 > 라이선스에서 라이선스를 가져오세요" ErrXpackExceptional: "이 기능은 Business Edition에서 사용할 수 있습니다. 패널 설정 > 라이선스에서 라이선스 상태를 동기화하세요" ErrXpackLost: "라이선스 재시도 한도에 도달했습니다. 패널 설정 > 라이선스에서 수동 동기화를 실행하세요" ErrEnterpriseLicenseRequired: "Enterprise Edition 라이선스를 가져오지 않았습니다. 먼저 라이선스를 가져오세요" ErrDeviceLost: "라이센스 검증에 필요한 파일이 누락되었습니다. 확인 후 다시 시도해 주세요" ErrDeviceErr: "현재 환경이 라이선스 가져오기 환경과 일치하지 않습니다. 라이선스를 편집하고 다시 가져오십시오" ErrXpackTimeout: "요청 시간 초과, 네트워크 연결이 불안정할 수 있습니다. 나중에 다시 시도해 주세요" ErrUnbindMaster: "노드 관리 내에 노드가 존재함을 감지하였습니다. 현재 라이선스를 해제할 수 없습니다. 먼저 제거 후 다시 시도해 주세요" ErrFreeNodeLimit: "추가할 수 있는 노드 수가 한도에 도달했습니다. 구매 후 다시 시도해 주세요." ErrNodeBound: "이 라이선스는 다른 노드에 바인딩되어 있습니다. 다시 확인하고 시도해 주세요" ErrNodeBoundDelete: "이 라이센스는 바인딩되어 있으며 삭제 작업을 지원하지 않습니다. 확인 후 다시 시도해 주세요" ErrNodeBoundLimit: "현재 무료 노드가 한도에 도달했습니다. 확인 후 다시 시도해 주세요" ErrLicenseFree: "라이선스가 노드에 정상적으로 바인딩된 경우에만 무료 노드를 사용할 수 있습니다. 확인 후 다시 시도하세요" ErrLicenseUnbind: "이 라이선스에는 아직 커뮤니티 에디션 노드가 연결되어 있습니다. 패널 설정 > 라이선스에서 연결을 해제한 뒤 다시 시도해 주세요" ErrLicenseBindCount: "새 라이선스의 무료 노드 수가 현재 연결된 커뮤니티 에디션 노드 수보다 적습니다. 확인 후 다시 시도해 주세요" ErrNoSuchNode: "노드 정보를 찾을 수 없습니다. 다시 확인하고 시도해 주세요" ErrNodeUnbind: "이 노드가 라이선스 바인딩 범위에 있지 않음을 감지하였습니다. 다시 확인하고 시도해 주세요" ErrNodeBind: "이 노드가 이미 라이선스에 바인딩되어 있음을 감지하였습니다. 다시 확인하고 시도해 주세요" ErrNodeLocalRollback: "마스터 노드는 직접 롤백을 지원하지 않습니다. '1pctl restore'를 수동으로 실행해 롤백하세요" ErrIntlLicense: "현재 버전에서는 국제판 라이선스 가져오기를 아직 지원하지 않습니다. 곧 제공될 예정입니다" InvalidRequestBodyType: "요청 본문 형식이 잘못되었습니다. 내용이 형식 요구 사항을 충족하는지 확인한 후 다시 시도하세요" InvalidLicenseCodeType: "제공된 라이선스 코드 형식이 잘못되었습니다. 확인 후 다시 시도하세요" LicenseNotFoundType: "라이선스가 존재하지 않습니다. 시스템에서 제공된 라이선스와 일치하는 기록을 찾을 수 없습니다. 확인 후 다시 시도하세요" LicenseRevokedType: "요청한 라이선스는 폐기되어 사용할 수 없습니다. 확인 후 다시 시도하세요" LicenseExpiredType: "라이선스가 만료되었습니다. 갱신하거나 패널 설정 - 라이선스에서 다시 가져온 후 시도하세요" LicenseProductMismatchType: "라이선스가 요청한 제품 또는 서비스와 일치하지 않습니다" InvalidAssigneeType: "라이선스 할당 대상 사용자 또는 장치 정보가 유효하지 않습니다. 확인 후 다시 시도하세요" LicenseUsageNotFoundType: "사용 기록이 없습니다. 이 라이선스는 아직 활성화되거나 사용되지 않았습니다. 확인 후 다시 시도하세요" LicenseUsageLimitExceededType: "이 라이선스는 이미 다른 노드에 연결되었습니다. 확인 후 다시 시도하세요" # 노드 및 클러스터 MasterNode: "마스터 노드" Node: "노드" ErrLocalDelete: "로컬 노드는 삭제할 수 없습니다" ErrMasterDelete: "마스터 노드를 삭제할 수 없습니다. 슬레이브 노드를 먼저 삭제하세요." ClusterNameIsExist: "클러스터 이름이 이미 존재합니다." AppStatusUnHealthy: "애플리케이션 상태 획득이 비정상입니다. 노드 목록에서 설치 노드 상태를 확인하세요." MasterNodePortNotAvailable: "노드 {{ .name }} 포트 {{ .port }} 연결성 검증에 실패했습니다. 방화벽/보안 그룹 설정 및 마스터 노드 상태를 확인하세요." ClusterMasterNotExist: "클러스터의 마스터 노드가 연결이 끊어졌습니다. 자식 노드를 삭제하세요." # 가상 머신 ErrVMNotFound: "가상 머신이 존재하지 않습니다" ErrVMAlreadyExists: "가상 머신이 이미 존재합니다" ErrVMCountLimit: "Professional 버전에서는 가상 머신을 최대 {{ .limit }}대까지 생성할 수 있습니다. 기존 가상 머신을 삭제하거나 Enterprise 버전으로 업그레이드한 후 다시 시도하세요." ErrVMImageAlreadyExists: "가상 머신 이미지 파일이 이미 존재합니다: {{ .detail }}" ErrVMStoragePathInUse: "스토리지 풀 경로가 이미 [{{ .name }}]에서 사용 중입니다" ErrVMHelperNotFound: "1panel-kvm을 찾을 수 없습니다" ErrVMBridgeManaged: "브리지 이름이 이미 libvirt 또는 Docker에서 관리되고 있습니다" ErrVMNetworkInUse: "네트워크가 사용 중이므로 삭제할 수 없습니다" ErrVMStorageInUse: "스토리지 풀이 사용 중이므로 삭제할 수 없습니다" ErrVMStorageNameCannotChange: "스토리지 풀 이름은 변경할 수 없습니다" ErrVMStoragePathCannotChange: "스토리지 풀 경로는 변경할 수 없습니다" ErrVMRunning: "가상 머신이 실행 중입니다" ErrVMLibvirtConnect: "libvirt 연결 실패: {{ .detail }}" ErrVMPermission: "가상 머신 작업 권한이 없습니다: {{ .detail }}" ErrVMNetworkNotFound: "가상 머신 네트워크가 존재하지 않습니다: {{ .detail }}" ErrVMInvalidPath: "가상 머신 경로가 유효하지 않습니다: {{ .detail }}" ErrVMInvalidInput: "가상 머신 매개변수가 유효하지 않습니다: {{ .detail }}" ErrVMCommandFailed: "가상 머신 명령 실행 실패: {{ .err }}" VMCreateTask: "가상 머신 [{{ .name }}] 생성" VMCreateFromTemplateTask: "템플릿에서 가상 머신 [{{ .name }}] 생성" VMUpdateTask: "가상 머신 [{{ .name }}] 업데이트" VMRenameTask: "가상 머신 [{{ .name }}]을(를) [{{ .newName }}](으)로 이름 변경" VMDeleteTask: "가상 머신 [{{ .name }}] 삭제" VMTemplateCreateTask: "가상 머신 [{{ .name }}]을(를) 템플릿 [{{ .template }}](으)로 저장" VMTemplateDeleteTask: "가상 머신 템플릿 [{{ .name }}] 삭제" VMForceDeleteMetadataOnly: "1panel-kvm을 찾을 수 없어 가상 머신 [{{ .name }}] 메타데이터만 강제 삭제합니다" VMForceDeleteMetadataAfterLibvirtFailed: "libvirt에서 가상 머신 [{{ .name }}] 삭제 실패, 메타데이터 강제 삭제: {{ .err }}" VMForceDeleteDiskFailed: "가상 머신 디스크 파일 [{{ .path }}] 강제 삭제 실패: {{ .err }}" VMForceDeleteDiskSuccess: "가상 머신 디스크 파일 [{{ .path }}]을(를) 강제 삭제했습니다" VMSnapshotCreateTask: "가상 머신 [{{ .vm }}] 스냅샷 [{{ .snapshot }}] 생성" VMSnapshotCreateStep: "가상 머신 스냅샷 [{{ .snapshot }}] 생성" VMSnapshotRecoverTask: "가상 머신 [{{ .vm }}] 스냅샷 [{{ .snapshot }}] 복구" VMSnapshotRecoverStep: "가상 머신 스냅샷 [{{ .snapshot }}] 복구" VMSnapshotDeleteTask: "가상 머신 [{{ .vm }}] 스냅샷 [{{ .snapshot }}] 삭제" VMSnapshotDeleteStep: "가상 머신 스냅샷 [{{ .snapshot }}] 삭제" # 앱 CustomAppStoreFileValid: "앱 스토어 패키지는 .tar.gz 형식이어야 합니다" AppBackup: '애플리케이션 백업' AppBackupPush: '애플리케이션 백업 파일 {{.file}}을(를) 노드 {{ .name }}(으)로 전송' ErrSourceTargetSame: '소스 노드와 대상 노드는 동일할 수 없습니다' AppInstall: '노드 {{ .targetNode }}에 애플리케이션 {{ .name }} 설치' AppInstallCheck: '애플리케이션 설치 환경 확인' # 백업 ErrBackupInUsed: '백업 계정이 예약에 사용 중' ErrBackupCheck: '연결 테스트 실패: {{ .err }}' ErrBackupLocal: "로컬 서버 백업 계정은 이 작업을 지원하지 않습니다" ErrBackupPublic: "이 백업 계정이 공개된 것으로 감지되지 않았습니다. 다시 확인하십시오" ErrOSSConn: "최신 버전을 가져올 수 없습니다. 외부 네트워크 연결을 확인하십시오." MvBackup: "데이터를 백업 디렉터리로 이동" # 알림 ErrAlertSync: "경고 정보 동기화 오류, 다시 확인하고 시도해 주세요" # AI 게이트웨이 ErrAIProxyUserGroupIsDefault: "기본 사용자 그룹은 삭제할 수 없습니다" ErrAIProxyUserGroupInUse: "사용자 그룹이 사용 중이므로 삭제할 수 없습니다." ErrAIProxyUserGroupExists: "사용자 그룹 이름이 이미 존재합니다." ErrAIProxyBackendAccountExists: "이 모델 계정은 이미 AI 게이트웨이 계정 풀에 가져왔습니다." ErrAIProxyModelGroupInUse: "모델 그룹이 사용 중이므로 삭제할 수 없습니다." ErrAIProxyModelGroupExists: "모델 그룹 이름이 이미 존재합니다." ErrAIProxySensitiveGroupInUse: "민감 단어 그룹이 사용 중이므로 삭제할 수 없습니다." ErrAIProxySensitiveGroupExists: "민감 단어 그룹 이름이 이미 존재합니다." AIProxyContentPolicyViolation: "죄송하지만 이 요청은 처리할 수 없습니다. 콘텐츠 정책을 준수하지 않을 수 있으므로 내용을 수정한 후 다시 시도해 주세요." AIBenchmarkRun: "AI 벤치마크 실행" # 작업 TaskStart: "{{ .name }} 작업 시작 [START]" TaskEnd: "{{ .name }} 작업 종료 [COMPLETED]" TaskFailed: "{{ .name }} 작업 실패" TaskTimeout: "{{ .name }} 시간 초과" TaskSuccess: "{{ .name }} 작업 성공" TaskRetry: "제 {{ .name }} 차 재시도 시작" SubTaskSuccess: "{{ .name }} 성공" SubTaskFailed: "{{ .name }} 실패: {{ .err }}" TaskInstall: "설치" TaskUpgrade: "업그레이드" TaskSync: '동기화' TaskSyncForNode: "노드 데이터 동기화" TaskBackup: "백업" TaskPush: "전송" TaskRsync: "동기화" SuccessStatus: "{{ .name }} 성공" FailedStatus: "{{ .name }} 실패 {{ .err }}" Start: "시작" SubTask: "서브 작업" Skip: "오류 무시하고 계속..." Success: "성공" # AI 게이트웨이 스마트 라우팅 작업 AIProxySmartRouteCreateTask: "AI 게이트웨이 스마트 라우팅 샘플 생성" AIProxySmartRouteCreateSubTask: "샘플 생성 및 벡터 생성" AIProxySmartRouteCreateStart: "샘플 생성을 시작합니다. 총 {{ .total }}개" AIProxySmartRouteCreateFailed: "[{{ .current }}/{{ .total }}] 생성 실패: type={{ .type }} label={{ .label }} error={{ .err }}" AIProxySmartRouteCreateSuccess: "[{{ .current }}/{{ .total }}] 생성 성공: sampleID={{ .id }} type={{ .type }} label={{ .label }}" AIProxySmartRouteCreateComplete: "생성 완료: 성공 {{ .success }}개, 실패 {{ .failed }}개" AIProxySmartRouteCreateError: "샘플 생성 실패: {{ .failed }}개 실패, 마지막 오류" AIProxySmartRouteRebuildTask: "AI 게이트웨이 스마트 라우팅 샘플 벡터 재구성" AIProxySmartRouteRebuildSubTask: "샘플 벡터 재구성" AIProxySmartRouteEmbeddingRequired: "Embedding 엔드포인트와 모델은 필수입니다" AIProxySmartRouteRebuildStart: "샘플 벡터 재구성을 시작합니다. 총 {{ .total }}개" AIProxySmartRouteRebuildFailed: "[{{ .current }}/{{ .total }}] 재구성 실패: sampleID={{ .id }} type={{ .type }} label={{ .label }} error={{ .err }}" AIProxySmartRouteRebuildSuccess: "[{{ .current }}/{{ .total }}] 재구성 성공: sampleID={{ .id }} type={{ .type }} label={{ .label }}" AIProxySmartRouteRebuildComplete: "재구성 완료: 성공 {{ .success }}개, 실패 {{ .failed }}개" AIProxySmartRouteRebuildError: "샘플 벡터 재구성 실패: {{ .failed }}개 실패, 마지막 오류" # 에이전트 일괄 작업 BatchInstallAgent: "에이전트 일괄 설치" DispatchAgentInstallTasks: "에이전트 설치 작업 배포" BatchUpgradeAgent: "에이전트 일괄 업그레이드" DispatchAgentUpgradeTasks: "에이전트 업그레이드 작업 배포" BatchAgentInstallDispatchFailed: "{{ .node }} 노드에서 {{ .agentType }} 설치 작업을 배포하지 못했습니다 Message: {{ .err }}" BatchAgentInstallSubmitted: "{{ .node }} 노드에서 {{ .agentType }} 설치 작업을 배포했습니다!" BatchAgentUpgradeDispatchFailed: "{{ .node }} 노드에서 {{ .agentType }} 업그레이드 작업을 배포하지 못했습니다 Message: {{ .err }}" BatchAgentUpgradeAlreadyLatest: "{{ .node }} 노드 {{ .agent }}은(는) 이미 대상 버전이라 건너뜁니다" BatchAgentUpgradeSubmitted: "{{ .node }} 노드에서 {{ .agent }} 업그레이드 작업을 배포했습니다!" BatchAgentUpgradeFailed: "{{ .node }} 노드에서 {{ .agent }} 업그레이드 작업을 배포하지 못했습니다 Message: {{ .err }}" BatchInstallAgentSkill: "Skill 일괄 배포" DispatchAgentSkillInstallTasks: "Skill 설치 작업 배포" BatchAgentSkillDispatchFailed: "{{ .node }} 노드에서 {{ .skill }}을(를) {{ .target }}에 배포하지 못했습니다 Message: {{ .err }}" BatchAgentNoAgentsFound: "{{ .node }} 노드에서 {{ .agentType }} 에이전트를 찾지 못해 건너뜁니다" BatchAgentSkillSkipped: "{{ .node }} 노드 {{ .agent }} 건너뜀 Message: {{ .msg }}" BatchAgentSkillInstallSubmitted: "{{ .node }} 노드에서 {{ .skill }} 설치 작업을 {{ .agent }}에 배포했습니다!" BatchAgentSkillInstallFailed: "{{ .node }} 노드에서 {{ .skill }} 설치 작업을 {{ .agent }}에 배포하지 못했습니다 Message: {{ .err }}" BatchAgentOperateDispatchFailed: "{{ .node }} 노드에서 {{ .agentType }} {{ .operate }} 작업을 배포하지 못했습니다 Message: {{ .err }}" BatchAgentOperateSkipped: "{{ .node }} 노드 {{ .agent }} 건너뜀 Message: {{ .msg }}" BatchAgentOperateSubmitted: "{{ .node }} 노드에서 {{ .agent }} {{ .operate }} 작업을 배포했습니다!" BatchAgentOperateFailed: "{{ .node }} 노드에서 {{ .agent }} {{ .operate }} 작업을 배포하지 못했습니다 Message: {{ .err }}" BatchStartAgent: "에이전트 일괄 시작" DispatchAgentStartTasks: "에이전트 시작 작업 배포" BatchStopAgent: "에이전트 일괄 중지" DispatchAgentStopTasks: "에이전트 중지 작업 배포" BatchRestartAgent: "에이전트 일괄 재시작" DispatchAgentRestartTasks: "에이전트 재시작 작업 배포" BatchDeleteAgent: "에이전트 일괄 삭제" DispatchAgentDeleteTasks: "에이전트 삭제 작업 배포" AgentOperateStart: "시작" AgentOperateStop: "중지" AgentOperateRestart: "재시작" AgentOperateDelete: "삭제" # 앱 및 스킬 작업 PushAppInstallTaskToNode: "노드 [{{ .name }}]로 앱 설치 작업 전송" AppInstallTask: "앱 설치 작업" PushAppFailed: "앱 설치 작업 전송 실패" SkillHubInstallTask: "스킬 설치 [{{ .name }}]" SkillHubInstallToTarget: "스킬 [{{ .name }}]을 대상 [{{ .target }}]에 설치" # 스크립트 라이브러리 ScriptLibrary: "스크립트 라이브러리" RemoteScriptLibrary: "원격 스크립트 라이브러리" ScriptSyncSkip: "현재 스크립트 라이브러리가 이미 최신 버전입니다" DownloadData: "스크립트 라이브러리 파일 data.yaml 다운로드 중" DownloadPackage: "스크립트 라이브러리 패키지 다운로드 중" AnalyticCompletion: "분석 완료, 데이터베이스에 동기화 중..." # 노드 동기화 SyncNode: "데이터를 노드 {{ .name }}(으)로 동기화" LocalName: "'local' 이름은 시스템 로컬 식별 전용으로 사용됩니다" SyncPackageData: "동기화 데이터 패키징" SyncPackageEncrypt: "데이터 패키지 암호화" SyncRequest: "노드 동기화 API 요청" SyncFailedRetry: "노드 데이터 동기화 시간 초과 ({{ .index }}번째 시도), 재시도 중..." SyncFailed: "동기화 실패, 노드 목록에서 수동 동기화를 실행하세요" SyncSystemProxy: "시스템 프록시 설정" SyncScripts: "스크립트 라이브러리" SyncBackupAccounts: "백업 계정" SyncAlertSetting: "알림 설정" SyncCustomApp: "사용자 정의 앱" SyncLanguage: "시스템 언어" SyncEdition: "운영 지역" # 노드 업그레이드 NodeUpgrade: "{{ .name }} 노드 업그레이드" UpgradeCheck: "노드 업데이트 확인" UpgradeCheckLocal: "로컬 노드는 일괄 업그레이드를 지원하지 않으므로 건너뜁니다..." UpgradeCheckLatest: "이 노드는 이미 최신 버전입니다. 건너뜁니다..." NewSSHClient: "SSH 연결 초기화" BackupBeforeUpgrade: "업그레이드 전 데이터 백업" UploadUpgradeFile: "업그레이드에 필요한 파일 전송" RestartAfterUpgrade: "업그레이드 후 서비스 시작" LoadAutoUpgradeNodesFailed: "자동 업그레이드 노드 로드 실패, 오류: {{ .err }}" AutoUpgradeNodes: "자동 업그레이드 노드: {{ .nodes }}" UpdateAutoUpgradeNodesStatusFailed: "자동 업그레이드 노드 상태 업데이트 실패, 오류: {{ .err }}" # 노드 추가 MasterData: "마스터 노드 데이터" LoadSftpClient: "SFTP 클라이언트 가져오기" PackageMasterData: "마스터 노드 백업 패키지 생성" UploadBackup: "백업 데이터 업로드" TaskAddNode: "노드 추가" LoadNodeArch: "노드 아키텍처 정보 가져오기" LoadNodeArchDetail: "감지된 마스터 노드 아키텍처: {{ .local }}, 자식 노드 아키텍처: {{ .node }}" LoadNodeUpgradeDetail: "v1 버전 기록 설치 디렉토리 사용: {{ .baseDir }}, 서비스 수신 포트: {{ .port }}" SyncAgentBaseInfo: "노드 기본 데이터 동기화" GenerateSSLInfo: "노드 SSL 정보 생성" ConnInfoNotMatch: "연결 정보가 일치하지 않음" MakeAgentPackage: "노드 설치 패키지 생성" SendAgent: "노드 설치 패키지 배포" StartService: "서비스 시작" NoBackupNode: "현재 백업 노드가 비어 있습니다. 저장할 백업 노드를 선택한 후 다시 시도하십시오" # 노드 파일 및 이미지 동기화 LocalNodeIpFailed: "마스터 노드 IP를 가져오지 못했습니다. 마스터 노드를 편집하여 IP 주소와 SSH 인증 정보를 추가하세요." HandlePrivateKey: "노드 개인 키 처리" HandlePublicKey: "노드 공개 키 처리" ExchangeFile: "노드 {{ .source }}의 {{ .sourcePath }}에서 노드 {{ .dest }}:{{ .destPath }}(으)로 동기화 시작" NodeFile: "노드 파일" ImageSyncTaskName: "이미지 {{ .count }}개 동기화" SSLSyncTaskName: "인증서 {{ .count }}개 동기화" AppSyncTaskName: "애플리케이션 {{ .name }} 동기화" SSLSyncToNode: "인증서 [{{ .cert }}]을(를) 노드 [{{ .node }}]에 전송" ImageSyncSave: "이미지 {{ .image }} 저장" ImageSyncSaveTags: "이미지 태그 {{ .tags }} 저장" ImageSyncToNode: "이미지 {{ .image }}을(를) 노드 {{ .node }}에 동기화" ImageSyncLoad: "이미지 {{ .image }}을(를) 노드 {{ .node }}에 로드" ImageSyncClean: "이미지 {{ .image }}의 임시 파일 정리" ImageSyncNoTag: "이미지 {{ .image }}에 태그가 없어 이미지 ID로 저장합니다" ImageSyncFrontendTagsIgnored: "소스 노드의 이미지 {{ .image }}에서 태그를 찾지 못해 프론트엔드 태그를 무시했습니다." ImageSyncHandlePrivateKey: "이미지 동기화 노드 개인 키 처리" ImageSyncHandlePublicKey: "이미지 동기화 노드 공개 키 처리" ImageSyncTransfer: "이미지 임시 파일 전송 시작: {{ .source }}:{{ .sourcePath }} -> {{ .dest }}:{{ .destPath }}" # 명령줄 SudoHelper: "{{ .cmd }} 명령을 사용하거나 root 사용자로 전환하세요." UsernameNeed: "Enterprise 버전은 --username을 지정해야 합니다" DBConnErr: "오류: 데이터베이스 연결 초기화 실패 {{ .err }}" SystemVersion: "버전: " SystemMode: "모드: " # 명령줄 - 앱 AppVersion: "앱 버전" AppCommands: "앱 관련 명령어" AppInit: "앱 초기화" AppKeyVal: "앱 키 (영어만 지원)" AppCreateFileErr: "파일 {{ .name }} 생성 실패 {{ .err }}" AppCreateDirErr: "폴더 {{ .name }} 생성 실패 {{ .err }}" AppMissKey: "앱 키가 없습니다. -k 옵션으로 지정하세요." AppMissVersion: "앱 버전이 없습니다. -v 옵션으로 지정하세요." AppVersionExist: "버전이 이미 존재합니다" AppCreateSuccessful: "생성 성공" AppWriteErr: "파일 {{ .name }} 쓰기 실패 {{ .err }}" # 명령줄 - 수신 IP ListenIPCommands: "IP 변경" ListenIPv4: "IPv4 에서 수신 대기" ListenIPv6: "IPv6 에서 수신 대기" ListenChangeSuccessful: "변경 성공 현재 {{ .value }}에서 수신 대기 중입니다." # 명령줄 - 재설정 ResetCommands: "시스템 정보 초기화" ResetMFA: "1Panel 이중 인증 취소" ResetHttps: "1Panel HTTPS 로그인 취소" ResetEntrance: "1Panel 보안 입구 취소" ResetIPs: "1Panel 허용 IP 제한 취소" ResetDomain: "1Panel 도메인 바인딩 취소" ResetPasskey: "1Panel 패스키 초기화" # 명령줄 - 사용자 UserList: "1Panel 사용자 목록 가져오기" UserTableName: "이름" UserTableMFAStatus: "MFA 상태" UserTableSuperAdmin: "슈퍼 관리자" UserTableCreatedAt: "생성일" UserEmptyList: "사용자를 찾을 수 없습니다" UserInfo: "패널 정보 가져오기" UserInfoAddr: "패널 주소: " UserInfoPassHelp: "팁: 비밀번호를 변경하려면 다음 명령어를 실행할 수 있습니다: " # 명령줄 - 복원 RestoreCommands: "1Panel 서비스와 데이터를 롤백" RestoreNoSuchFile: "롤백 파일을 찾을 수 없습니다" RestoreStep1: "(1/5) {{ .name }} 디렉터리에서 1Panel 서비스와 데이터의 롤백을 시작합니다..." RestoreStep2: "(2/5) 1Panel 바이너리 롤백 완료" RestoreStep3: "(3/5) 1Panel 스크립트 롤백 완료" RestoreStep4: "(4/5) 1Panel 서비스 롤백 완료" RestoreStep5: "(5/5) 1Panel 데이터 롤백 완료" RestoreSuccessful: "롤백이 완료되었습니다. {{ .version }}(으)로 되돌리고 서비스를 다시 시작합니다..." # 명령줄 - 업데이트 UpdateCommands: "패널 정보 업데이트" UpdateUser: "사용자 정보 업데이트" UpdatePassword: "사용자 비밀번호 업데이트" UpdatePort: "패널 포트 업데이트" UpdateUserNull: "오류: 사용자가 비어 있습니다" UpdateUserBlank: "오류: 사용자에 공백이 포함되어 있습니다" UpdateUserFormat: "오류: 잘못된 사용자 형식 영어, 중국어, 숫자, _만 지원하며 길이는 3~30자입니다." UpdateUserErr: "오류: 사용자 업데이트 실패 {{ .err }}" UpdateSuccessful: "업데이트 성공" UpdateUserResult: "사용자: {{ .name }}" UpdatePasswordRead: "오류: 사용자 비밀번호 정보 읽기 실패 {{ .err }}" UpdatePasswordNull: "오류: 사용자 비밀번호가 비어 있습니다" UpdateUPasswordBlank: "오류: 사용자 비밀번호에 공백이 포함되어 있습니다" UpdatePasswordFormat: "오류: 사용자 비밀번호는 문자, 숫자, 특수문자(@#$%*_,.?)만 지원하며 길이는 8~30자입니다." UpdatePasswordLen: "오류: 6자 이상의 비밀번호를 입력하세요" UpdatePasswordRe: "비밀번호 확인:" UpdatePasswordErr: "오류: 사용자 비밀번호 업데이트 실패 {{ .err }}" UpdatePasswordSame: "오류: 두 비밀번호가 일치하지 않습니다. 확인 후 다시 시도하세요" UpdatePasswordResult: "사용자 비밀번호: {{ .name }}" UpdatePortFormat: "오류: 입력한 포트 번호는 1~65535 사이여야 합니다" UpdatePortUsed: "오류: 포트 번호가 이미 사용 중입니다. 확인 후 다시 시도하세요" UpdatePortErr: "오류: 패널 포트 업데이트 실패 {{ .err }}" UpdatePortResult: "패널 포트: {{ .name }}" UpdatePortFirewallAdd: "방화벽 포트 규칙 추가 실패 {{ .err }}, 방화벽 규칙에 {{ .name }} 포트를 수동으로 추가하세요." UpdatePortFirewallDel: "오류: 방화벽 포트 삭제 실패 {{ .err }}" UpdatePortFirewallReload: "방화벽 다시 로드 실패 {{ .err }}, 방화벽을 수동으로 다시 로드하세요." # 모바일 앱 ErrVerifyToken: '토큰 검증 오류가 발생했습니다. 재설정 후 다시 스캔해 주세요.' ErrInvalidToken: '유효하지 않은 토큰입니다. 재설정 후 다시 스캔해 주세요.' ErrExpiredToken: 'QR 코드가 더 이상 유효하지 않습니다. 새로 생성한 후 다시 스캔해 주세요.' # 명령 내보내기 Name: "이름" Command: "명령어" # LDAP ErrLDAPConnectionTest: "LDAP 연결 테스트에 실패했습니다. 서버 주소, 바인드 계정 및 네트워크 설정을 확인하세요." ErrLDAPLoginTest: "LDAP 로그인 테스트에 실패했습니다. 사용자 이름과 비밀번호를 확인하세요." LDAPConnectionTestSuccess: "LDAP 연결 테스트에 성공했습니다." ErrLDAPDirectorySearch: "LDAP 사용자를 읽지 못했습니다. 연결 및 검색 설정을 확인하세요." ErrLDAPConfigLoad: "LDAP 설정을 불러오지 못했습니다." ErrLDAPConfigSave: "LDAP 설정을 저장하지 못했습니다." ErrLDAPURLInvalid: "LDAP 서버 주소는 ldap:// 또는 ldaps://를 사용하고 유효한 호스트를 포함해야 합니다." ErrLDAPBindDNRequired: "바인드 DN은 필수입니다." ErrLDAPBindPasswordRequired: "바인드 비밀번호는 필수입니다." ErrLDAPUserOURequired: "사용자 OU는 필수입니다." ErrLDAPConnectTimeoutRange: "연결 시간 제한은 1초에서 120초 사이여야 합니다." ErrLDAPSearchPageSizeRange: "LDAP 조회 페이지 크기는 1에서 10000 사이여야 합니다." ErrLDAPResultPageSizeRange: "결과 페이지 크기는 200을 초과할 수 없습니다." ErrLDAPAttributeMapOnlyName: "속성 매핑은 name 필드만 지원합니다." ErrLDAPNameAttributeRequired: "name에 매핑할 LDAP 속성은 필수입니다." ErrLDAPAttributeNameInvalid: "속성 매핑에 잘못된 LDAP 속성 이름이 포함되어 있습니다." ErrLDAPUserFilterRequired: "사용자 필터는 필수입니다." ErrLDAPUserFilterInvalid: "사용자 필터가 올바른 LDAP 필터가 아닙니다." ErrLDAPAttributeMapObject: "속성 매핑은 올바른 JSON 객체여야 합니다." ErrLDAPImportModeInvalid: "가져오기 모드는 선택한 사용자 또는 모든 사용자여야 합니다." ErrLDAPImportSelectionRequired: "가져올 LDAP 사용자를 한 명 이상 선택하세요." ErrLDAPImportSelectionInvalid: "선택한 LDAP 사용자가 잘못되었거나 더 이상 존재하지 않습니다. 디렉터리를 다시 읽으세요." ErrLDAPConfigChanged: "LDAP 설정이 변경되었습니다. 디렉터리를 다시 읽고 가져오기를 다시 미리 보세요." ErrLDAPRoleRequired: "새 LDAP 사용자의 역할을 선택하세요." ErrLDAPImportPlanIncomplete: "완전하지 않은 LDAP 가져오기 계획은 실행할 수 없습니다." ErrLDAPQueryTokenInvalid: "LDAP 조회 결과가 만료되었습니다. 디렉터리를 다시 읽으세요." ErrLDAPPlanTokenInvalid: "LDAP 가져오기 미리 보기가 만료되었습니다. 다시 미리 보세요." ErrLDAPOperationFailed: "LDAP 작업에 실패했습니다. 다시 시도하세요." ErrLDAPEntryIdentityMissing: "LDAP 항목에 안정적인 ID 또는 사용자 이름이 없습니다." ErrLDAPDuplicateExternalID: "LDAP가 중복된 사용자 ID를 반환했습니다." ErrLDAPUsernameConflict: "이 사용자 이름은 다른 사용자가 이미 사용 중입니다." ErrLDAPUsernameSourceConflict: "이 사용자 이름은 로컬 사용자 또는 다른 인증 소스가 이미 사용 중입니다." ErrLDAPUsernameConcurrentConflict: "가져오는 동안 다른 사용자가 이 사용자 이름을 사용했습니다." ErrLDAPLocalCredentialsReadonly: "LDAP 사용자 이름과 비밀번호는 LDAP에서 관리되므로 로컬에서 변경할 수 없습니다." ErrLDAPPasswordExpirationUnsupported: "LDAP 사용자는 로컬 비밀번호 만료 정책을 사용하지 않습니다." ErrLDAPSyncSourceDisabled: "동기화를 활성화하거나 실행하기 전에 AD/LDAP를 활성화하세요." ErrLDAPSyncConfigSave: "LDAP 동기화 설정을 저장하지 못했습니다." ErrLDAPSyncSchedule: "LDAP 동기화 일정을 업데이트하지 못했습니다." ErrLDAPSyncCronInvalid: "유효한 5필드 Cron 표현식을 입력하세요." ErrLDAPSyncWeekdayInvalid: "유효한 요일을 선택하세요." ErrLDAPSyncCronRequired: "Cron 표현식을 입력하세요." ErrLDAPSyncScheduleTypeInvalid: "유효한 동기화 일정 유형을 선택하세요." ErrLDAPSyncTimeInvalid: "유효한 실행 시간을 입력하세요." ErrLDAPSyncRunning: "LDAP 동기화 작업이 이미 실행 중입니다." ErrLDAPSyncDirectoryIncomplete: "LDAP 전체 조회 결과가 불완전하여 사용자 상태를 변경하지 않았습니다." ErrLDAPSyncFailed: "LDAP 사용자 동기화에 실패했습니다." LDAPSyncSuccess: "LDAP 사용자 동기화가 완료되었습니다." ErrSAML2NotEnabled: "SAML2 인증이 활성화되지 않았습니다." ErrSAML2ConfigInvalid: "SAML2 구성이 올바르지 않습니다." ErrSAML2ConfigChanged: "SAML2 구성이 변경되었습니다. 인증을 다시 시작하세요." ErrSAML2PanelOriginMissing: "스킴, 호스트 및 선택적 포트만 포함하는 유효한 1Panel 공개 URL을 입력하세요." ErrSAML2MetadataInvalid: "IdP 메타데이터가 없거나 올바르지 않습니다." ErrSAML2MetadataURLInvalid: "IdP 메타데이터 URL 또는 메타데이터의 엔드포인트가 허용되지 않습니다." ErrSAML2MetadataFetch: "IdP 메타데이터를 불러오지 못했습니다." ErrSAML2MetadataCertificate: "IdP 메타데이터에 사용할 수 있는 서명 인증서가 없습니다." ErrSAML2KeyPairInvalid: "SP 개인 키와 인증서가 올바르지 않거나 서로 일치하지 않습니다." ErrSAML2NameAttributeMissing: "구성된 SAML2 사용자 이름 속성이 없거나 올바르지 않습니다." ErrSAML2DefaultRoleInvalid: "SAML2에 구성된 기본 역할을 사용할 수 없습니다." ErrSAML2SLOUnavailable: "IdP가 지원되는 Single Logout 서비스를 제공하지 않습니다." ErrSAML2TestExpired: "SAML2 테스트가 만료되었습니다. 다시 실행하세요." ErrSAML2LoginExpired: "SAML2 로그인 요청이 만료되었습니다. 다시 시도하세요." ErrSAML2InvalidState: "SAML2 로그인 상태가 올바르지 않거나 이미 사용되었습니다." ErrSAML2RequestBuild: "SAML2 요청을 생성하지 못했습니다." ErrSAML2ResponseInvalid: "SAML2 응답이 올바르지 않습니다." ErrSAML2SignatureInvalid: "SAML2 서명이 올바르지 않습니다." ErrSAML2Replay: "SAML2 메시지가 이미 사용되었습니다." ErrSAML2NameIDMissing: "SAML2 NameID가 없거나 올바르지 않습니다." ErrSAML2SessionIndexMissing: "SAML2 SessionIndex가 없거나 올바르지 않습니다." ErrSAML2NameConflictLocal: "SAML2 사용자 이름이 로컬 사용자와 충돌합니다." ErrSAML2NameConflictLDAP: "SAML2 사용자 이름이 LDAP 사용자와 충돌합니다." ErrSAML2NameConflictOIDC: "SAML2 사용자 이름이 OIDC 사용자와 충돌합니다." ErrSAML2NameConflictSAML2: "SAML2 사용자 이름이 다른 SAML2 ID와 충돌합니다." ErrSAML2Internal: "SAML2 인증 중 내부 오류가 발생했습니다. 나중에 다시 시도하세요." ErrSAML2LogoutExpired: "SAML2 로그아웃 요청이 만료되었습니다." ErrSAML2LogoutInvalid: "SAML2 로그아웃 메시지가 올바르지 않습니다." ErrSAML2LocalCredentialsReadonly: "SAML2 사용자 이름과 비밀번호는 ID 공급자가 관리하므로 로컬에서 변경할 수 없습니다." ErrSAML2PasswordExpirationUnsupported: "SAML2 사용자는 로컬 비밀번호 만료 정책을 사용하지 않습니다."