{ "meta": { "lang": "ko", "name": "Korean", "native_name": "한국어", "direction": "ltr" }, "common": { "loading": "로딩 중...", "confirm": "확인", "alert": "알림", "prompt": "값을 입력하세요", "copied": "클립보드에 복사됨", "save": "저장", "saved": "저장됨", "error": "오류", "success": "성공", "warning": "경고", "info": "정보", "all": "전체", "cancel": "취소", "delete": "삭제", "actions": "작업", "close": "닫기", "required": "필수", "name_required": "이름은 필수입니다", "active": "활성", "inactive": "비활성", "invalid_json": "유효하지 않은 JSON", "field_required": "{field}은(는) 필수입니다", "back": "뒤로", "edit": "편집", "yes": "예", "no": "아니요" }, "nav": { "main": "메인", "tools": "도구", "system": "시스템", "dashboard": "대시보드", "devices": "장치", "keys": "키", "generator": "생성기", "settings": "설정", "users": "사용자", "inventory": "인벤토리", "tickets": "티켓", "help_requests": "도움 요청", "activity": "활동", "automation": "자동화", "file_transfer": "파일 전송", "network": "네트워크", "dataguard": "DataGuard", "reports": "보고서", "tenants": "Tenants", "registrations": "Registrations", "management": "관리", "toggle_sidebar": "사이드바 전환", "cdap": "CDAP 장치", "fleet": "플릿", "scaling": "스케일링", "cross_platform": "크로스 플랫폼", "tokens": "장치 토큰", "organizations": "조직", "policies": "정책", "attestation": "인증", "remote": "원격 데스크톱", "toolkit": "Toolkit", "security_audit": "보안 감사", "languages": "언어", "resource_control": "리소스 제어", "chat": "채팅", "help": "Help", "expand_sidebar": "사이드바 확장", "toggle_theme": "테마 전환", "sdk_studio": "SDK Studio", "login": "Login", "permissions": "권한", "server_management": "서버 관리", "server_attestation": "서버 성능 인증", "commercialization": "상용화", "remote_open_tab": "새 탭에서 원격 데스크톱 클라이언트 열기" }, "auth": { "login": "Login", "logout": "Logout", "login_title": "Sign In", "login_subtitle": "BetterDesk 콘솔에 로그인", "username": "사용자 이름", "username_placeholder": "사용자 이름을 입력하세요", "password": "비밀번호", "password_placeholder": "비밀번호를 입력하세요", "remember_me": "Remember me", "login_failed": "로그인에 실패했습니다. 자격 증명을 확인하세요.", "invalid_credentials": "사용자 이름 또는 비밀번호가 잘못되었습니다.", "username_collision": "동일한 사용자 이름의 로컬 계정이 이미 있습니다. 로컬 비밀번호로 로그인하거나 관리자에게 충돌하는 계정의 이름 변경 또는 삭제를 요청하세요.", "fill_all_fields": "모든 필드를 작성해 주세요.", "logout_confirm": "정말로 로그아웃하시겠습니까?", "change_password": "비밀번호 변경", "password_required": "비밀번호가 필요합니다", "totp_title": "2단계 인증", "totp_subtitle": "인증 앱의 6자리 코드를 입력하세요.", "totp_code": "Verification Code", "totp_verify": "Verify", "totp_use_recovery": "대신 복구 코드를 사용하세요", "totp_use_code": "대신 인증자 코드를 사용하세요", "totp_recovery_code": "복구 코드", "totp_back_to_login": "로그인으로 돌아가기", "totp_invalid_code": "유효하지 않은 인증 코드입니다. 다시 시도하세요.", "totp_enter_code": "6자리 코드를 입력하세요", "totp_enter_recovery": "복구 코드를 입력하세요", "totp_session_expired": "세션이 만료되었습니다. 다시 로그인하세요.", "totp_already_enabled": "2단계 인증이 이미 활성화되어 있습니다", "pro_only_account": "이 계정은 RustDesk 데스크톱 클라이언트 전용입니다. 로그인하려면 RustDesk 앱을 사용하세요.", "passwords_mismatch": "비밀번호가 일치하지 않습니다", "or": "또는", "login_sso": "SSO로 로그인", "login_sso_with": "{{provider}}로 로그인", "oidc_denied": "ID 공급자가 액세스를 거부했습니다.", "oidc_invalid": "OIDC 콜백이 잘못되었습니다. 다시 시도해 주세요.", "oidc_failed": "OIDC 인증에 실패했습니다. 다시 시도해 주세요.", "oidc_error": "SSO 로그인 중에 오류가 발생했습니다.", "oidc_no_account": "귀하의 계정을 찾을 수 없으며 자동 등록이 비활성화되었습니다.", "totp_rate_limited": "시도 횟수가 너무 많습니다. 나중에 다시 시도해 주세요.", "emergency_mode_banner": "Go server에 연결할 수 없음 — 비상 모드에서 실행 중(관리자 전용, 제한된 기능)" }, "dashboard": { "title": "대시보드", "subtitle": "Overview of your RustDesk server", "total_devices": "총 장치", "online_now": "Online Now", "banned": "Banned", "active_connections": "활성 연결", "offline_devices": "Offline", "server_status": "서버 상태", "quick_actions": "빠른 작업", "manage_devices": "연결된 장치 관리", "view_keys": "서버 키 보기", "generate_config": "클라이언트 구성 생성", "server_settings": "설정 구성", "greeting_morning": "좋은 아침입니다, {name}", "greeting_afternoon": "좋은 오후입니다, {name}", "greeting_evening": "좋은 저녁입니다, {name}", "greeting_night": "좋은 밤 되세요, {name}", "health_overview": "상태 개요", "devices_online": "온라인 장치", "active_alerts": "활성 경고", "recent_connections": "총 장치 수", "server_uptime": "서버 가동 시간", "activity_feed": "최근 활동", "no_recent_activity": "최근 활동 없음", "just_now": "방금", "ago": "전", "tip_desktop_mode": "모니터링 위젯이 있는 다중 창 작업 공간을 위해 데스크톱 모드를 사용해 보세요.", "tip_keyboard_shortcuts": "어디서나 Ctrl+K 를 눌러 빠른 검색 명령 팔레트를 열 수 있습니다.", "tip_address_book": "RustDesk 클라이언트에서 로그인하여 장치 간 주소록을 동기화하세요.", "tip_2fa": "계정 보안을 강화하려면 설정에서 2단계 인증을 활성화하세요.", "tip_bulk_actions": "여러 장치를 선택하고 일괄 작업으로 한 번에 관리하세요.", "tip_theme": "사이드바 설정에서 다크 테마와 라이트 테마를 전환하세요.", "tip_cdap": "CDAP 게이트웨이를 통해 IoT 장치와 산업용 센서를 연결하세요.", "tip_tutorials": "오른쪽 아래의 도움말 버튼을 클릭하면 대화형 튜토리얼을 볼 수 있습니다." }, "devices": { "title": "장치", "id": "ID", "hostname": "Hostname", "username": "사용자 이름", "platform": "Platform", "version": "Version", "ip_address": "IP Address", "note": "Note", "last_seen": "Last Seen", "last_online": "Last Online", "first_seen": "First Seen", "created": "생성됨", "status": "Status", "ban_reason": "Ban Reason", "actions": "Actions", "search_placeholder": "기기 검색...", "filter_all": "All", "filter_online": "Online", "filter_offline": "Offline", "filter_banned": "Banned", "selected": "selected", "showing": "Showing", "of": "of", "sync_status": "동기화 상태", "sync_success": "상태가 성공적으로 동기화되었습니다.", "empty_title": "기기를 찾을 수 없습니다.", "empty_text": "현재 필터와 일치하는 기기가 없습니다.", "edit_title": "장치 세부정보", "delete_title": "장치 삭제", "delete_confirm": "{id} 장치를 삭제하시겠습니까?", "delete_warning": "이 기기를 영구적으로 삭제하려고 합니다.", "delete_permanent": "이 작업은 취소할 수 없습니다. 이 장치와 관련된 모든 데이터는 데이터베이스에서 영구적으로 제거됩니다.", "delete_success": "기기가 삭제되었습니다.", "revoke_option": "기기 취소", "revoke_hint": "장치 ID를 차단하고 활성 연결을 끊습니다.", "revoke_success": "기기가 취소되었습니다.", "details": "장치 세부정보", "ban_title": "금지 장치", "ban_confirm": "{id} 장치를 차단하시겠습니까?", "ban_success": "기기가 성공적으로 차단되었습니다.", "unban_title": "장치 차단 해제", "unban_confirm": "{id} 장치 차단을 해제하시겠습니까?", "unban_success": "기기 차단이 해제되었습니다.", "change_id": "Change ID", "change_id_title": "장치 ID 변경", "new_id": "New ID", "change_id_hint": "6~16자, 문자, 숫자, 대시, 밑줄만 가능", "change_id_success": "기기 ID가 성공적으로 변경되었습니다.", "id_length_error": "ID는 6~16자여야 합니다.", "id_format_error": "ID에는 문자, 숫자, 대시, 밑줄만 포함할 수 있습니다.", "bulk_delete_title": "여러 장치 삭제", "bulk_delete_confirm": "{count} 기기를 삭제하시겠습니까?", "bulk_delete_success": "{count} 장치가 성공적으로 삭제되었습니다.", "columns": "Columns", "toggle_columns": "표시되는 열 전환", "not_found": "장치를 찾을 수 없습니다", "delete_failed": "기기를 삭제하지 못했습니다.", "change_id_failed": "기기 ID를 변경하지 못했습니다.", "invalid_id": "잘못된 장치 ID(6~16자 필요)", "invalid_id_format": "잘못된 ID 형식(문자, 숫자, 대시, 밑줄만)", "id_exists": "장치 ID가 이미 존재합니다.", "no_selection": "선택한 기기가 없습니다.", "device_type": "Type", "filter_type_all": "All Types", "filter_type_rustdesk": "RustDesk", "filter_type_desktop": "Desktop", "filter_type_scada": "SCADA", "filter_type_iot": "IoT", "filter_type_agent": "Agent", "cdap_connected": "CDAP Connected", "revoke": "Revoke", "access_policy": "접근 정책", "unattended_access": "무인 액세스", "enable_unattended": "무인 액세스 활성화", "access_password": "접속 비밀번호", "password_configured": "비밀번호 설정", "no_password": "비밀번호 없음", "new_password": "새 비밀번호(현재 비밀번호를 유지하려면 비워두세요)", "clear_password": "비밀번호 지우기", "access_schedule": "액세스 일정", "enable_schedule": "시간 기반 액세스 활성화", "allowed_days": "허용일수", "start_time": "Start time", "end_time": "End time", "timezone": "Timezone", "allowed_operators": "허용된 연산자", "all_operators": "모든 연산자(비워두기)", "operators_hint": "쉼표로 구분된 사용자 이름입니다. 모든 연산자를 허용하려면 비워 두세요.", "last_updated_by": "최종 업데이트자:", "access_policy_saved": "액세스 정책이 저장되었습니다.", "tabs": { "overview": "개요", "hardware": "Hardware", "metrics": "측정항목", "connections": "연결", "audit": "Audit", "info": "Info", "history": "역사" }, "hardware": { "cpu": "Processor", "memory": "Memory", "disk": "Disk", "os": "Operating System", "hostname": "Hostname", "uptime": "Uptime", "load_avg": "평균 부하", "network": "네트워크 어댑터", "no_data": "사용 가능한 하드웨어 데이터가 없습니다.", "title": "하드웨어 정보", "gpu": "Graphics Card" }, "display_name": "표시 이름", "display_name_placeholder": "사용자 정의 이름(호스트 이름 재정의)", "note_placeholder": "이 장치에 대한 참고 사항", "tags": "Tags", "filter_by_tags": "태그로 필터링", "no_tags": "No tags", "all_groups": "모든 그룹", "create_group": "그룹 만들기", "manage_groups": "그룹 관리", "group_name": "그룹 이름", "group_name_placeholder": "예를 들어 미디어 PC", "dynamic_group": "태그의 동적 그룹", "dynamic_group_hint": "이 태그가 있는 장치는 자동으로 연결됩니다.", "tag_filter": "Tag filter", "group_allowed_users": "허용된 사용자", "group_allowed_users_hint": "장치 권한이 있는 모든 사람에게 그룹이 표시되도록 하려면 비워 두세요.", "group_tag_required": "동적 그룹에는 태그 필터가 필요합니다.", "group_invalid": "잘못된 그룹 식별자", "group_not_found": "그룹을 찾을 수 없습니다", "group_saved": "장치 그룹이 저장되었습니다.", "groups_saved": "장치 그룹이 저장되었습니다.", "group_membership_added": "그룹에 추가됨", "group_membership_removed": "그룹에서 제거됨", "no_groups": "아직 그룹이 없습니다.", "manual_groups": "수동 그룹", "dynamic_memberships": "동적 멤버십", "group_allowed_user_groups": "허용된 사용자 그룹", "group_allowed_user_groups_hint": "선택한 사용자 그룹의 사용자는 이 장치 그룹에 액세스할 수 있습니다.", "no_user_groups": "사용자 그룹 없음", "edit_group": "그룹 수정", "delete_group": "그룹 삭제", "delete_group_confirm": "장치 그룹 {name}를 삭제하시겠습니까?", "group_deleted": "기기 그룹이 삭제되었습니다.", "folder_group_readonly": "폴더 지원 그룹은 폴더에서 관리됩니다.", "manage_user_groups": "사용자 그룹 관리", "restore_failed": "기기 복원에 실패했습니다", "no_signal_tooltip": "클라이언트가 최근 API에 연락했지만 시그널 서버(UDP :21116)에 등록되지 않았습니다. 서버 마이그레이션 후 클라이언트를 재시작하세요.", "per_page": "페이지당" }, "keys": { "title": "서버 키", "subtitle": "RustDesk 클라이언트에 대한 공개 키 및 구성", "public_key": "Public Key", "qr_code": "QR Code", "server_info": "서버 정보", "download": "키 다운로드", "show_qr": "Show QR", "qr_hint": "RustDesk 모바일 앱으로 이 QR 코드를 스캔하세요.", "no_key": "공개 키를 찾을 수 없습니다.", "no_key_to_copy": "복사할 키가 없습니다.", "no_qr": "QR 코드를 사용할 수 없습니다", "download_success": "키 파일 다운로드됨", "not_found": "키를 찾을 수 없습니다", "api_not_found": "API 키를 찾을 수 없습니다." }, "settings": { "title": "설정", "subtitle": "콘솔 구성 및 계정 설정", "tab_general": "General", "tab_server": "서버", "tab_branding": "Branding", "tab_backup": "Backup", "language": "언어", "change_password": "비밀번호 변경", "password_desc": "계정 비밀번호 업데이트", "current_password": "현재 비밀번호", "new_password": "새 비밀번호", "confirm_password": "비밀번호 확인", "save_password": "비밀번호 업데이트", "password_changed": "비밀번호가 성공적으로 변경되었습니다", "fill_all_fields": "모든 필드를 입력하세요", "passwords_not_match": "비밀번호가 일치하지 않습니다", "password_requirements": "비밀번호 요구 사항", "password_requirements_not_met": "비밀번호가 요구 사항을 충족하지 않습니다", "req_length": "최소 8자 이상", "req_uppercase": "대문자를 최소 1개 포함해야 합니다", "req_lowercase": "소문자를 최소 1개 포함해야 합니다", "req_number": "숫자를 최소 1개 포함해야 합니다", "server_info": "서버 정보", "version": "Version", "database": "Database", "uptime": "Uptime", "audit_log": "Audit Log", "audit_desc": "최근 콘솔 활동", "no_audit_logs": "감사 로그를 찾을 수 없습니다.", "backend_title": "서버 백엔드", "backend_desc": "장치 관리 및 신호/중계 서비스에 사용할 서버 백엔드를 선택하세요.", "backend_original": "Original", "backend_enhanced": "Enhanced", "backend_rustdesk_desc": "표준 RustDesk 신호 및 릴레이 서버(hbbs + hbbr). 엔드포인트가 제한된 기본 HTTP API입니다.", "backend_betterdesk_desc": "전체 REST API, JWT 인증, 차단 목록, 태그, 실시간 WebSocket 이벤트 및 감사 로깅을 갖춘 향상된 Go 기반 서버입니다.", "backend_feature_signal": "시그널 서버(ID등록)", "backend_feature_relay": "중계서버(연결중계)", "backend_feature_basic_api": "기본 REST API", "backend_feature_full_api": "전체 REST API(34개 이상의 엔드포인트)", "backend_feature_jwt": "JWT 인증 및 TOTP 2FA", "backend_feature_blocklist": "IP/ID 차단 목록 관리", "backend_feature_tags": "장치 태그 및 그룹화", "backend_feature_audit": "감사 이벤트 로깅", "backend_feature_websocket": "실시간 WebSocket 이벤트", "backend_connection": "연결", "backend_api_url": "API URL", "backend_test": "연결 테스트", "backend_testing": "테스트 중...", "backend_save": "백엔드 적용", "backend_saved": "서버 백엔드가 성공적으로 변경되었습니다. 이제 기기 데이터가 새 백엔드에서 관리됩니다.", "backend_save_failed": "서버 백엔드를 전환하지 못했습니다.", "backend_test_success": "연결 성공! 서버에 연결할 수 있습니다.", "backend_test_failed": "연결에 실패했습니다. 서버에 연결할 수 없습니다.", "backend_confirm_switch": "서버 백엔드를 전환하시겠습니까? 이로 인해 장치 관리 방식이 변경됩니다.", "backend_unreachable": "전환할 수 없음: 대상 서버에 연결할 수 없습니다. 먼저 서버를 시작하세요.", "invalid_backend": "백엔드 선택이 잘못되었습니다. 'rustdesk' 또는 'betterdesk'를 선택하세요.", "backend_status_running": "Connected", "backend_status_unreachable": "Unreachable", "backend_status_error": "Error", "backend_status_unknown": "Unknown", "totp_title": "2단계 인증", "totp_desc": "TOTP 인증 앱(Google Authenticator, Microsoft Authenticator, Authy 등)을 사용하여 추가 보안 계층을 추가하세요.", "totp_enabled": "2FA 활성화", "totp_enabled_desc": "귀하의 계정은 이중 인증으로 보호됩니다.", "totp_disabled": "2FA가 활성화되지 않음", "totp_disabled_desc": "추가 계정 보안을 위해 이중 인증을 활성화합니다.", "totp_setup": "Enable 2FA", "totp_disable": "Disable 2FA", "totp_step1": "휴대폰에 인증 앱을 설치하세요", "totp_step2": "아래 QR코드를 스캔하세요", "totp_step3": "인증을 위해 6자리 코드를 입력하세요", "totp_manual_key": "Manual key", "totp_enter_code": "인증코드를 입력하세요", "totp_verify_enable": "확인 및 활성화", "totp_enabled_success": "이중 인증이 활성화되었습니다!", "totp_recovery_warning": "복구 코드를 안전한 곳에 보관하세요. 각 코드는 한 번만 사용할 수 있습니다. 인증 앱에 액세스할 수 없는 경우 이 코드를 사용하여 로그인할 수 있습니다.", "totp_done": "Done", "totp_disable_warning": "이중 인증을 비활성화하면 계정의 보안이 약화됩니다. 확인을 위해 비밀번호를 입력하세요.", "totp_disabled_success": "이중 인증이 비활성화되었습니다.", "tutorials_title": "튜토리얼 및 가이드", "tutorials_desc": "콘솔 전체에 표시되는 둘러보기 및 도움말 오버레이를 제어하세요.", "tutorials_enabled": "튜토리얼 활성화", "tutorials_enabled_hint": "비활성화되면 튜토리얼이 자동으로 시작되지 않으며 도움말 버튼이 숨겨집니다.", "tutorials_reset_hint": "다시 표시할 수 있도록 모든 튜토리얼을 보이지 않음으로 표시하세요.", "tutorials_enabled_toast": "튜토리얼 활성화", "tutorials_disabled_toast": "튜토리얼이 비활성화되었습니다.", "tutorials_reset_toast": "모든 튜토리얼이 재설정되었습니다.", "tab_auth": "인증", "ldap_title": "LDAP / Active Directory", "ldap_desc": "LDAP 또는 Active Directory를 통해 외부 인증을 구성합니다. 사용자는 도메인 자격 증명을 사용하여 로그인할 수 있습니다.", "ldap_enabled": "LDAP 인증 활성화", "ldap_enabled_hint": "활성화되면 사용자는 LDAP/AD 자격 증명을 사용하여 로그인할 수 있습니다. 로컬 계정은 여전히 ​​대체 수단으로 작동합니다.", "ldap_connection": "서버 연결", "ldap_host": "호스트", "ldap_port": "항구", "ldap_use_tls": "LDAPS(TLS)", "ldap_start_tls": "StartTLS", "ldap_skip_verify": "TLS 확인 건너뛰기", "ldap_timeout": "연결 시간 초과(초)", "ldap_timeout_hint": "LDAP 서버 응답을 기다리는 데 걸리는 시간(초)", "ldap_bind_mode": "바인드 모드", "ldap_direct_bind": "직접 바인딩", "ldap_direct_bind_hint": "서비스 계정을 사용하여 검색하는 대신 DN 템플릿으로 직접 바인딩합니다.", "ldap_bind_dn": "바인딩 DN(서비스 계정)", "ldap_bind_dn_hint": "사용자를 검색하는 데 사용되는 읽기 전용 서비스 계정의 고유 이름입니다.", "ldap_bind_password": "비밀번호 바인딩", "ldap_base_dn": "기본 DN", "ldap_base_dn_hint": "사용자를 찾기 위한 검색 기반. dc=예, dc=com", "ldap_user_filter": "사용자 필터", "ldap_user_filter_hint": "LDAP 필터를 사용하여 사용자를 찾습니다. {{username}}를 자리 표시자로 사용하세요. 기본값: (sAMAccountName={{username}})", "ldap_direct_bind_dn": "직접 바인딩 DN 템플릿", "ldap_direct_bind_dn_hint": "직접 바인딩을 위한 DN 템플릿입니다. {{username}}를 자리 표시자로 사용하세요. uid={{username}},ou=사용자,dc=예,dc=com", "ldap_user_attrs": "사용자 속성", "ldap_attr_id": "사용자 이름 속성", "ldap_attr_email": "이메일 속성", "ldap_attr_name": "표시 이름 속성", "ldap_group_mapping": "그룹 → 역할 매핑", "ldap_group_base_dn": "그룹 기본 DN", "ldap_group_base_dn_hint": "기본 기본 DN을 사용하려면 비워 두세요.", "ldap_group_filter": "그룹 필터", "ldap_group_attr_name": "그룹 이름 속성", "ldap_default_role": "기본 역할", "ldap_default_role_hint": "LDAP 그룹이 매핑과 일치하지 않는 사용자에게 할당된 역할", "ldap_role_viewer": "뷰어", "ldap_role_operator": "운영자", "ldap_role_admin": "관리자", "ldap_group_role_map": "그룹 → 역할 지도", "ldap_group_role_map_hint": "LDAP 그룹을 BetterDesk 역할에 맵핑하십시오. 형식: GroupDN=역할은 |로 구분됩니다. (파이프). 예: CN=관리자,DC=예,DC=com=관리자|CN=Ops,DC=예,DC=com=운영자", "ldap_test_connection": "연결 테스트", "ldap_testing": "테스트 중...", "ldap_test_success": "연결 성공! LDAP 서버에 연결할 수 있고 바인드 자격 증명이 유효합니다.", "ldap_test_failed": "연결 실패", "ldap_save": "LDAP 구성 저장", "ldap_saved": "LDAP 구성이 성공적으로 저장되었습니다.", "oidc_title": "OIDC / OAuth2 (SSO)", "oidc_desc": "OpenID Connect 공급자(Azure AD, Okta, Google, Keycloak 등)를 통해 Single Sign-On을 구성합니다.", "oidc_enabled": "OIDC 인증 활성화", "oidc_enabled_hint": "사용자가 외부 ID 공급자로 로그인하도록 허용", "oidc_provider": "ID 제공자", "oidc_display_name": "버튼 표시 이름", "oidc_display_name_hint": "로그인 버튼에 표시되는 텍스트(예: Azure AD, Okta)", "oidc_issuer_url": "발급자 URL", "oidc_issuer_url_hint": "OpenID Connect 발급자 URL(검색은 자동으로 수행됨)", "oidc_client_id": "클라이언트 ID", "oidc_client_secret": "클라이언트 비밀번호", "oidc_redirect_url": "URL 리디��션(콜백)", "oidc_redirect_url_hint": "IdP에 구성된 것과 정확히 일치해야 합니다. 일반적으로: http(s)://your-server:21114/api/auth/oidc/callback", "oidc_scopes": "범위", "oidc_use_pkce": "PKCE 사용(권장)", "oidc_auto_discovery": "자동 검색", "oidc_allow_signup": "사용자 자동 생성", "oidc_manual_endpoints": "수동 엔드포인트 URL", "oidc_authorization_url": "승인 끝점", "oidc_token_url": "토큰 엔드포인트", "oidc_userinfo_url": "사용자 정보 끝점", "oidc_claim_mapping": "청구 매핑", "oidc_claim_username": "사용자 이름 청구", "oidc_claim_email": "이메일 청구", "oidc_claim_name": "표시 이름 소유권 주장", "oidc_claim_groups": "그룹 클레임", "oidc_role_mapping": "역할 매핑", "oidc_default_role": "기본 역할", "oidc_group_role_map": "그룹 → 역할 매핑", "oidc_group_role_map_hint": "한 줄에 하나의 매핑: group_name=role(예: admins=admin, Operator=operator)", "oidc_test_discovery": "테스트 발견", "oidc_testing": "테스트 중...", "oidc_test_success": "발견 성공! 엔드포인트가 해결되었습니다.", "oidc_test_failed": "검색 실패", "oidc_issuer_required": "검색을 테스트하려면 발급자 URL가 필요합니다.", "oidc_save": "OIDC 구성 저장", "oidc_saved": "OIDC 구성이 성공적으로 저장되었습니다.", "tab_advanced": "고급", "connection_mode_title": "연결 전략", "connection_mode_desc": "RustDesk 데스크톱 클라이언트의 연결 방식을 제어합니다. 가능한 경우 직접 P2P(홀 펀칭), 또는 항상 릴레이 경유.", "connection_mode_label": "기본 연결 모드", "connection_mode_p2p_first": "P2P 우선(권장) — 직접 연결 시도 후 실패 시 릴레이로 전환", "connection_mode_relay_only": "릴레이 전용 — 모든 세션이 릴레이 서버를 통해 연결", "connection_mode_advanced": "고급 옵션", "connection_mode_fallback_ms": "P2P 폴백 시간 초과(밀리초)", "connection_mode_same_nat_relay": "두 피어가 동일한 공용 IP를 공유할 때 릴레이 강제 적용(NAT 헤어핀)", "connection_mode_network_hint": "P2P는 클라이언트 간에 UDP 21116 포트에 도달 가능해야 합니다. 서버에서 시그널 TCP 21116, 릴레이 TCP 21117, NAT 테스트 TCP 21115를 열어야 합니다. 웹 브라우저 클라이언트는 항상 릴레이를 사용합니다.", "connection_mode_save": "저장", "connection_mode_save_restart": "저장 및 서버 재시작", "connection_mode_saved": "연결 모드가 저장되었습니다", "connection_mode_restart_started": "서버 재시작이 시작되었습니다", "connection_mode_restart_failed": "서버 재시작에 실패했습니다", "connection_mode_not_configurable": "이 배포에서는 연결 모드를 변경할 수 없습니다(systemd 유닛 또는 docker-compose를 찾을 수 없음)", "connection_mode_compose_error": "docker-compose.yml에서 서버 환경 섹션을 찾을 수 없습니다", "connection_mode_source_saved": "저장 위치", "connection_mode_source_defaults": "서버 기본값 사용 중(패널에서 쓰기 불가)", "connection_mode_runtime": "활성 서버", "advanced_title": "구성 파일", "advanced_desc": "서버 구성 파일을 직접 편집합니다. 변경 사항을 적용하려면 서비스를 재시작해야 할 수 있습니다. 저장 전에 백업 복사본이 생성됩니다.", "advanced_warning": "이 파일에는 비밀 정보(API 키, 데이터베이스 비밀번호, 세션 시크릿)가 포함되어 있습니다. 영향을 이해한 경우에만 편집하세요. 잘못된 구문으로 인해 서버가 시작되지 않을 수 있습니다.", "advanced_files_label": "파일", "advanced_select_file": "목록에서 파일을 선택하여 내용을 보거나 편집합니다.", "advanced_reload": "새로고침", "advanced_save": "파일 저장", "advanced_apply_restart": "적용(서비스 재시작)", "advanced_saved": "구성 파일이 저장되었습니다", "advanced_restart_after_save": "구성이 저장되었습니다. 변경 사항을 적용하기 위해 영향받는 서비스를 지금 재시작하시겠습니까?", "advanced_restart_confirm": "관련 BetterDesk 서비스를 재시작하시겠습니까? 활성 연결이 잠시 중단될 수 있습니다.", "advanced_restart_console_confirm": "웹 콘솔 서비스를 재시작하시겠습니까? 브라우저 세션이 잠시 끊기고 콘솔이 복구되면 페이지가 다시 로드됩니다.", "advanced_restart_started": "서비스 재시작이 시작되었습니다", "advanced_restart_done": "콘솔이 재시작되었습니다 — 페이지 다시 로드 중…", "advanced_restart_polling": "콘솔이 온라인으로 돌아올 때까지 대기 중…", "advanced_restart_timeout": "재시작 명령이 전송되었지만 콘솔이 시간 내에 응답하지 않았습니다. systemd/NSSM 로그를 확인하고 수동으로 다시 로드하세요.", "advanced_restart_failed": "서비스 재시작에 실패했습니다(권한 부족 또는 서비스 미설치)", "advanced_save_confirm": "이 파일의 변경 사항을 저장하시겠습니까? 이전 버전의 백업이 생성됩니다.", "advanced_unsaved_confirm": "저장되지 않은 변경 사항이 있습니다. 삭제하시겠습니까?", "advanced_no_files": "이 시스템에서 사용 가능한 구성 파일이 없습니다.", "advanced_readonly": "읽기 전용", "advanced_missing": "없음", "advanced_new_file": "새 파일(저장하기 전까지 생성되지 않음)", "advanced_new_file_hint": "새 파일 — 내용을 추가하고 저장", "advanced_backup_created": "백업이 생성되었습니다", "advanced_restart_console": ".env 변경 사항을 적용하려면 웹 콘솔 서비스를 재시작하세요(예: systemctl restart betterdesk-console).", "advanced_restart_goserver": "블록리스트 변경 사항을 로드하려면 BetterDesk Go 서버를 재시작하세요.", "advanced_restart_systemd": "systemd 유닛을 편집한 후 실행: systemctl daemon-reload && systemctl restart ", "advanced_restart_generic": "변경 사항을 적용하려면 영향받는 서비스를 재시작하세요.", "advanced_error_unknown": "알 수 없는 구성 파일", "advanced_error_not_found": "파일이 존재하지 않습니다", "advanced_error_not_file": "경로가 일반 파일이 아닙니다", "advanced_error_too_large": "파일이 최대 편집 가능 크기(512 KB)를 초과합니다", "advanced_error_binary": "패널에서 바이너리 파일을 편집할 수 없습니다", "advanced_error_invalid": "잘못된 파일 내용", "advanced_error_not_writable": "콘솔 프로세스가 이 파일에 쓸 수 없습니다", "advanced_file_console-env": "콘솔 환경(.env)", "advanced_file_console-env-local": "콘솔 재정의(.env.local)", "advanced_file_go-blocklist": "Go 서버 블록리스트(blocklist.txt)", "advanced_file_systemd-console": "systemd: betterdesk-console (서비스 유닛)", "advanced_file_systemd-server": "systemd: betterdesk-server (서비스 유닛)", "advanced_file_console-session-secret": "콘솔 세션 시크릿(.session_secret)", "advanced_file_go-audit-log": "Go 서버 감사 로그(audit.jsonl)", "advanced_file_build-env": "에이전트 빌드 환경(/etc/betterdesk/build.env)", "advanced_file_docker-supervisord": "Docker: supervisord.conf (supervisord 구성)", "advanced_file_docker-compose": "Docker: docker-compose.yml (오케스트레이션)", "advanced_restart_none": "이 파일은 서비스 재시작이 필요하지 않습니다.", "enrollment_title": "기기 등록(RustDesk)", "enrollment_desc": "새 RustDesk 클라이언트의 등록 방식과 운영자가 등록 요청 페이지에서 승인하는 방법을 제어합니다.", "enrollment_require_approval": "운영자 승인 필요(관리 모드)", "enrollment_require_approval_hint": "활성화하면 알 수 없는 클라이언트가 운영자가 「등록 요청」에서 승인할 때까지 큐에 대기합니다.", "enrollment_rich_approve": "전체 승인 양식(이름, 폴더, 그룹, 태그)", "enrollment_rich_approve_hint": "등록 또는 LAN 등록 요청 승인 시 상세 대화상자를 표시합니다.", "enrollment_tag_picker": "기존 기기 태그에서 태그 선택", "enrollment_tag_picker_hint": "운영자가 기기 페이지에서 사용되는 태그 목록에서 선택할 수 있습니다(입력만으로 제한되지 않음).", "enrollment_open_requests": "등록 요청 열기", "enrollment_pending_count": "대기 중인 등록 요청 {count}건", "go_server_version": "Go 서버", "go_server_version_dev_hint": "Go 바이너리가 개발 빌드를 보고합니다 — 제품 버전과 일치하도록 서버를 다시 빌드하거나 업데이트하세요", "tab_email": "Email", "email": { "title": "Email notifications", "desc": "Configure SMTP delivery for operational notifications and system alert emails.", "smtp_host": "SMTP host", "smtp_port": "Port", "smtp_secure": "Use TLS/SSL", "smtp_user": "Username", "smtp_pass": "Password", "smtp_from": "From address", "alert_email": "Alert email", "alert_email_hint": "Fallback address when no operator email is available, and for system warnings.", "smtp_test": "Test connection", "smtp_save": "Save configuration", "smtp_saved": "Email settings saved", "smtp_test_success": "Connection successful", "smtp_test_failed": "Connection failed" } }, "audit": { "time": "Time", "user": "User", "action": "Action", "details": "Details", "action_login": "Login", "action_login_failed": "로그인 실패", "action_logout": "Logout", "action_password_change": "비밀번호가 변경되었습니다.", "action_2fa_enable": "2FA 활성화", "action_2fa_disable": "2FA 비활성화됨", "action_user_create": "사용자가 생성됨", "action_user_update": "사용자 업데이트됨", "action_user_delete": "사용자가 삭제되었습니다.", "action_settings_update": "설정이 업데이트되었습니다.", "action_device_ban": "금지된 장치", "action_device_unban": "금지 해제된 장치", "action_device_delete": "기기가 삭제되었습니다." }, "generator": { "title": "Client Configuration Generator", "subtitle": "Generate configuration for RustDesk clients", "alpha_badge": "ALPHA", "alpha_tooltip": "초기 기능 — 에이전트 패키지 생성기가 활발히 개발 중입니다.", "config_options": "구성 옵션", "server_address": "서버 주소", "server_address_hint": "서버의 도메인 또는 IP 주소", "custom_port": "Custom Port", "port_hint": "기본값을 사용하려면 비워 두세요(21116).", "relay_server": "릴레이 서버", "relay_placeholder": "비어 있으면 ID 서버와 동일", "relay_hint": "선택사항: 별도의 중계 서버 주소", "include_key": "구성에 공개 키 포함", "generate": "구성 생성", "output": "구성 출력", "usage_title": "연결 세부정보", "generated": "구성이 생성되었습니다.", "server_required": "서버 주소가 필요합니다", "nothing_to_copy": "먼저 구성을 생성하세요.", "bundles_title": "에이전트 번들", "new_bundle": "새 번들", "editor_title": "번들 편집기", "empty_state": "왼쪽에서 번들을 선택하거나 새 번들을 생성하여 시작하세요.", "loading": "로드 중…", "no_bundles": "아직 번들이 없습니다. 첫 번째 것을 만들어보세요.", "bundle_name": "번들 이름", "bundle_name_hint": "내부 라벨만 — 최종 사용자에게는 표시되지 않습니다.", "short_link": "짧은 다운로드 링크", "short_link_hint": "공개 URL(/d/…)에 사용됩니다. 소문자, 숫자, 하이픈만 가능(2–32자). 번들 이름에서 자동 입력 — 공유하기 쉽게 줄이세요(예: acme).", "branding_section": "브랜딩", "company_name": "회사 / 브랜드 이름", "short_text": "간단한 설명", "contact_email": "연락처 이메일", "contact_phone": "전화번호로 연락하기", "contact_url": "웹사이트에 문의하세요", "logo": "로고", "logo_hint": "PNG, JPEG, SVG 또는 WebP. 최대 256KB.", "logo_clear": "로고 제거", "primary_color": "기본 색상", "accent_color": "헤더 색상", "default_lang": "기본 언어", "allow_unattended": "무인 접근 허용", "allow_unattended_hint": "활성화되면 에이전트는 운영자 액세스를 위한 영구 비밀번호를 표시합니다.", "save": "번들 저장", "revoke": "취소", "unrevoke": "다시 활성화", "revoked": "취소됨", "preview_title": "실시간 미리보기", "preview_hint": "최종 사용자 에이전트 창의 대략적인 모습입니다.", "preview_default_name": "BetterDesk 지원", "preview_status_ready": "준비", "preview_id": "귀하의 신분증", "preview_password": "비밀번호", "preview_chat": "지원팀과 채팅", "preview_settings": "설정(관리자 전용)", "preview_quit": "종료(관리자 전용)", "download_link_title": "다운로드 링크", "download_link_hint": "이 링크를 최종 사용자와 공유하세요. 브랜드 다운로드 페이지가 표시됩니다. 짧은 링크를 변경해도 이전 hex 링크는 계속 작동합니다.", "open_portal": "열기", "created": "번들 생성됨", "saved": "번들이 저장되었습니다", "deleted": "번들이 삭제되었습니다.", "revoked_ok": "번들이 취소되었습니다.", "unrevoked_ok": "번들이 다시 활성화되었습니다.", "link_copied": "링크가 클립보드에 복사되었습니다.", "copy_failed": "자동으로 복사할 수 없습니다. 수동으로 복사하십시오.", "unsaved_confirm": "저장되지 않은 변경사항을 삭제하시겠습니까?", "confirm_revoke": "이 번들을 취소하시겠습니까? 다운로드 링크가 작동하지 않습니다.", "confirm_unrevoke": "이 번들을 다시 활성화하시겠습니까?", "confirm_delete": "이 번들을 영구적으로 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.", "errors": { "validation_failed": "검증 실패", "name_required": "번들 이름은 필수 항목입니다.", "company_name_required": "회사 이름은 필수 항목입니다.", "logo_invalid": "로고는 유효한 이미지 파일이어야 합니다.", "logo_too_large": "로고는 256KB 이하여야 합니다.", "logo_read_failed": "로고 파일을 읽지 못했습니다.", "primary_color_invalid": "기본 색상은 16진수 값이어야 합니다(예: #2563eb).", "accent_color_invalid": "헤더 색상은 16진수 값이어야 합니다(예: #1e293b).", "contact_url_invalid": "연락처 웹사이트는 유효한 URL여야 합니다.", "server_host_required": "공용 서버 주소는 필수입니다", "server_host_invalid": "유효한 도메인 이름 또는 IPv4 주소를 입력하세요", "token_failed": "등록 토큰을 생성할 수 없습니다 — 서버 연결을 확인하세요", "rebuild_revoked": "취소된 번들은 재빌드할 수 없습니다 — 먼저 다시 활성화하세요", "slug_invalid": "짧은 링크는 소문자, 숫자, 하이픈만 포함할 수 있습니다", "slug_too_short": "짧은 링크는 최소 2자여야 합니다", "slug_too_long": "짧은 링크는 최대 32자입니다", "slug_taken": "이 짧은 링크는 다른 번들에서 이미 사용 중입니다" }, "legacy_title": "클라이언트 구성 생성기", "connection_section": "서버 연결", "server_host": "공용 서버 주소", "server_host_placeholder": "support.example.com 또는 203.0.113.10", "server_host_hint": "최종 사용자가 BetterDesk 서버에 접속하는 도메인 이름 또는 공용 IP. 포트는 콘솔 구성에서 가져옵니다.", "use_https": "HTTPS / WSS 사용(권장)", "enrollment_token": "기기 등록", "enrollment_token_pending": "기기별 승인 후 할당", "enrollment_token_set": "기기별 — 등록에서 승인", "enrollment_token_hint": "각 설치가 개별적으로 등록됩니다. 등록 패널에서 새 기기를 승인하면 서버가 컴퓨터별로 고유한 액세스 키를 발급합니다.", "enrollment_per_device": "기기별 — 등록에서 승인", "background_color": "창 배경색", "surface_color": "카드 배경색", "text_color": "텍스트 색상", "text_muted_color": "흐린 텍스트 색상", "status_ready_color": "준비 표시기 색상", "header_text_color": "헤더 텍스트 색상", "builds_title": "클라이언트 빌드", "builds_hint": "각 플랫폼을 위해 이 서버에서 컴파일된 설치 파일. 도구 체인 오류 수정 또는 에이전트 소스 업데이트 후 재빌드합니다.", "builds_loading": "빌드 상태 로드 중…", "builds_empty": "아직 대기 중인 빌드가 없습니다 — 번들을 저장하거나 모두 재빌드를 클릭하세요.", "rebuild_all": "모두 재빌드", "rebuilding_all": "재빌드 대기열에 추가 중…", "rebuild_queued": "모든 플랫폼 빌드가 대기열에 추가되었습니다", "rebuild_confirm": "이 번들의 모든 플랫폼 설치 파일을 재빌드하시겠습니까? 기존의 준비된 산출물이 교체됩니다.", "build_status_ready": "준비 완료", "build_status_pending": "대기 중", "build_status_building": "빌드 중", "build_status_failed": "실패", "builds_summary": "{{ready}} 준비 완료 · {{pending}} 대기 중 · {{building}} 빌드 중 · {{failed}} 실패", "build_error_hint": "빌드 오류", "preview_help": "도움 요청", "rdclient_tab": "RdClient 데스크톱", "rdclient_new_bundle": "새 RdClient 번들", "rdclient_subtitle": "패널 URL이 포함된 RdClient 설치 프로그램 빌드", "rdclient_server_url_hint": "BetterDesk 콘솔 공개 URL (/remote)." }, "server": { "port": "Port", "api_port": "API Port", "id_server": "ID 서버", "relay_server": "릴레이 서버", "api_key": "API Key" }, "status": { "online": "Online", "offline": "Offline", "banned": "Banned", "running": "Running", "stopped": "Stopped", "unknown": "Unknown", "checking": "확인 중...", "label": "Status", "no_signal": "신호 없음" }, "actions": { "refresh": "Refresh", "copy": "Copy", "connect": "Connect", "connect_desktop": "데스크톱 클라이언트를 통해 연결", "remote_viewer": "원격 뷰어", "web_remote": "웹 원격", "details": "Details", "edit": "편집", "delete": "삭제", "ban": "Ban", "unban": "Unban", "save": "저장", "cancel": "취소", "confirm": "확인", "close": "닫기", "clear": "지우기", "ok": "OK", "saved": "성공적으로 저장됨", "back": "뒤로", "create": "만들기", "dismiss": "닫기", "view_all": "모두 보기", "cdap_viewer": "CDAP Snapshot Viewer", "add": "Add", "remove": "Remove" }, "time": { "just_now": "Just now", "seconds_ago": "{count}초 전", "minutes_ago": "{count}분 전", "hours_ago": "{count}h 전", "days_ago": "{count}일 전", "day_mon": "Mon", "day_tue": "Tue", "day_wed": "Wed", "day_thu": "Thu", "day_fri": "Fri", "day_sat": "Sat", "day_sun": "Sun" }, "users": { "title": "사용자 관리", "subtitle": "콘솔 사용자 및 권한 관리", "add_user": "Add User", "edit_user": "사용자 편집", "username": "사용자 이름", "username_placeholder": "사용자 이름을 입력하세요", "username_hint": "3~32자, 문자, 숫자, 밑줄만 가능", "password": "비밀번호", "password_placeholder": "비밀번호를 입력하세요", "password_hint": "대소문자, 숫자, 기호를 혼합하여 최소 8자 이상", "password_leave_empty": "현재 상태를 유지하려면 비워 두세요.", "role": "Role", "role_admin": "Administrator", "role_operator": "Operator", "role_viewer": "Viewer", "role_hint": "Viewers can only view data, operators can manage devices, admins have full access", "created": "생성됨", "last_login": "Last Login", "never": "Never", "actions": "Actions", "create": "사용자 생성", "edit": "편집", "reset_password": "비밀번호 재설정", "new_password": "새 비밀번호", "delete_title": "사용자 삭제", "delete_confirm": "사용자 {username}를 삭제하시겠습니까?", "delete_success": "사용자가 삭제되었습니다.", "user_created": "사용자가 성공적으로 생성되었습니다.", "user_updated": "사용자가 업데이트되었습니다.", "password_reset_success": "비밀번호가 재설정되었습니다.", "empty_title": "사용자를 찾을 수 없습니다.", "empty_text": "콘솔 액세스를 관리하려면 사용자를 추가하세요.", "fill_required": "필수 입력란을 모두 작성해 주세요.", "invalid_username": "사용자 이름은 3~32자, 문자, 숫자, 밑줄만 포함해야 합니다.", "username_exists": "사용자 이름이 이미 존재합니다.", "weak_password": "비밀번호가 너무 취약합니다.", "password_too_short": "비밀번호는 8자 이상이어야 합니다.", "invalid_role": "잘못된 역할", "cannot_demote_self": "자신을 강등시킬 수 없습니다.", "cannot_delete_self": "자신의 계정을 삭제할 수 없습니다.", "last_admin": "마지막 관리자는 삭제할 수 없습니다.", "admin_only": "이 기능은 관리자만 사용할 수 있습니다.", "password_required": "비밀번호가 필요합니다", "not_found": "사용자를 찾을 수 없습니다", "strength_weak": "Weak", "strength_medium": "Medium", "strength_strong": "Strong", "security_tips_title": "보안 모범 사례", "tip_strong_passwords": "각 사용자마다 강력하고 고유한 비밀번호를 사용하세요.", "tip_unique_accounts": "각 사람에 대한 개별 계정 만들기", "tip_viewer_role": "읽기 액세스만 필요한 사용자에게는 뷰어 역할을 사용하세요.", "tip_operator_role": "장치를 관리해야 하지만 사용자는 관리하지 않는 사용자에게 운영자 역할을 사용하세요.", "tip_audit_logs": "의심스러운 활동이 있는지 정기적으로 감사 로그를 검토하세요.", "role_pro": "Pro(API만 해당)", "role_super_admin": "Super Admin", "role_server_admin": "서버 관리자", "role_global_admin": "글로벌 관리자", "organizations": "조직", "user_organizations": "{username}의 조직", "no_organizations": "사용자가 어떤 조직에도 할당되지 않았습니다.", "org_removed": "조직 할당이 삭제됨", "server_role_label": "서버 역할", "server_role_hint": "사용자가 전체 콘솔에서 수행할 수 있는 작업(패널 액세스, 서버 구성, 감사 등)을 결정합니다.", "org_membership_section": "조직 회원", "org_membership_hint": "사용자는 여러 조직에 속할 수 있습니다. 조직 역할은 해당 조직 내부의 권한만 제어하며 위의 서버 역할과는 별개입니다.", "column_organizations": "조직", "no_orgs_short": "—", "org_count_one": "{count} 조직", "org_count_many": "{count} 조직", "all_orgs_assigned": "사용자는 이미 모든 조직의 구성원입니다.", "user_groups": "사용자 그룹", "user_groups_hint": "사용자 그룹을 사용하여 선택한 장치 그룹에 대한 액세스 권한을 부여할 수 있습니다.", "loading_user_groups": "사용자 그룹 로드 중...", "no_user_groups": "사용 가능한 사용자 그룹이 없습니다.", "create_user_group": "그룹 만들기", "edit_user_group": "사용자 그룹 편집", "delete_user_group": "사용자 그룹 삭제", "delete_user_group_confirm": "사용자 그룹 {name}를 삭제하시겠습니까? 회원은 이 그룹을 통해 부여된 액세스 권한을 잃게 됩니다.", "user_group_created": "사용자 그룹이 생성되었습니다.", "user_group_updated": "사용자 그룹이 업데이트되었습니다.", "user_group_deleted": "사용자 그룹이 삭제되었습니다.", "user_group_not_found": "사용자 그룹을 찾을 수 없습니다", "group_name": "그룹 이름", "group_name_placeholder": "연산자", "group_note": "Note", "group_note_placeholder": "선택적 참고 사항", "group_name_required": "그룹 이름은 필수 항목입니다.", "group_members_count": "{count} 회원", "provider": "공급자", "provider_local": "로컬", "provider_ldap": "LDAP/AD", "provider_oidc": "SSO", "password_managed_by_provider": "ID 공급자에 의해 관리됨", "provider_managed_hint": "이 계정은 외부 ID 공급자(LDAP/AD 또는 SSO)에 의해 관리됩니다. 비밀번호와 역할은 공급자가 제어하며 여기서 변경할 수 없습니다.", "email": "Email", "email_placeholder": "operator@example.com", "email_hint": "Used for help request notifications when the user is assigned to device folders or groups." }, "folders": { "title": "Folders", "create": "폴더 생성", "edit": "폴더 편집", "delete": "폴더 삭제", "name": "Folder Name", "name_placeholder": "폴더 이름을 입력하세요", "name_required": "폴더 이름은 필수 항목입니다.", "name_too_long": "폴더 이름이 너무 깁니다(최대 50자).", "color": "Color", "icon": "Icon", "not_found": "폴더를 찾을 수 없습니다", "delete_confirm": "이 폴더를 삭제하시겠습니까? 장치가 할당 해제됩니다.", "delete_success": "폴더가 삭제되었습니다.", "created": "폴더가 성공적으로 생성되었습니다", "updated": "폴더가 업데이트되었습니다.", "no_devices_selected": "선택한 기기가 없습니다.", "devices_moved": "기기가 성공적으로 이동되었습니다.", "device_assigned": "폴더에 할당된 장치", "unassigned": "Unassigned", "all_devices": "모든 장치", "drag_hint": "기기를 폴더로 드래그하여 정리하세요.", "move_to": "다음으로 이동", "toggle_sidebar": "사이드바 전환" }, "errors": { "forbidden_title": "액세스가 거부되었습니다.", "forbidden_message": "이 리소스에 액세스할 수 있는 권한이 없습니다.", "not_found_title": "페이지를 찾을 수 없음", "not_found_message": "찾으시는 페이지가 존재하지 않거나 이동되었습니다.", "server_error_title": "서버 오류", "server_error_message": "문제가 발생했습니다. 나중에 다시 시도해 주세요.", "go_home": "Go Home", "try_again": "Try Again", "load_devices_failed": "기기를 로드하지 못했습니다.", "load_key_failed": "키를 로드하지 못했습니다.", "load_qr_failed": "QR을 로드하지 못했습니다.", "load_audit_failed": "감사 로그를 로드하지 못했습니다.", "load_users_failed": "사용자를 로드하지 못했습니다.", "load_folders_failed": "폴더를 로드하지 못했습니다.", "download_failed": "다운로드 실패", "logout_failed": "로그아웃 실패", "password_change_failed": "비밀번호를 변경하지 못했습니다.", "language_change_failed": "언어를 변경하지 못했습니다.", "ban_failed": "기기를 차단하지 못했습니다.", "unban_failed": "기기 차단을 해제하지 못했습니다.", "delete_failed": "기기를 삭제하지 못했습니다.", "change_id_failed": "기기 ID를 변경하지 못했습니다.", "bulk_delete_failed": "기기를 삭제하지 못했습니다.", "sync_failed": "상태를 동기화하지 못했습니다.", "error": "오류", "not_found": "찾을 수 없음", "server_error": "서버 오류", "load_device_failed": "장치를 불러오지 못했습니다", "load_orgs_failed": "조직을 로드하지 못했��니다." }, "remote": { "title": "원격 데스크톱", "connecting": "연결 중...", "waiting_password": "비밀번호를 기다리는 중", "authenticating": "인증 중...", "streaming": "Connected", "disconnected": "Disconnected", "error": "Error", "status_idle": "Idle", "password_required": "비밀번호 필요", "enter_password_for": "기기 비밀번호를 입력하세요.", "password_placeholder": "장치 비밀번호", "connect": "Connect", "reconnect": "Reconnect", "disconnect": "Disconnect", "back_to_devices": "장치로 돌아가기", "fullscreen": "Fullscreen", "toggle_audio": "오디오 전환", "send_keys": "키 보내기", "scale_mode": "Scale Mode", "scale_fit": "창에 맞추기", "scale_fill": "Fill Window", "scale_original": "원본 크기(1:1)", "scale_stretch": "늘려서 채우기", "actions": "Actions", "lock_screen": "잠금 ���면", "restart_remote": "원격 장치 다시 시작", "refresh_screen": "새로 고침 화면", "clipboard_paste": "클립보드에서 붙여넣기", "block_input": "Block Input", "display_settings": "디스플레이 설정", "image_quality": "이미지 품질", "quality_best": "Best Quality", "quality_balanced": "Balanced", "quality_low": "Performance", "show_cursor": "원격 커서 표시", "lock_after_session": "세션 후 잠금", "privacy_mode": "개인 정보 보호 모드", "disable_clipboard": "클립보드 비활성화", "chat": "Chat", "chat_placeholder": "메시지를 입력하세요...", "record": "녹화 화면", "view_only": "보기 전용", "pin_toolbar": "도구 모음 고정", "monitors": "Monitors", "select_monitor": "모니터 선택", "quality_speed": "속도(낮은 품질, 60fps)", "quality_quality": "품질(최고, 30fps)", "recording_started": "녹음이 시작되었습니다", "recording_stopped": "녹음이 중지되었습니다.", "download_recording": "녹음 다운로드", "e2e_encrypted": "종단 간 암호화", "e2e_key_exchange": "보안 채널 설정 중...", "confirm_restart": "원격 장치를 다시 시작하시겠습니까?", "webcodecs_not_supported": "귀하의 브라우저는 WebCodecs API를 지원하지 않습니다. Chrome 94+ 또는 Edge 94+를 사용하세요.", "webcodecs_insecure_context": "HTTP에서는 WebCodecs를 사용할 수 없습니다. 비디오는 소프트웨어 대체를 사용합니다. 최상의 성능을 위해서는 HTTPS를 사용하십시오.", "webcodecs_fallback_active": "소프트웨어 비디오 디코더 활성(제한된 성능)", "click_to_start": "시작하려면 클릭하세요", "autoplay_blocked": "브라우저에서 비디오 및 오디오 재생을 시작하려면 사용자 상호 작용이 필요합니다.", "start_playback": "재생 시작", "new_connection": "새 연결", "device_id_placeholder": "장치 ID 입력", "http_warning": "HTTP 모드: H.264 소프트웨어 디코딩으로 제한 (~15 FPS). 최고 성능을 위해 HTTPS를 사용하세요 (WebCodecs, VP9, 60 FPS).", "file_transfer": "파일 전송", "file_upload": "업로드", "file_download": "다운로드", "file_empty": "이 폴더는 비어 있습니다", "file_transfers": "전송 목록", "file_complete": "완료", "file_error": "전송 실패", "file_show_hidden": "숨기 파일 표시", "file_new_folder": "새 폴더", "file_new_folder_prompt": "폴더 이름 입력:", "file_parent": "상위 폴더", "file_root": "루트", "file_rename": "이름 변경", "file_rename_prompt": "새 이름 입력:", "file_delete_confirm": "이 항목을 삭제하시겠습니까?", "file_cancelled": "전송 취소됨", "2fa_required": "2FA 인증 필요", "2fa_hint": "인증 앱의 6자리 코드를 입력하세요.", "2fa_invalid": "유효한 6자리 코드를 입력하세요.", "verify": "Verify", "use_cdap_fallback": "CDAP 뷰어 사용", "cdap_fallback_hint": "Open the lightweight JPEG-polling viewer that uses bd-signal/CDAP instead of the RustDesk relay. Useful when the peer is offline on the relay but reachable via the agent management channel.", "clipboard_empty": "클립보드가 비어 있습니다.", "clipboard_denied": "클립보드 액세스가 거부되었습니다. HTTPS가 필요하거나 권한이 부여되지 않았습니다.", "file_loading": "로드 중...", "file_timeout": "원격 장치가 응답하지 않았습니다. 원격 시스템에서 파일 전송이 지원되지 않거나 비활성화되어 있을 수 있습니다.", "codec": "비디오 코덱", "codec_auto": "자동(권장)", "remember_peer_password": "이 기기에서 장치 비밀번호 기억", "save_peer_password": "비밀번호 저장" }, "branding": { "identity_title": "브랜드 아이덴티티", "identity_desc": "콘솔에 표시되는 애플리케이션 이름과 설명을 사용자 정의하세요.", "app_name": "애플리케이션 이름", "app_description": "애플리케이션 설명", "logo_title": "Logo", "logo_desc": "사이드바 및 로그인 페이지에 로고가 표시되는 방식을 선택하세요.", "logo_type_icon": "머티리얼 아이콘", "logo_type_svg": "SVG Code", "logo_type_image": "Image URL", "logo_icon_name": "Icon Name", "logo_icon_hint": "머티리얼 아이콘 이름(예: DNS, 클라우드, 보안)을 입력합니다. Fonts.google.com/icons를 참조하세요.", "logo_svg_code": "SVG Code", "logo_svg_hint": "여기에 SVG 마크업을 붙여넣으세요. 경로와 스타일이 포함된 전체 요소를 지원합니다.", "logo_image_upload": "이미지 업로드", "logo_image_choose": "이미지 파일 선택", "logo_image_hint": "PNG, JPG, GIF, WebP or SVG. Max 1.5 MB. The image is stored as base64 data.", "logo_image_url": "Image Data / URL", "logo_image_url_hint": "Auto-filled when you upload a file, or paste a URL manually.", "logo_image_too_large": "Image is too large. Maximum size is 1.5 MB.", "logo_image_invalid_type": "파일 형식이 잘못되었습니다. PNG, JPG, GIF, WebP 또는 SVG를 사용하세요.", "preview": "Preview", "colors_title": "색 구성표", "colors_desc": "색상 팔레트를 사용자 정의합니다. 기본값을 사용하려면 비워 두세요.", "colors_backgrounds": "Backgrounds", "colors_text": "Text", "colors_accents": "악센트 색상", "colors_borders": "Borders", "import_export_title": "가져오기/내보내기", "import_export_desc": "테마를 JSON 파일로 저장하거나 다른 인스턴스에서 가져옵니다.", "export_theme": "테마 내보내기", "import_theme": "테마 가져오기", "reset_defaults": "기본값��로 재설정", "save_branding": "브랜딩 저장", "saved": "Branding saved successfully.", "exported": "테마를 내보냈습니다.", "imported": "Theme imported successfully.", "import_error": "테마를 가져오지 못했습니다. 파일 형식이 잘못되었습니다.", "reset_confirm": "브랜딩을 기본값으로 재설정하시겠습니까? 이 작업은 취소할 수 없습니다.", "reset_success": "Branding reset to defaults.", "logo_type_text": "Text Logo", "logo_text": "Logo Text", "logo_text_hint": "브랜드 로고로 표시되는 기본 텍스트", "logo_text_accent": "Accent Text", "logo_text_accent_hint": "로고 아래의 보조 텍스트(예: 제품 이름 또는 태그라인)", "logo_upload_success": "로고가 성공적으로 업로드되었습니다.", "typography_title": "Typography", "typography_desc": "제목과 본문 텍스트의 글꼴을 선택하세요. 자체 호스팅을 위해 글꼴이 서버에 다운로드됩니다.", "font_heading": "제목 글꼴", "font_heading_hint": "제목(H1~H6) 및 텍스트 로고에 사용됩니다.", "font_body": "Body Font", "font_body_hint": "본문 텍스트 및 UI 요소에 사용됩니다.", "font_search_placeholder": "글꼴 검색...", "font_system_default": "시스템 기본값", "font_clear": "Clear", "font_cat_all": "All", "font_downloaded_count": "서버에 다운로드된 글꼴", "powered_by": "제공", "background_title": "배경 및 외관", "background_desc": "콘솔 배경 화면, 그라데이션 또는 단색 배경을 설정합니다. 카드가 그 위에 표시됩니다.", "bg_type_none": "없음", "bg_type_color": "단색", "bg_type_gradient": "그라데이션", "bg_type_image": "이미지", "bg_color": "배경색", "bg_gradient": "CSS 그라데이션", "bg_gradient_hint": "유효한 CSS 그라데이션(예: linear-gradient(135deg, #1e293b, #0f172a))", "bg_image_upload": "배경 이미지 업로드", "bg_image_choose": "이미지 파일 선택", "bg_image_hint": "PNG, JPG, WebP 또는 GIF. 최대 8 MB. 서버에 저장됩니다.", "bg_image_url": "이미지 경로 / URL", "bg_size": "이미지 크기 조정", "bg_size_cover": "커버(화면 채우기)", "bg_size_contain": "컨테인(맞추기)", "bg_size_auto": "자동(원본 크기)", "bg_blur": "배경 흐림", "bg_overlay": "어두운 오버레이", "bg_overlay_hint": "텍스트 가독성을 높이기 위해 배경을 어둡게 합니다.", "bg_image_too_large": "이미지가 너무 큽니다. 최대 크기는 8 MB입니다.", "bg_image_invalid_type": "잘못된 파일 형식입니다. PNG, JPG, WebP 또는 GIF를 사용하세요.", "bg_upload_success": "배경 이미지가 성공적으로 업로드되었습니다.", "login_title": "로그인 페이지", "login_desc": "로그인 화면의 제목, 부제목, 배경을 사용자 지정합니다.", "login_heading": "로그인 제목", "login_heading_placeholder": "돌아오셨군요", "login_subheading": "로그인 부제목", "login_subheading_placeholder": "계정에 로그인하세요", "login_bg_inherit": "콘솔과 동일", "agent_title": "에이전트 다운로드 페이지", "agent_desc": "최종 사용자에게 표시되는 공개 에이전트 다운로드 포털을 사용자 지정합니다.", "agent_show_powered": "「Powered by BetterDesk」 표시", "agent_show_powered_hint": "다운로드 포털 바닥글에 BetterDesk 크레딧을 표시합니다.", "footer_title": "바닥글 및 저작권", "footer_desc": "로그인 화면 및 콘솔 사이드바에 표시되는 사용자 지정 바닥글 텍스트를 추가합니다.", "footer_text": "바닥글 텍스트", "footer_text_hint": "예: 저작권 표시 또는 회사 이름.", "show_powered": "「BetterDesk」 크레딧 표시", "show_powered_hint": "로그인 바닥글 및 사이드바에 BetterDesk 이름과 버전을 표시합니다.", "custom_css_title": "사용자 지정 CSS", "custom_css_desc": "고급: 콘솔 전체 및 로그인 페이지에 적용되는 사용자 지정 CSS를 주입합니다.", "custom_css_hint": "주의해서 사용하세요. 유효하지 않거나 안전하지 않은 규칙은 삭제됩니다. 최대 20,000자.", "save_now": "Save now", "autosaved": "Changes saved automatically.", "status_saved": "All changes saved", "status_dirty": "Unsaved changes", "status_saving": "Saving…", "status_error": "Save failed", "revert_changes": "Revert changes", "profiles_label": "Appearance profile", "profile_apply": "Apply profile", "profile_new": "New profile", "profile_save": "Save to profile", "profile_duplicate": "Duplicate", "profile_delete": "Delete", "profile_none": "— Select profile —", "profile_active": "active", "profile_applied": "Profile applied.", "profile_created": "Profile created.", "profile_updated": "Profile updated.", "profile_duplicated": "Profile duplicated.", "profile_deleted": "Profile deleted.", "profile_delete_confirm": "Delete this appearance profile?", "profile_name_prompt": "Profile name:", "profile_select_first": "Select a profile first.", "builtin_themes": "Built-in themes", "theme_apply_confirm": "Apply this built-in theme? Current settings will be replaced.", "theme_applied": "Theme applied.", "module_identity": "Identity & logo", "module_colors": "Colors", "module_typography": "Typography", "module_backgrounds": "Console background", "module_pages": "Login & agent pages", "module_advanced": "Advanced", "modules_nav": "Appearance modules", "live_preview": "Live preview", "preview_apply_page": "Preview on this page", "preview_card_title": "Dashboard card", "preview_card_body": "Sample body text showing your typography and colors.", "preview_btn_primary": "Primary", "preview_btn_secondary": "Secondary", "font_google": "Google Fonts", "font_local": "Downloaded", "font_upload": "Upload custom", "font_upload_choose": "Choose font file", "font_upload_name": "Font family name", "font_upload_success": "Font uploaded successfully.", "font_local_empty": "No fonts downloaded yet.", "font_delete": "Remove font", "glass_title": "유리 표면", "glass_desc": "카드, 모달, 양식 및 기타 패널 요소에 무광 유리 배경을 적용합니다.", "glass_enabled": "유리 표면 사용", "glass_color": "유리 틴트 색상", "glass_color_hint": "무광 패널의 기본 색상. 비어 있으면 보조 배경색을 사용합니다.", "glass_blur": "표면 흐림", "glass_opacity": "유리 불투명도" }, "device_detail": { "tab_overview": "개요", "tab_tags": "태그 및 메모", "tab_actions": "Actions", "section_identity": "Identity", "section_network": "Network", "section_timestamps": "Timestamps", "section_connect": "연결", "section_manage": "관리", "folder": "Folder", "status_tier": "Status Tier", "device_banned": "이 장치는 금지되어 있습니다", "no_reason": "이유가 제공되지 않음", "tags": "Tags", "no_tags": "이 기기에 할당된 태그가 없습니다.", "tag_placeholder": "태그 이름을 입력하세요...", "add_tag": "Add", "tag_exists": "이 태그는 이미 존재합니다.", "notes": "Notes", "notes_placeholder": "이 기기에 대한 메모를 추가하세요...", "danger_zone": "Danger Zone", "action_connect_web": "웹 원격", "action_connect_web_desc": "브라우저 원격 데스크톱을 통해 연결", "action_native_remote": "BetterDesk 원격", "action_native_remote_desc": "기본 JPEG 스트림 — 플러그인이 필요하지 않습니다.", "action_connect_desktop": "데스크톱 클라이언트", "action_connect_desktop_desc": "데스크톱 클라이언트 앱에서 열기", "action_change_id_desc": "기기 등록 ID 변경", "action_ban_desc": "이 장치의 연결을 차단합니다.", "action_unban_desc": "이 장치를 다시 연결하도록 허용", "action_delete_desc": "이 ��치를 영구적으로 제거", "tab_hardware": "Hardware", "tab_metrics": "측정항목", "section_system": "System", "section_cpu": "Processor", "section_memory": "Memory", "section_displays": "Displays", "section_encoding": "인코딩 기능", "section_live_metrics": "라이브 지표", "section_current_usage": "현재 사용량", "section_usage_history": "이용내역", "os": "Operating System", "version": "Client Version", "cpu_model": "CPU Model", "cpu_cores": "CPU Cores", "cpu_freq": "CPU 주파수", "total_memory": "총 메모리", "metric_memory": "Memory", "metric_disk": "Disk", "metrics_updated": "업데이트됨", "device_groups": "그룹", "no_sysinfo": "사용 가능한 하드웨어 정보가 없습니다.", "no_sysinfo_hint": "장치가 sysinfo 보고서를 보낸 후에 시스템 정보가 나타납니다.", "no_metrics": "측정항목 데이터가 없습니다.", "no_metrics_hint": "장치가 하트비트 보고서를 보낸 후 측정항목이 표시됩니다.", "chart_oldest": "← Oldest", "chart_newest": "Newest →", "tab_services": "Services", "tab_processes": "Processes", "tab_events": "Events", "tab_activity": "Activity", "tab_files": "파일", "agent_lazy_hint": "에이전트에서 실시간 데이터를 로드하려면 이 탭을 클릭하세요.", "agent_offline": "상담원이 오프라인 상태입니다", "agent_timeout": "상담원이 제때에 응답하지 않았습니다.", "agent_error": "에이전트에서 데이터를 로드하지 못했습니다.", "service_name": "Name", "service_display": "표시 이름", "service_status": "Status", "service_start": "Start mode", "process_name": "Name", "process_user": "User", "process_memory": "Memory" }, "inventory": { "title": "Inventory", "subtitle": "관리 장치의 하드웨어 및 소프트웨어 인벤토리", "device_id": "장치 ID", "hostname": "Hostname", "os": "Operating System", "cpu": "CPU", "cpu_cores": "CPU Cores", "cpu_usage": "CPU Usage", "memory": "Memory", "memory_total": "총 메모리", "memory_used": "Used Memory", "memory_available": "사용 가능한 메모리", "memory_usage": "메모리 사용량", "swap": "Swap", "disks": "Disks", "disk_count": "Disk Count", "network": "Network", "network_interfaces": "네트워크 인터페이스", "software": "Software", "software_count": "설치된 소프트웨어", "system": "System", "kernel": "Kernel", "architecture": "Architecture", "uptime": "Uptime", "frequency": "Frequency", "physical_cores": "물리적 코어", "logical_cores": "논리 코어", "model": "Model", "usage": "Usage", "total": "Total", "used": "Used", "available": "가능", "mount_point": "Mount Point", "removable": "removable", "mac_address": "MAC Address", "ip_addresses": "IP 주소", "traffic": "Traffic", "collect_now": "Collect Now", "collector_running": "수집가 실행 중", "collector_stopped": "수집기가 중지됨", "last_upload": "Last upload", "total_uploads": "total", "last_seen": "Last Seen", "collected_at": "수집 장소", "no_data": "아직 재고 데이터가 없습니다. 시스템 정보를 수집하려면 \"지금 수집\"을 클릭하세요.", "no_devices": "인벤토리 데이터가 있는 기기를 찾을 수 없습니다.", "detail_title": "장치 인벤토리 세부정보", "telemetry": "Telemetry", "view_detail": "세부정보 보기", "export": "Export", "refresh": "Refresh" }, "tickets": { "title": "Tickets", "subtitle": "지원 티켓 및 문제 추적", "create": "New Ticket", "edit": "티켓 수정", "delete": "티켓 삭제", "detail": "티켓 세부정보", "ticket_id": "Ticket ID", "ticket_title": "Title", "description": "Description", "status": "Status", "priority": "Priority", "category": "Category", "assigned_to": "할당 대상", "created_by": "작성자", "device": "장치", "sla_due": "SLA Due", "created_at": "생성됨", "updated_at": "업데이트됨", "resolved_at": "Resolved", "closed_at": "Closed", "status_open": "열기", "status_in_progress": "In Progress", "status_resolved": "Resolved", "status_closed": "Closed", "priority_low": "Low", "priority_medium": "Medium", "priority_high": "High", "priority_critical": "Critical", "category_general": "General", "category_hardware": "Hardware", "category_software": "Software", "category_network": "Network", "category_access": "Access", "category_other": "Other", "comments": "Comments", "add_comment": "Add Comment", "comment_placeholder": "댓글을 쓰세요...", "internal_note": "내부 메모(최종 사용자에게 표시되지 않음)", "attachments": "Attachments", "upload_attachment": "첨부파일 업로드", "download": "Download", "connect_device": "장치에 연결", "no_tickets": "티켓을 찾을 수 없습니다", "no_comments": "아직 댓글이 없습니다", "no_attachments": "첨부파일 없음", "title_required": "제목은 ���수 항목입니다.", "delete_confirm": "정말로 티켓 #{id}를 삭제하시겠습니까?", "delete_success": "티켓이 삭제되었습니다.", "created_success": "티켓이 성공적으로 생성되었습니다", "updated_success": "티켓이 업데이트되었습니다.", "sla_overdue": "SLA Overdue", "filter_all": "All", "search_placeholder": "티켓 검색...", "assign_to_me": "나에게 할당", "unassign": "Unassign", "stats_total": "Total", "stats_open": "열기", "stats_in_progress": "In Progress", "stats_resolved": "Resolved", "stats_closed": "Closed" }, "activity": { "title": "활동 모니터링", "subtitle": "애플리케이션 사용량 및 유휴 추적", "device": "장치", "hostname": "Hostname", "sessions": "세션", "idle_time": "Idle Time", "active_time": "Active Time", "last_report": "Last Report", "top_apps": "주요 애플리케이션", "app_name": "Application", "window_title": "창 제목", "category": "Category", "duration": "Duration", "started_at": "Started", "ended_at": "Ended", "session_count": "세션 수", "total_active": "총 활성", "total_idle": "Total Idle", "detail_count": "세부 기록", "no_data": "사용 가능한 활동 데이터가 없습니다.", "no_sessions": "세션 없음", "filter_from": "에서", "filter_to": "받는 사람", "filter_apply": "필터 적용", "hours": "hours", "minutes": "minutes", "seconds": "seconds", "category_browser": "Browser", "category_productivity": "Productivity", "category_communication": "Communication", "category_development": "Development", "category_media": "Media", "category_gaming": "Gaming", "category_system": "System", "category_other": "Other", "summary": "Summary", "details": "Details", "refresh": "Refresh", "search": "기기 검색...", "date_range": "Date Range", "device_id": "장치 ID", "session_start": "세션 시작", "session_end": "세션 종료", "user": "User", "no_activity": "기록된 활동이 없습니다.", "reported_at": "Reported At", "detail": "Detail", "no_apps": "신청 없음" }, "automation": { "title": "자동화 및 경고", "subtitle": "경고 규칙, 원격 명령", "rules": "Alert Rules", "rules_subtitle": "알림을 트리거하는 조건 정의", "alerts": "경고 기록", "alerts_subtitle": "트리거된 경고 보기 및 확인", "commands": "원격 명령", "commands_subtitle": "원격 장치에 명령 보내기", "smtp": "SMTP 구성", "smtp_subtitle": "이메일 알림 설정", "rule_name": "Rule Name", "description": "Description", "condition_type": "조건 유형", "condition_op": "Operator", "condition_value": "Threshold", "severity": "Severity", "scope_device": "대상 장치", "scope_all": "모든 장치", "cooldown": "쿨다운(초)", "notify_emails": "알림 이메일", "enabled": "활성화됨", "disabled": "장애인", "create_rule": "규칙 생성", "edit_rule": "규칙 편집", "delete_rule": "규칙 삭제", "acknowledge": "Acknowledge", "acknowledged": "Acknowledged", "unacknowledged": "Unacknowledged", "triggered_at": "트리거된 시간", "severity_info": "Info", "severity_warning": "Warning", "severity_critical": "Critical", "op_gt": "보다 큼", "op_gte": "크거나 같음", "op_lt": "Less than", "op_lte": "작거나 같음", "op_eq": "같음", "op_neq": "같지 않음", "type_cpu_usage": "CPU 사용량(%)", "type_memory_usage": "메모리 사용량(%)", "type_disk_usage": "디스크 사용량(%)", "type_offline_duration": "오프라인 기간(초)", "type_idle_duration": "유휴 기간(초)", "type_custom": "Custom", "command_type": "명령 유형", "command_payload": "명령/스크립트", "command_result": "Result", "command_status": "Status", "send_command": "명령 보내기", "status_pending": "Pending", "status_running": "Running", "status_completed": "Completed", "status_failed": "실패", "smtp_host": "SMTP Host", "smtp_port": "Port", "smtp_secure": "Use TLS", "smtp_user": "사용자 이름", "smtp_pass": "비밀번호", "smtp_from": "보낸 사람 주소", "smtp_test": "연결 테스트", "smtp_save": "설정 저장", "smtp_test_success": "연결 성공", "smtp_test_failed": "연결 실패", "no_rules": "구성된 경고 규칙이 없습니다", "no_alerts": "발생한 경고가 없습니다", "no_commands": "전송된 명령이 없습니다", "id_payload_required": "장치 ID 및 페이로드가 필요합니다", "no_commands_sent": "아직 명령이 전송되지 않았습니다." }, "file_transfer": { "title": "파일 전송", "transfers": "Transfers", "new_transfer": "새로운 전송", "upload": "Upload", "download": "Download", "direction": "Direction", "filename": "Filename", "file_size": "파일 크기", "mime_type": "MIME Type", "progress": "Progress", "status": "Status", "device": "장치", "initiated_by": "시작한 사람", "created_at": "생성 날짜", "cancel": "취소", "cancel_confirm": "이 전송을 취소하시겠습니까?", "download_file": "파일 다운로드", "browse_files": "파일 찾아보기", "select_file": "파일 선택", "select_device": "장치 선택", "no_transfers": "파일 전송 없음", "status_pending": "Pending", "status_active": "Active", "status_completed": "Completed", "status_failed": "실패", "status_cancelled": "Cancelled", "bytes_transferred": "전송된 바이트", "chunks": "Chunks", "transfer_started": "전송이 시작되었습니다.", "transfer_completed": "전송 완료", "transfer_failed": "전송 실패", "transfer_cancelled": "이전이 취소되었습니다.", "max_file_size": "최대 파일 크기: 4GB", "error_too_large": "파일이 너무 큽니다.", "error_no_device": "선택한 기기가 없습니다.", "error_no_file": "선택한 파일이 없습니다." }, "network": { "title": "네트워크 모니터링", "targets": "���니터링 대상", "add_target": "Add Target", "edit_target": "대상 편집", "delete_target": "대상 삭제", "delete_confirm": "이 대상을 삭제하시겠습니까?", "target_name": "Name", "host": "Host", "port": "Port", "url": "URL", "check_type": "Check Type", "timeout": "시간 초과(밀리초)", "interval": "간격(밀리초)", "enabled": "활성화됨", "status": "Status", "last_check": "Last Check", "last_rtt": "Last RTT", "rtt_ms": "RTT (ms)", "status_up": "Up", "status_down": "Down", "status_unknown": "Unknown", "check_now": "Check Now", "history": "기록 확인", "stats": "Statistics", "total_targets": "총 대상", "targets_up": "Targets Up", "targets_down": "타겟 다운", "type_ping": "Ping (ICMP)", "type_tcp": "TCP Port", "type_http": "HTTP", "type_https": "HTTPS", "tools": "네트워크 도구", "ping_tool": "Ping Test", "tcp_tool": "TCP 포트 확인", "http_tool": "HTTP Check", "dns_tool": "DNS Resolve", "monitor_start": "모니터 시작", "monitor_stop": "모니터 중지", "monitor_running": "모니터가 실행 중입니다.", "monitor_stopped": "모니터가 중지되었습니다.", "no_targets": "모니터링 대상이 구성되지 않았습니다.", "no_history": "확인 내역이 없습니다.", "error_code": "Error", "status_code": "HTTP 상태 코드", "search_targets": "검색 대상...", "name": "Name", "tab_targets": "Targets", "tab_tools": "Tools", "avg_latency": "Avg Latency", "type": "Type", "latency": "Latency", "check_history": "기록 확인", "name_host_required": "이름과 호스트가 필요합니다", "uptime": "Uptime", "response_time": "응답 시간", "avg_response": "평균 응답", "charts": "Charts", "realtime": "Realtime", "response_time_ms": "응답 시간(ms)", "uptime_percent": "Uptime %", "last_24h": "지난 24시간", "last_7d": "Last 7 days", "last_30d": "지난 30일" }, "dataguard": { "title": "데이터 보호", "policies": "DLP 정책", "add_policy": "정책 추가", "edit_policy": "정책 편집", "delete_policy": "정책 삭제", "delete_confirm": "이 정책을 삭제하시겠습니까?", "policy_name": "Name", "policy_description": "Description", "status": "Status", "enabled": "활성화됨", "disabled": "장애인", "rules": "Rules", "add_rule": "Add Rule", "rule_type": "Rule Type", "rule_type_usb": "USB 장치", "rule_type_file": "파일 작업", "action": "Action", "action_allow": "Allow", "action_block": "Block", "action_log": "Log Only", "filter": "Filter", "vid": "공급업체 ID(VID)", "pid": "제품 ID(PID)", "serial": "일련번호", "device_class": "장치 클래스", "drive_type": "Drive Type", "file_extensions": "파일 확장자", "events": "DLP Events", "event_source": "Source", "event_source_usb": "USB", "event_source_file": "파일", "event_type": "Event Type", "event_details": "Details", "no_policies": "구성된 DLP 정책이 없습니다.", "no_events": "기록된 DLP 이벤트가 없습니다.", "stats": "Statistics", "total_events": "총 이벤트", "blocked_events": "Blocked", "logged_events": "Logged", "usb_events": "USB Events", "file_events": "파일 이벤트", "device_id": "장치 ID", "policy_matched": "정책 일치", "timestamp": "Timestamp", "drive_removable": "Removable", "drive_fixed": "Fixed", "drive_network": "Network", "drive_cdrom": "CD-ROM", "drive_unknown": "Unknown", "total_policies": "총 정책", "active_policies": "활성 정책", "violations": "Violations", "blocked": "Blocked", "tab_policies": "정책", "tab_events": "Events", "search_policies": "검색 정책...", "create_policy": "정책 생성", "policy_type": "정책 유형", "scope": "Scope", "events_count": "Events", "search_events": "이벤트 검색...", "event_time": "Event Time", "device": "장치", "policy": "정책", "detail": "Detail", "scope_help": "쉼표로 구분된 장치 ID 또는 모두 비워 두세요.", "scope_all": "모든 장치", "active": "Active", "type_file_type": "파일 유형", "type_clipboard": "클립보드", "type_screen_share": "화면 공유", "type_file_transfer": "파일 전송", "policy_desc": "정책 설명", "type_usb": "USB" }, "reports": { "title": "Reports", "generate": "보고서 생성", "generate_csv": "Export CSV", "report_type": "Report Type", "type_devices": "장치 요약", "type_activity": "활동 요약", "type_security": "보안 보고서", "type_tickets": "티켓 리포트", "type_network": "네트워크 보고서", "type_inventory": "재고 보고서", "type_alerts": "경고 보고서", "saved": "저장된 보고서", "save_report": "보고서 저장", "delete_report": "보고서 삭제", "delete_confirm": "저장된 보고서를 삭제하시겠습니까?", "no_saved": "저장된 보고서 없음", "report_title": "Title", "created_by": "작성자", "created_at": "생성 날짜", "filters": "Filters", "date_from": "에서", "date_to": "받는 사람", "device_filter": "장치 ID", "generated_at": "생성 날짜", "section": "데이터 섹션", "total_devices": "총 장치", "online": "Online", "offline": "Offline", "banned": "Banned", "platform_distribution": "플랫폼 배포", "top_applications": "주요 애플리케이션", "total_active": "총 활동 시간", "total_idle": "총 유휴 시간", "dlp_stats": "DLP 통계", "banned_devices": "금지된 장치", "audit_logs": "Audit Logs", "ticket_stats": "티켓 통계", "category_distribution": "카테고리 분포", "priority_distribution": "우선배포", "targets_status": "대상현황", "os_distribution": "OS 배포", "avg_ram": "Average RAM", "alert_rules": "Alert Rules", "recent_alerts": "최근 알림", "tab_generate": "보고서 생성", "tab_saved": "저장된 보고서", "type_devices_desc": "모든 장치, 플랫폼 및 상태 개요", "type_activity_desc": "애플리케이션 사용량 및 유휴 시간 요약", "type_security_desc": "금지 작업, DLP 이벤트 및 감사 로그", "type_tickets_desc": "티켓 통계 및 SLA 성과", "type_network_desc": "네트워크 모니터링 대상 및 가동 시간 데이터", "type_inventory_desc": "하드웨어 및 소프트웨어 인벤토리 요약", "type_alerts_desc": "경고 규칙 및 트리거된 경고 기록", "report_name": "Report Name", "format": "Format", "save": "보고서 저장", "preview": "Preview", "download": "Download", "delete_saved": "보고서 삭제", "raw_json": "Raw JSON" }, "tenants": { "title": "Tenants", "list": "Tenants", "add_tenant": "Add Tenant", "edit_tenant": "테넌트 편집", "delete_tenant": "테넌트 삭제", "delete_confirm": "이 테넌트를 삭제하시겠습니까? 모든 장치 및 사용자 할당이 제거됩니다.", "name": "Name", "slug": "Slug", "contact_name": "담당자 이름", "contact_email": "연락처 이메일", "max_devices": "최대 장치", "max_devices_hint": "0 = 무제한", "notes": "Notes", "active": "Active", "inactive": "Inactive", "devices": "장치", "users": "Users", "assign_device": "장치 할당", "assign_devices": "장치 할당", "remove_device": "장치 제거", "assign_user": "Assign User", "remove_user": "Remove User", "no_tenants": "구성된 테넌트가 없습니다.", "no_devices": "이 테넌트에 할당된 장치가 없습니다.", "no_users": "이 테넌트에 할당된 사용자가 없습니다.", "stats": "임차인 통계", "total_devices": "총 장치", "online_devices": "온라인 장치", "total_users": "Total Users", "created_at": "생성 날짜", "updated_at": "업데이트 날짜", "slug_exists": "테넌트 슬러그가 이미 존재합니다.", "total_tenants": "총 임차인", "active_tenants": "활성 테넌트", "search": "임차인 검색...", "create_tenant": "테넌트 생성", "detail": "임차인 세부정보", "contact": "Contact", "enabled": "활성화됨", "disabled": "장애인", "max": "max", "info": "Tenant Info", "status": "Status" }, "registrations": { "title": "Device Registrations", "subtitle": "Manage registration requests from devices discovered via LAN", "search_placeholder": "장치 ID, 호스트 이름 또는 IP로 검색...", "no_registrations": "No registration requests", "col_device_id": "장치 ID", "col_hostname": "Hostname", "col_platform": "Platform", "col_ip": "IP Address", "col_version": "Version", "col_status": "Status", "col_requested": "Requested", "col_actions": "Actions", "status_pending": "Pending", "status_approved": "Approved", "status_rejected": "Rejected", "approve_btn": "Approve", "approve_confirm": "이 기기를 승인하시겠습니까? 서버 자격 증명을 수신하고 자동으로 연결할 수 있습니다.", "approved_success": "장치 등록이 승인되었습니다.", "reject_btn": "Reject", "reject_title": "등록 거부", "reject_confirm": "이 등록 요청을 거부하시겠습니까?", "reject_reason": "이유(선택사항)", "reject_reason_placeholder": "거부 이유를 입력하세요...", "rejected_success": "기기 등록이 거부됨", "delete_confirm": "이 등록 기록을 삭제하시겠습니까?", "deleted_success": "등록 기록이 삭제되었습니다.", "enrollment_title": "장치 등록", "enrollment_subtitle": "BetterDesk 데스크톱 클라이언트에서 보류 중인 등록 요청", "enrollment_empty": "대기 중인 등록 요청이 없습니다.", "enrollment_approve": "Approve", "enrollment_reject": "Reject", "enrollment_display_name": "표시 이름", "enrollment_display_name_placeholder": "이 장치의 이름을 입력하세요...", "enrollment_sync_mode": "동기화 모드", "enrollment_sync_silent": "무음 — 최소한의 원격 측정", "enrollment_sync_standard": "표준 - 균형 잡힌 동기화", "enrollment_sync_turbo": "터보 — 공격적인 동기화", "enrollment_approved_success": "기기 등록이 승인됨", "enrollment_rejected_success": "장치 등록이 거부됨", "approve_title": "기기 승인", "field_name": "기기 이름", "field_name_placeholder": "이 기기의 이름을 입력하세요...", "field_sync_mode": "동기화 모드", "sync_standard": "표준 — 균형 잡힌 동기화", "sync_silent": "자동 — 최소 텔레메트리", "sync_turbo": "터보 — 적극적인 동기화", "field_tags": "태그", "field_tags_placeholder": "쉼표로 구분된 태그(예: 사무실, 노트북)...", "field_tags_existing": "기존 태그", "field_tag_add_placeholder": "새 태그 추가...", "field_tag_add_btn": "추가", "field_groups": "기기 그룹", "field_folder": "폴더", "field_folder_none": "폴더 없음", "reject_ban_option": "이 기기 차단", "reject_ban_hint": "기기가 차단되어 새 등록 요청을 보낼 수 없게 됩니다.", "banner_open_mode": "등록이 열려 있습니다 — 새 RustDesk 클라이언트는 운영자 승인 없이 등록됩니다. 이 대기열을 사용하려면 설정에서 관리 모드를 설정하세요.", "banner_locked_mode": "등록이 잠겨 있습니다 — 토큰에 바인딩된 기기만 등록할 수 있습니다. 알 수 없는 클라이언트의 운영자 승인에는 관리 모드가 필요합니다.", "enrollment_settings_link": "등록 설정" }, "backup": { "title": "Backup", "desc": "콘솔 구성, 사용자, 그룹 및 설정의 전체 백업을 다운로드하세요. Go server 피어 데이터는 BetterDesk 백엔드가 활성화되면 포함됩니다.", "restore_title": "Restore", "restore_desc": "콘솔 구성을 복원하려면 이전에 다운로드한 백업 파일을 업로드하세요. 아래에서 복원할 섹션을 선택하세요.", "stat_users": "Users", "stat_settings": "설정", "stat_folders": "Folders", "stat_groups": "그룹", "stat_strategies": "Strategies", "stat_backend": "Backend", "download": "백업 다운로드", "creating": "백업 생성 중...", "download_success": "백업이 성공적으로 다운로드되었습니다.", "upload": "백업 업로드", "restore_confirm": "이 백업에서 복원하시겠습니까? 선택한 섹션을 덮어씁니다.", "restore_success": "백업이 성공적으로 복원되었습니다. 일부 변경 사항은 페이지를 다시 로드해야 할 수도 있습니다.", "restored": "Restored", "skipped": "Skipped", "backup_date": "Backup date", "opt_settings": "콘솔 설정", "opt_branding": "브랜딩/테마", "opt_folders": "장치 폴더", "opt_groups": "사용자 및 장치 그룹", "opt_addressbooks": "주소록", "opt_users": "사용자 계정", "opt_users_warning": "파괴적: 모든 사용자 계정을 백업 데이터로 대체합니다. 로그아웃되었을 수 있습니다.", "no_file": "선택한 백업 파일이 없습니다.", "invalid_json": "잘못된 백업 파일: JSON가 유효하지 않습니다.", "invalid_format": "잘못된 백업 파일: BetterDesk 백업이 아닙니다.", "stat_database": "데이터베이스 엔진", "stat_keys": "서버 키 포함", "stat_env": "환경 파일", "stat_uploads": "브랜딩 파일", "restart_required": "일부 복원된 구성 요소(키 / .env / Go 데이터베이스)는 적용되려면 서비스 재시작이 필요합니다.", "security_warning": "이 백업에는 비밀 정보(서버 키, 환경 파일, 비밀번호 해시 및 2FA 시크릿)가 포함되어 있습니다. 안전하게 보관하고 공유하지 마세요.", "restore_warning": "시크릿, 환경 파일 또는 Go 서버 데이터베이스를 복원하면 서버 ID를 덮어쓰고 이후 서비스 재시작이 필요합니다.", "opt_database": "데이터베이스(모든 테이블)", "opt_database_hint": "모든 콘솔 데이터를 다시 가져옵니다. 라이브 적용되며 재시작이 필요하지 않습니다.", "opt_uploads": "브랜딩 파일", "opt_uploads_hint": "로고 및 업로드된 이미지.", "opt_secrets": "서버 키 및 시크릿", "opt_secrets_warning": "Ed25519 서버 ID, API 키 및 세션 시크릿을 덮어씁니다. 서비스 재시작이 필요합니다.", "opt_env": "환경 파일(.env)", "opt_env_warning": "SESSION_SECRET, API 키, 데이터베이스 DSN, 포트 및 TLS 설정을 덮어씁니다. 서비스 재시작이 필요합니다.", "opt_godb": "Go 서버 데이터베이스", "opt_godb_warning": "Go 서버 SQLite 데이터베이스를 덮어씁니다(SQLite 백엔드 전용). 서비스 재시작이 필요합니다." }, "cdap": { "device_detail": "CDAP 장치", "loading": "로드 중...", "loading_widgets": "기기 위젯 로드 중...", "load_error": "기기 데이터를 로드하지 못했습니다.", "connected": "Connected", "disconnected": "Disconnected", "device_offline_msg": "기기가 현재 오프라인 상태입니다. 위젯 값이 오래되었을 수 있습니다.", "no_widgets": "사용 가능한 위젯이 없습니다.", "no_widgets_desc": "이 장치는 위젯 정의와 함께 CDAP 매니페��트를 등록하지 않았습니다.", "command_log": "Command Log", "clear_log": "Clear log", "confirm_command": "명령 확인", "select_option": "선택", "cdap_status": "CDAP Status", "cdap_enabled": "CDAP Enabled", "cdap_disabled": "CDAP Disabled", "cdap_devices": "CDAP Devices", "cdap_connections": "Active Connections", "send_command": "명령 보내기", "command_sent": "명령이 성공적으로 전송되었습니다.", "command_failed": "명령을 보내지 못했습니다.", "devices_title": "CDAP 장치", "devices_subtitle": "맞춤형 장치 애플리케이션 프로토콜을 통해 연결된 장치", "stat_connected": "Connected", "stat_port": "Port", "search_devices": "기기 검색...", "no_devices": "연결된 기기 없음", "no_devices_desc": "현재 연결된 CDAP 장치가 없습니다. 장치가 게이트웨이에 연결되면 여기에 표시됩니다.", "gateway_disabled": "CDAP 게이트웨이 비활성화됨", "gateway_disabled_desc": "서버 구성에서 CDAP_ENABLED=true를 설정하여 CDAP 게이트웨이를 활성화하십시오.", "gateway_active": "Active", "toggle_enable": "Enable CDAP", "toggle_disable": "CDAP 비활성화", "enabled_restart": "CDAP가 활성화되었습니다. 변경 사항을 적용하려면 서버를 다시 시작해야 합니다.", "disabled_restart": "CDAP가 비활성화되었습니다. 변경 사항을 적용하려면 서버를 다시 시작해야 합니다.", "widgets": "위젯", "type_all": "All", "type_iot": "IoT", "type_scada": "SCADA", "type_os_agent": "OS Agent", "type_network": "Network", "type_camera": "Camera", "type_custom": "Custom", "active_alerts": "활성 경고", "alert_fired": "Alert fired", "alert_cleared": "경고가 지워졌습니다.", "no_alerts": "활성 알림 없음", "connect_terminal": "터미널 연결", "table_search": "검색...", "just_now": "Just now", "terminal_connecting": "기기에 연결 중...", "terminal_disconnected": "Disconnected", "terminal_error": "터미널 연결 실패", "linked_devices": "연결된 장치", "link_device": "링크 장치", "unlink_device": "Unlink", "no_linked_devices": "연결된 기기 없음", "unlink_confirm": "이 기기를 연결 해제하시겠습니까?", "link_prompt": "이 장치에 연결하려면 피어 ID를 입력하세요.", "connect_desktop": "데스크톱 연결", "connect_video": "스트림 연결", "connect_files": "파일 찾아보기", "connect_audio": "오디오 연결", "upload_file": "Upload", "desktop_connecting": "연결 중...", "video_connecting": "연결 중...", "files_connecting": "연결 중...", "audio_connecting": "연결 중...", "audio_streaming": "Streaming", "clipboard_in": "클립보드 수신됨", "clipboard_out": "클립보드가 전송되었습니다.", "monitor_select": "모니터 선택", "keyframe_request": "키프레임 요청", "quality_auto": "자동 품질" }, "desktop": { "switch_mode": "데스크탑 모드", "console_mode": "콘솔 모드", "loading": "로드 중...", "minimize": "Minimize", "maximize": "Maximize", "restore": "Restore", "close": "닫기", "widgets_mode": "위젯", "windows_mode": "Windows", "wallpaper": "Wallpaper", "add_widget": "위젯 추가", "remove_widget": "위젯 제거", "configure": "구성", "search_widgets": "위젯 검색...", "cat_monitoring": "Monitoring", "cat_devices": "장치", "cat_tools": "Tools", "cat_general": "General", "notes_placeholder": "여기에 메모를 작성하세요...", "search_placeholder": "장치, 페이지, 설정 검색...", "search_pages": "Pages", "search_devices": "장치", "search_no_results": "No results", "exit_desktop": "Exit Desktop", "refresh": "Refresh", "widget_clock": "Clock", "widget_device_status": "장치 상태", "widget_server_health": "서버 정보", "widget_system_stats": "장치 게이지", "widget_device_list": "장치 목록", "widget_quick_actions": "빠른 작업", "widget_recent_activity": "최근 활동", "widget_notes": "Notes", "widget_network_monitor": "네트워크 모니터", "widget_tickets_summary": "Tickets", "widget_iframe": "Web Embed", "widget_cdap_devices": "CDAP 장치", "widget_uptime": "Uptime", "widget_port_status": "Port Status", "widget_device_grid": "장치 그리드", "widget_multi_gauge": "서버 게이지", "widget_weekly_chart": "주간 활동", "widget_quick_controls": "빠른 제어", "widget_bandwidth": "Bandwidth", "widget_connection_stats": "연결 통계", "widget_weather": "Weather", "widget_world_clock": "World Clock", "widget_bookmarks": "Bookmarks", "widget_user_sessions": "사용자 세션", "widget_alert_feed": "Alert Feed", "label_online": "Online", "label_offline": "Offline", "label_total": "Total", "label_blocked": "Blocked", "label_banned": "Banned", "label_active": "Active", "label_service": "Service", "label_port": "Port", "label_uptime_prefix": "Uptime:", "label_uptime": "Uptime", "label_no_devices": "기기 없음", "label_no_activity": "No activity", "label_no_targets": "No targets", "label_unavailable": "Unavailable", "label_open": "열기", "label_in_progress": "In Progress", "label_resolved": "Resolved", "label_set_url": "구성에서 URL를 설정하세요.", "label_server_uptime": "서버 가동 시간", "label_merged_info": "서버 정보 위젯에 병합됨", "label_with_notes": "메모 포함", "label_metric": "Metric", "label_count": "Count", "label_total_devices": "총 장치", "label_throughput": "Throughput", "label_active_relays": "활성 릴레이", "label_total_relayed": "총 중계", "label_total_bytes": "Total Bytes", "label_filter_devices": "장치 필터링...", "label_all": "All", "label_ban": "Ban", "label_unban": "Unban", "label_connect": "Connect", "label_no_cdap_devices": "CDAP 장치 없음", "action_add_widget": "위젯 추가", "label_merged_server_info": "서버 정보 위젯에 병합됨", "wp_images": "Images", "wp_colors": "단색", "wp_custom_color": "맞춤 색상", "wp_fit_style": "Style", "wp_fill": "Fill", "wp_fit": "Fit", "wp_stretch": "Stretch", "wp_center": "Center", "widget_calendar": "Calendar", "widget_process_monitor": "프로세스 모니터", "widget_disk_usage": "Disk Usage", "widget_log_viewer": "Log Viewer", "widget_speed_test": "Speed Test", "widget_database_stats": "데이터베이스 통계", "widget_docker_containers": "Docker 컨테이너", "widget_shell_command": "쉘 명령", "widget_device_map": "장치 지도", "widget_remote_connect": "원격 연결", "label_no_online": "온라인 기기 없음", "label_no_events": "오늘은 이벤트가 없습니다", "label_event_title": "이벤트 제목:", "label_no_data": "데이터가 없습니다", "label_download_speed": "다운로드 속도", "label_latency": "Latency", "label_server": "서버", "label_run_test": "Run Test", "label_testing": "테스트 중...", "label_table": "Table", "label_rows": "Rows", "label_last_backup": "Last Backup", "label_no_containers": "컨테이너 없음", "label_docker_unavailable": "Docker를 사용할 수 없음", "label_no_command": "구성된 명령이 없습니다.", "label_no_output": "아직 출력이 없습니다", "label_run": "Run", "label_presets": "Presets", "label_save_preset": "사전 설정 저장", "label_load_preset": "Load Preset", "label_preset_name": "사전 설정 이름:", "label_preset_monitoring": "Monitoring", "label_preset_helpdesk": "Helpdesk", "label_preset_minimal": "Minimal", "label_preset_developer": "Developer", "label_snap_layout": "Snap Layout", "label_auto_arrange": "자동 정렬", "label_zone_layout": "Zone Layout", "label_2col_equal": "2열(같음)", "label_2col_wide": "2열(60/40)", "label_3col": "3 Columns", "label_2x2_grid": "2×2 Grid", "label_1_2": "1 + 2", "label_1_3": "1 + 3", "widget_group": "위젯 그룹", "ungroup_widgets": "위젯 그룹 해제", "group_widgets": "선택한 위젯 그룹화", "snap_layouts": "스냅 레이아웃", "snap_left": "Snap Left", "snap_right": "Snap Right", "snap_top_left": "���쪽 위에서 스냅", "snap_top_right": "오른쪽 상단 스냅", "snap_bottom_left": "왼쪽 아래 스냅", "snap_bottom_right": "오른쪽 하단 스냅", "aero_shake": "흔들어서 다른 사람을 최소화하세요", "zone_resize": "영역 크기를 조정하려면 테두리를 드래그하세요.", "zone_borders": "드래그 가능한 영역 경계", "app_drawer": "Applications", "search_apps": "앱 검색...", "edit_shortcuts": "바로 가기 편집", "widgets": "위젯", "theme": "Theme", "pop_out_widget": "Pop Out", "pop_in_widget": "Pop In", "wp_unavailable": "이 서버에는 배경화면 이미지가 설치되어 있지 않습니다.", "wp_download_hint": "배경화면 선택을 활성화하려면 public/wallpapers/ 디렉토리에 PNG 이미지를 배치하세요.", "fullscreen": "Fullscreen", "help": "Help" }, "desktop_login": { "click_to_sign_in": "로그인하려면 아무 곳이나 클릭하거나 키를 누르세요.", "username_placeholder": "사용자 이름", "password_placeholder": "비밀번호", "sign_in": "Sign in", "verify": "Verify", "totp_title": "2단계 인증", "totp_subtitle": "인증 앱의 6자리 코드를 입력하세요.", "back_to_login": "로그인으로 돌아가기", "fill_all_fields": "모든 필드를 작성해 주세요.", "invalid_credentials": "잘못된 사용자 이름 또는 비밀번호", "invalid_code": "잘못된 인증 코드", "enter_6_digits": "6자리를 모두 입력하세요.", "network_error": "네트워크 오류 - 연결을 확인하세요", "session_expired": "세션이 만료되었습니다. 다시 로그인해 주세요." }, "tokens": { "title": "장치 토큰", "subtitle": "자동화된 장치 프로비저닝을 위한 등록 토큰 관리", "enrollment_mode": "등록 모드", "mode_open": "열기", "mode_open_desc": "토큰 없이 모든 장치를 등록할 수 있습니다.", "mode_managed": "Managed", "mode_managed_desc": "Devices need a valid token to register", "mode_locked": "Locked", "mode_locked_desc": "No new device registrations allowed", "total": "총 토큰", "active": "Active", "used": "Used", "revoked": "Revoked", "search_placeholder": "토큰 검색...", "status_pending": "Pending", "status_active": "Active", "status_used": "Used", "status_revoked": "Revoked", "status_expired": "Expired", "bulk_generate": "대량 생성", "create": "토큰 생성", "edit": "토큰 편집", "token": "Token", "name": "Name", "status": "Status", "uses": "Uses", "bound_peer": "Bound Peer", "expires": "Expires", "created": "생성됨", "actions": "Actions", "name_placeholder": "예를 들어 사무실 PC 배치", "max_uses": "Max Uses", "max_uses_hint": "0 = 무제한", "expires_in": "Expires In", "no_expiration": "만료 없음", "expires_1h": "1 hour", "expires_24h": "24 hours", "expires_7d": "7 days", "expires_30d": "30 days", "note": "Note", "note_placeholder": "이 토큰에 대한 선택적 참고 사항...", "count": "Count", "count_range": "생성할 토큰 수(1-100)", "name_prefix": "Name Prefix", "generate": "Generate", "token_created": "토큰 생성됨", "tokens_generated": "생성된 토큰", "copy_warning": "지금 토큰을 복사하세요. 다시 표시되지 않습니다.", "copy_token": "Copy Token", "copied": "Copied!", "revoke": "Revoke", "revoke_confirm": "이 토큰을 취소하시겠습니까? 이미 등록된 장치는 영향을 받지 않습니다.", "revoked_success": "토큰이 취소되었습니다.", "no_tokens": "토큰을 찾을 수 없습니다.", "expired": "Expired", "never": "Never", "save": "저장", "cancel": "취소", "unlimited": "Unlimited" }, "tutorial": { "next": "다음", "prev": "Previous", "skip": "Skip", "finish": "마침", "close": "닫기", "step_of": "{total}의 {current}", "console_sidebar_title": "탐색 사이드바", "console_sidebar_text": "여기에서 모든 모듈에 액세스하세요. 해당 섹션으로 이동하려면 아이콘을 클릭하세요. 사이드바는 화면 크기에 맞게 조정됩니다.", "console_expand_title": "사이드바 확장", "console_expand_text": "사이드바를 확장하고 모든 탐색 항목에 대한 전체 레이블을 보려면 여기를 클릭하십시오. 접으려면 다시 클릭하세요.", "console_search_title": "빠른 검색", "console_search_text": "장치, 설정, 작업을 빠르게 검색하세요. 키보드 단축키는 Ctrl+K를 누르세요.", "console_dashboard_title": "대시보드", "console_dashboard_text": "서버 상태, 온라인 장치 및 빠른 작업을 표시하는 중앙 허브입니다. 중요한 지표를 한눈에 확인하세요.", "console_devices_title": "장치 관리", "console_devices_text": "연결된 모든 장치를 보고, 검색하고, 관리합니다. 상태별로 필터링하고, 태그를 할당하고, 개별 장치 설정을 구성합니다.", "console_settings_title": "설정", "console_settings_text": "서버 동작, 보안 옵션, 브랜딩 및 사용자 관리를 구성합니다. 필요에 맞게 BetterDesk를 사용자 정의하세요.", "console_desktop_title": "데스크탑 모드", "console_desktop_text": "위젯이 있는 창 작업 공간의 경우 데스크탑 모드로 전환하세요. 멀티태스킹 및 모니터링 대시보드에 적합합니다.", "console_complete_title": "준비가 되었습니다!", "console_complete_text": "사이드바 카테고리를 탐색하여 모든 기능을 찾아보세요. 이 가이드를 다시 시작하려면 언제든지 도움말 아이콘을 클릭하세요.", "desktop_topbar_title": "Top Bar", "desktop_topbar_text": "상단 표시줄에는 시계, 빠른 컨트롤, 앱 서랍에 대한 액세스가 표시됩니��. 모든 앱을 탐색하려면 그리드 아이콘을 클릭하세요.", "desktop_drawer_title": "App Drawer", "desktop_drawer_text": "앱 서랍을 열어 콘솔 기능을 플로팅 창으로 검색하고 실행하세요. 앱은 카테고리별로 정리되어 있습니다.", "desktop_widgets_title": "위젯 대시보드", "desktop_widgets_text": "맞춤형 작업 공간. 위젯은 실시간 정보를 표시하고 기능에 대한 빠른 액세스를 제공합니다. 드래그하여 재정렬하세요.", "desktop_add_widget_title": "위젯 추가", "desktop_add_widget_text": "사용 가능한 위젯을 찾아보려면 여기를 클릭하세요. 모니터링 디스플레이, 장치 목록, 메모 등 중에서 선택하세요.", "desktop_taskbar_title": "Taskbar", "desktop_taskbar_text": "Open apps appear here. Click to focus or minimize windows. The clock shows current time and wallpaper button changes the background.", "desktop_snap_title": "스냅 레이아웃", "desktop_snap_text": "창을 화면 가장자리로 드래그하여 위치에 맞추거나 레이아웃 사전 설정을 위해 최대화 버튼을 마우스로 가리킵니다. 에어로 쉐이크를 사용해 보세요!", "desktop_windows_title": "App Windows", "desktop_windows_text": "앱은 드래그 가능하고 크기 조절이 가능한 창에서 열립니다. 제목 표시줄을 최소화, 최대화하거나 닫습니다. 위젯 위의 Windows 레이어.", "desktop_search_title": "빠른 검색", "desktop_search_text": "기기, 페이지, 설정 전반에서 검색하세요. 어디에서나 Ctrl+K를 누르면 즉시 검색이 열립니다.", "desktop_complete_title": "데스크탑 모드가 준비되었습니다!", "desktop_complete_text": "서랍에서 앱을 열고 창을 나란히 배열해 보세요. 빠른 대시보드 레이아웃을 위해 위젯 사전 설정을 사용하세요.", "devices_folders_title": "장치 폴더", "devices_folders_text": "장치를 폴더로 구성합니다. 목록을 필터링하려면 폴더를 클릭하세요. 이름을 바꾸거나 삭제하려면 마우스 오른쪽 버튼을 클릭하세요.", "devices_search_title": "검색 및 필터", "devices_search_text": "ID, 호스트 이름, 플랫폼으로 검색하세요. 온라인, 오프라인 또는 모든 장치만 표시하려면 상태 알약을 사용하세요.", "devices_table_title": "장치 목록", "devices_table_text": "자세한 내용을 보려면 장치 행을 클릭하세요. 연결, 태그 편집, 삭제 등의 빠른 작업을 수행하려면 오른쪽에 있는 케밥 메뉴를 사용하세요.", "devices_complete_title": "장치 관리 준비 완료!", "devices_complete_text": "폴더 간에 장치를 드래그하여 정리하세요. 장치를 두 번 클릭하여 세부 정보 패널을 엽니다.", "settings_tabs_title": "설정 카테고리", "settings_tabs_text": "일반, 보안, 모양 및 기타 구성 섹션 사이를 이동합니다.", "settings_content_title": "구성", "settings_content_text": "각 섹션에는 특정 서버 및 콘솔 설정이 포함되어 있습니다. 저장을 클릭하면 변경 사항이 저장됩니다.", "settings_complete_title": "설정 개요", "settings_complete_text": "2FA, API 키 및 사용자 관리에 대한 보안 설정을 확인하세요. 콘솔 모양을 사용자 정의하려면 모양을 방문하세요.", "help": "도움말 및 튜토리얼", "tour_console": "콘솔 투어", "tour_desktop": "데스크탑 모드 둘러보기", "tour_devices": "장치 둘러보기", "tour_settings": "설정 둘러보기", "reset_all": "모든 튜토리얼 재설정", "tour_remote": "원격 세션 둘러보기", "tour_organization": "조직 설정", "tour_cdap": "CDAP 개요", "tour_chat": "채팅 기본 사항", "remote_toolbar_title": "원격 도구 모음", "remote_toolbar_text": "도구 모음에서 디스플레이 제어, 클립보드 동기화, 특수 키 및 품질 설정에 액세스하세요. F11로 전체 화면을 전환합니다.", "remote_canvas_title": "원격 디스플레이", "remote_canvas_text": "원격화면 입니다. 내부를 클릭하면 원격 장치 제어가 시작됩니다. 마우스 및 키보드 입력이 자동으로 전달됩니다.", "remote_clipboard_title": "클립보드 동기화", "remote_clipboard_text": "컴퓨터와 원격 장치 간에 텍스트를 복사하여 붙여넣습니다. 원격 디스플레이에 초점을 맞춘 동안 평소처럼 Ctrl+C / Ctrl+V를 사용하세요.", "remote_complete_title": "원격 세션 준비 완료!", "remote_complete_text": "특수 키(Ctrl+Alt+Del, PrintScreen) 및 모니터 전환에는 도구 모음 버튼을 사용하세요. Esc 키를 누르거나 연결 끊기를 클릭하여 세션을 종료합니다.", "org_overview_title": "조직", "org_overview_text": "조직을 사용하면 사용자, 장치, 정책을 그룹화할 수 있습니다. 각 조직에는 자체 관리자, 운영자 및 설정이 있습니다.", "org_create_title": "조직 만들기", "org_create_text": "새 조직을 만들려면 여기를 클릭하세요. 이름, 슬러그 및 선택적 설명을 제공하십시오. 귀하는 새 조직의 소유자가 됩니다.", "org_members_title": "회원 관리", "org_members_text": "이메일로 사��자를 초대하고, 역할(관리자, 운영자, 사용자)을 할당하고, 액세스를 관리하세요. 구성원은 자신의 조직에 할당된 장치를 볼 수 있습니다.", "org_devices_title": "장치 할당", "org_devices_text": "조직에 장치를 추가합니다. 여기에 할당된 장치는 조직의 정책을 상속하며 해당 구성원에게 표시됩니다.", "org_policies_title": "조직 정책", "org_policies_text": "비밀번호 요구 사항, 세션 시간 초과, 2FA 시행, 조직의 장치 등록 규칙과 같은 보안 정책을 설정합니다.", "org_complete_title": "조직 설정이 완료되었습니다!", "org_complete_text": "팀을 초대하고 장치를 할당하여 조직 범위 관리를 시작하세요. 정책은 모든 회원에게 자동으로 적용됩니다.", "cdap_devices_title": "CDAP Devices", "cdap_devices_text": "View all connected CDAP devices — IoT sensors, PLCs, bridges, and custom agents. Green indicators show live connections.", "cdap_widgets_title": "Widget Dashboard", "cdap_widgets_text": "Widgets display real-time data from devices. Gauges, toggles, LEDs, charts — each widget type visualizes a different kind of data.", "cdap_commands_title": "Send Commands", "cdap_commands_text": "Interact with devices by sending commands. Some commands need confirmation. The command log keeps a history of all sent commands.", "cdap_terminal_title": "Device Terminal", "cdap_terminal_text": "Open a terminal session to CDAP agents for advanced diagnostics or manual configuration. Type commands directly.", "cdap_complete_title": "CDAP Overview Complete!", "cdap_complete_text": "Explore device widgets, send commands, and use the terminal or file browser for deeper management. CDAP agents report metrics automatically.", "chat_contacts_title": "연락처 및 그룹", "chat_contacts_text": "연락처와 채팅 그룹을 확인하세요. 대화를 열려면 연락처를 클릭하세요. 녹색 점은 온라인 사용자를 나타냅니다.", "chat_send_title": "메시지 보내기", "chat_send_text": "메시지를 입력하고 Enter를 눌러 보내세요. 양측 모두 E2E를 지원하는 경우 메시지는 종단 간 암호화됩니다.", "chat_file_title": "파일 공유", "chat_file_text": "파일을 공유하려면 첨부 아이콘을 클릭하세요. 파일은 암호화되며 최대 50MB까지 가능합니다.", "chat_complete_title": "채팅 준비 완료!", "chat_complete_text": "운영자 및 최종 사용자와 실시간으로 채팅하세요. 팀 커뮤니케이션을 위해 그룹을 만듭니다. 모든 메시지는 읽음 확인을 지원합니다.", "disable_tutorials": "튜토리얼 비활성화", "enable_tutorials": "튜토리얼 활성화" }, "help_request": { "title": "도움 요청", "subtitle": "데스크톱 클라이언트로부터 들어오는 도움말 요청 관리", "new_request": "새로운 도움 요청", "device": "장치", "hostname": "Hostname", "message": "Message", "status": "Status", "pending": "Pending", "accepted": "Accepted", "resolved": "Resolved", "accept": "Accept", "resolve": "Resolve", "no_requests": "도움 요청 없음", "notification": "다음에서 받은 도움 요청", "stats_total": "Total", "filter_all": "All" }, "organizations": { "title": "조직", "create": "조직 만들기", "edit": "조직 편집", "detail": "조직 세부정보", "name": "Name", "slug": "슬러그(URL-안전)", "logo_url": "Logo URL", "users": "Users", "devices": "장치", "invitations": "Invitations", "settings": "설정", "add_user": "Add User", "assign_device": "장치 할당", "create_invitation": "초대장 만들기", "delete_confirm": "이 조직을 삭제하시겠습니까? 연결된 모든 사용자, 장치, 설정이 제거됩니다.", "no_orgs": "아직 조직이 없습니다.", "no_orgs_hint": "장치 및 사용자 관리를 시작하려면 첫 번째 조직을 만드세요.", "connection_policy": "연결 정책", "allow_file_transfer": "파일 전송 허용", "allow_clipboard": "클립���드 허용", "max_session_duration": "최대 세션 기간(분)", "role_owner": "소유자(조직 관리자)", "role_admin": "관리자", "role_operator": "Operator", "role_user": "구성원", "username": "사용자 이름", "password": "비밀번호", "display_name": "표시 이름", "email": "Email", "role": "Role", "last_login": "Last Login", "actions": "Actions", "device_id": "장치 ID", "department": "Department", "building": "Building", "location": "Location", "assigned_user": "할당된 사용자", "token": "Token", "expires": "Expires", "used": "Used", "no_users": "이 조직에는 사용자가 없습니다.", "no_devices": "이 조직에 할당된 기기가 없습니다.", "no_invitations": "초대장이 없습니다.", "user_added": "User added", "user_removed": "사용자가 삭제되었습니다.", "user_updated": "사용자 역할이 업데이트되었습니다.", "device_assigned": "할당된 장치", "device_unassigned": "할당되지 않은 기기", "invitation_created": "초대장이 생성되었습니다.", "settings_saved": "설정이 저장되었습니다.", "org_deleted": "조직이 삭제되었습니다.", "confirm_remove_user": "이 사용자를 조직에서 삭제하시겠습니까?", "confirm_unassign_device": "조직에서 이 기기를 할당 해제하시겠습니까?", "confirm_delete_org": "이 조직 및 모든 관련 데이터를 삭제하시겠습니까?", "edit_role": "역할 편집", "raw_settings": "원시 설정", "key": "Key", "value": "Value", "save": "설정 저장", "policy_unattended": "무인(즉시)", "policy_attended": "참석함(확인 후)", "policy_ask": "Always ask", "expires_hours": "만료(시간)", "loading_failed": "조직 데이터를 로드하지 못했습니다.", "name_slug_required": "이름과 슬러그가 필요합니다", "org_created": "조직이 생성되었습니다.", "org_updated": "조직이 업데이트되었습니다.", "create_new_user": "새로 만들기", "add_existing_user": "기존 추가", "none_available": "none", "select_user": "사용자 선택", "org_role": "조직 역할", "link_user_hint": "선택된 사용자는 서버 계정 자격 증명을 사용하여 이 조직에 연결됩니다.", "no_available_users": "모든 서버 사용자는 이미 이 조직에 연결되어 있습니다.", "user_linked": "조직에 연결된 사용자", "device_groups_tab": "장치 그룹", "device_groups_intro": "이 조직에 연결된 장치 그룹은 RustDesk 클라이언트에서 구성원이 접근할 수 있는 장치를 정의합니다. 구성원 및 접근 권한은 장치 페이지에서 설정하세요.", "manage_in_devices": "장치 → 그룹 열기", "no_org_device_groups": "이 조직에 연결된 장치 그룹이 아직 없습니다.", "create_org_device_group": "장치 그룹 만들기", "org_device_group_created": "장치 그룹이 생성되었습니다", "org_user_groups_title": "사용자 그룹", "org_user_groups_intro": "조직에 연결된 사용자 그룹은 위 장치 그룹에 대한 접근 권한을 부여받을 수 있습니다(장치 → 그룹 → 허용된 사용자 그룹).", "no_org_user_groups": "이 조직에 연결된 사용자 그룹이 없습니다.", "group_name": "Name", "group_type": "Type", "group_members": "장치", "group_type_manual": "Manual", "group_type_tag": "Tag", "group_allowed_user_groups": "허용된 사용자 그룹", "group_devices_suffix": "장치", "group_name_required": "그룹 이름은 필수입니다", "org_team_id": "조직 팀 ID", "link_team_id_hint": "그룹은 자동으로 이 조직에 연결됩니다(팀 ID = 조직 ID)." }, "chat": { "e2e_enabled": "종단 간 암호화", "e2e_establishing": "보안 채널 설정 중...", "e2e_established": "보안 채널이 설정되었습니다", "e2e_unsupported": "이 브라우저에서는 E2E 암호화가 지원되지 않습니다", "typing_indicator": "입력 중...", "read_receipt": "읽음", "delivered": "전달됨", "file_share": "파일", "file_too_large": "파일이 너무 큽니다 (최대 50MB)", "file_encrypted": "암호화된 파일 전송", "presence_online": "온라인", "presence_away": "자리 비움", "presence_busy": "바쁨", "presence_offline": "오프라인", "key_rotation": "보안 키가 갱신되었습니다", "new_message": "새 메시지", "title": "채팅", "contacts": "연락처", "groups": "그룹", "no_contacts": "아직 연락처가 없습니다", "no_groups": "아직 그룹이 없습니다", "no_messages": "아직 메시지가 없습니다", "no_results": "결과를 찾을 수 없습니다", "select_conversation": "대화를 선택하여 채팅을 시작하세요", "type_message": "메시지를 입력하세요...", "send": "보내기", "attach_file": "파일 첨부", "emoji": "이모지", "search_messages": "메시지 검색", "create_group": "그룹 만들기", "group_name": "그룹 이름", "group_members": "멤버", "cancel": "취소", "create": "만들기", "members": "멤버", "today": "오늘", "yesterday": "어제", "react": "반응", "my_presence": "내 상태", "search_placeholder": "연락처 및 메시지 검색", "select_conversation_hint": "메시지를 보려면 대화를 선택하세요", "info": "정보", "group_name_placeholder": "그룹 이름을 입력하세요" }, "toast": { "device_connected": "장치가 연결됨", "device_disconnected": "장치 연결이 끊어졌습니다.", "session_started": "원격 세션이 시작되었습니다.", "session_ended": "원격 세션이 종료되었습니다", "file_upload_complete": "파일 업로드 완료", "settings_saved": "설정이 저장되었습니다.", "error_generic": "오류가 발생했습니다", "connection_lost": "연결 끊김", "reconnecting": "다시 연결하는 중..." }, "theme": { "dark": "Dark", "light": "Light", "auto": "System", "title": "Theme" }, "days": { "mon": "Mon", "tue": "Tue", "wed": "Wed", "thu": "Thu", "fri": "Fri", "sat": "Sat", "sun": "Sun" }, "toolkit": { "title": "Toolkit", "subtitle": "관리 유틸리티 및 진단 도구", "cat_network": "Network", "cat_crypto": "Crypto", "cat_encoding": "Encoding", "cat_system": "System", "host": "Host", "port": "Port", "domain": "Domain", "run": "Run", "generate": "Generate", "encode": "Encode", "decode": "Decode", "send": "보내기", "refresh": "Refresh", "algorithm": "Algorithm", "input_text": "Input Text", "enter_text": "텍스트를 입력하세요...", "length": "Length", "options": "Options", "source": "Source", "lines": "Lines", "log_console": "Console", "log_go": "서버 이동", "mac_address": "MAC Address", "broadcast": "Broadcast", "ping_title": "Ping", "ping_desc": "호스트 연결 가능성 및 대기 시간 확인", "tcp_title": "TCP 포트 확인", "tcp_desc": "TCP 포트 연결 테스트", "ssl_title": "SSL 검사기", "ssl_desc": "SSL/TLS 인증서 세부정보 검사", "http_title": "HTTP 상태 점검", "http_desc": "HTTP 엔드포인트 상태 확인", "dns_title": "DNS Lookup", "dns_desc": "호스트 이름을 IP 주소로 확인", "whois_title": "DNS Records", "whois_desc": "A, AAAA, MX, TXT, NS 레코드 쿼리", "speed_title": "Speed Test", "speed_desc": "다운��드 대역폭 측정", "run_speed_test": "속도 테스트 실행", "wol_title": "Wake-on-LAN", "wol_desc": "장치를 깨우기 위해 매직 패킷 보내기", "wol_sent": "매직 패킷이 전송되었습니다.", "hash_title": "해시 생성기", "hash_desc": "암호화 해시 생성", "password_title": "비밀번호 생성기", "password_desc": "안전한 무작위 비밀번호 생성", "jwt_title": "JWT Decoder", "jwt_desc": "JSON 웹 토큰 디코딩 및 검사", "jwt_token": "JWT Token", "base64_title": "Base64", "base64_desc": "Base64 데이터 인코딩 또는 디코딩", "url_title": "URL Encoder", "url_desc": "URL 구성요소 인코딩 또는 디코딩", "processes_title": "프로세스 목록", "processes_desc": "실행 중인 시스템 프로세스 보기", "disk_title": "Disk Usage", "disk_desc": "디스크 파티션 사용량 보기", "db_title": "데이터베이스 통계", "db_desc": "데이터베이스 테이블 통계 보기", "docker_title": "Docker 컨테이너", "docker_desc": "실행 중인 Docker 컨테이너 보기", "logs_title": "Log Viewer", "logs_desc": "최근 로그 출력 보기", "ip_address": "IP", "latency": "Latency", "ttl": "TTL", "status": "Status", "resolved": "Resolved", "subject": "Subject", "issuer": "Issuer", "valid_from": "유효기간: 부터", "valid_to": "유효한 대상", "days_left": "Days Left", "days": "days", "protocol": "Protocol", "cipher": "Cipher", "alt_names": "SANs", "chain": "Chain", "record_type": "Type", "record_value": "Value", "hash_value": "Hash", "entropy": "Entropy", "very_strong": "Very Strong", "strong": "Strong", "weak": "Weak", "expiry": "Expiry", "expired": "Expired", "valid": "Valid", "process_name": "Name", "db_type": "Type", "db_size": "Size", "table_name": "Table", "row_count": "Rows", "no_data": "데이터가 없습니다", "no_docker": "Docker 컨테이너가 없거나 Docker를 사용할 수 없습니다.", "no_logs": "사용 가능한 로그 줄이 없습니다." }, "policies": { "title": "조직 정책", "subtitle": "조직의 보안, 연결 및 기능 정책 관리", "select_org": "조직", "select_org_placeholder": "조직 선택...", "select_org_first": "정책 감사 로그를 보려면 조직을 선택하세요.", "configured": "구성됨", "connection_title": "연결 정책", "connection_desc": "원격 세션 설정 방법 제어", "connection_mode": "연결 모드", "mode_attended": "유인 (사용자 승인 필요)", "mode_unattended": "무인 (항상 허용)", "mode_ask": "항상 물어보기", "max_session": "최대 세션 시간 (분)", "idle_lock": "유휴 잠금 (분)", "wallpaper_policy": "세션 중 배경화면", "wallpaper_show": "표시", "wallpaper_hide_session": "세션 중 숨기기", "wallpaper_hide_always": "항상 숨기기", "features_title": "기능 정책", "features_desc": "장치의 특정 기능 활성화 또는 비활성화", "allow_file_transfer": "파일 전송 허용", "allow_clipboard": "클립보드 동기화 허용", "allow_audio": "오디오 스트리밍 허용", "allow_recording": "세션 녹화 허용", "security_title": "보안 정책", "security_desc": "조직 장치에 보안 요구사항 적용", "require_2fa": "무인 액세스에 2FA 필요", "password_min_length": "최소 비밀번호 길이", "password_require_special": "특수문자 필요", "password_max_age": "비밀번호 최대 수명 (일, 0=제한없음)", "allowed_operators": "허용된 운영자 역할 (쉼표 구분)", "network_title": "네트워크 정책", "network_desc": "릴레이 서버 및 직접 연결 제어", "block_direct_p2p": "직접 P2P 차단 (릴레이 강제)", "allowed_relays": "허용된 릴레이 서버 (행당 1개)", "ip_allowlist": "IP 화이트리스트 (CIDR, 행당 1개)", "update_title": "업데이트 정책", "update_desc": "자동 업데이트 및 업데이트 채널 제어", "auto_update": "자동 업데이트 활성화", "update_channel": "업데이트 채널", "audit_title": "정책 변경", "audit_desc": "최근 정책 변경 이력", "no_audit": "기록된 정책 변경이 없습니다.", "save_success": "정책이 성공적으로 저장되었습니다.", "save_failed": "정책을 저장하지 못했습니다.", "load_failed": "정책을 로드하지 못했습니다.", "block_direct_p2p_hint": "이 조직의 기기에 적용됩니다. 전역 기본값은 설정 → 연결 전략에 있습니다." }, "attestation": { "title": "장치 인증", "subtitle": "장치 ID 검증 및 하드웨어 지문 모니터링", "verified": "검증됨", "pending": "대기 중", "failed": "실패", "device_list": "인증 기록", "device_list_desc": "하드웨어 지문 및 ID 검증 상태", "col_device": "장치 ID", "col_hostname": "호스트명", "col_fingerprint": "지문", "col_status": "상태", "col_last_check": "마지막 확인", "col_actions": "작업", "no_records": "인증 기록을 찾을 수 없습니다.", "verify_success": "확인된 것으로 표시된 기기", "verify_failed": "기기를 확인하지 못했습니다.", "revoke_success": "기기 증명이 취소되었습니다.", "revoke_failed": "증명을 취소하지 못했습니다." }, "fleet": { "title": "플릿 관리", "tab_resources": "리소스", "tab_tasks": "작업", "tab_builder": "빌더", "tab_compliance": "컴플라이언스", "res_title": "리소스 매핑", "res_all_types": "모든 유형", "res_type_printer": "프린터", "res_type_network_drive": "네트워크 드라이브", "res_type_dns": "DNS 서버", "res_type_proxy": "프록시", "res_type_vpn": "VPN", "res_add": "리소스 추가", "res_name": "리소스 이름", "res_type": "유형", "res_address": "주소 / 경로", "res_target": "대상", "res_scope": "범위", "res_scope_org": "조직", "res_scope_group": "그룹", "res_scope_device": "장치", "res_scope_value": "범위 값", "res_status": "상태", "res_active": "활성", "res_inactive": "비활성", "res_no_data": "리소스를 찾을 수 없습니다. '추가'를 클릭하세요.", "res_confirm_delete": "이 리소스를 삭제하시겠습니까?", "task_title": "작업 스케줄러", "task_all_status": "모든 상태", "task_status_pending": "대기 중", "task_status_running": "실행 중", "task_status_success": "성공", "task_status_failed": "실패", "task_search": "작업 검색…", "task_create": "작업 생성", "task_name": "작업 이름", "task_type": "유형", "task_type_script": "스크립트", "task_type_install": "설치", "task_type_update": "업데이트", "task_type_restart": "재시작", "task_type_deploy": "배포", "task_type_scan": "스캔", "task_targets": "대상", "task_targets_help": "장치 ID 또는 그룹명 (쉼표 구분)", "task_schedule": "스케줄", "task_schedule_once": "한 번만", "task_schedule_cron": "Cron", "task_schedule_interval": "간격", "task_schedule_value": "스케줄 값", "task_script": "스크립트 / 명령", "task_retries": "재시도", "task_timeout": "타임아웃 (초)", "task_last_run": "마지막 실행", "task_no_data": "작업을 찾을 수 없습니다. 새 작업을 만드세요.", "task_confirm_delete": "이 작업을 삭제하시겠습니까?", "task_output": "작업 출력", "task_retry": "재시도", "builder_title": "비주얼 워크플로우 빌더", "builder_select_workflow": "워크플로우 선택…", "builder_new": "새로 만들기", "builder_save": "저장", "builder_export": "내보내기", "builder_execute": "실행", "builder_dry_run": "테스트 실행", "builder_triggers": "트리거", "builder_conditions": "조건", "builder_actions": "액션", "builder_results": "결과", "builder_transforms": "변환", "builder_properties": "속성", "builder_no_selection": "노드를 선택하여 속성을 편집하세요.", "workflow_name": "워크플로우 이름:", "comp_title": "소프트웨어 컴플라이언스", "comp_compliant": "준수", "comp_warning": "경고", "comp_critical": "심각", "comp_score": "평균 점수", "comp_device": "장치", "comp_hostname": "호스트명", "comp_os": "OS", "comp_score_col": "점수", "comp_issues": "문제", "comp_last_scan": "마지막 스캔", "comp_scan": "스캔", "comp_scan_all": "전체 스캔", "comp_remediate": "수정", "comp_remediate_confirm": "이 장치에서 자동 수정을 실행하시겠습니까?", "comp_no_data": "컴플라이언스 데이터 없음. 스캔을 실행하세요.", "save": "저장", "cancel": "취소", "close": "닫기", "edit": "편집", "delete": "삭제", "actions": "작업", "all_orgs": "모든 조직", "builder_node_trigger_manual": "수동 트리거", "builder_node_trigger_schedule": "Schedule", "builder_node_trigger_event": "이벤트 트리거", "builder_node_cond_os": "OS Check", "builder_node_cond_threshold": "Threshold", "builder_node_cond_time_window": "Time Window", "builder_node_action_script": "Run Script", "builder_node_action_install": "Install SW", "builder_node_action_restart": "서비스 다시 시작", "builder_node_action_file_deploy": "파일 배포", "builder_node_action_message": "메시지 보내기", "builder_node_result_log": "Log Output", "builder_node_result_alert": "알림 보내기", "builder_node_result_chain": "체인 작업흐름", "builder_node_transform_parse": "Parse JSON", "builder_node_transform_filter": "Filter", "builder_node_transform_delay": "Delay", "select_org_placeholder": "조직 선택…", "all_types": "All Types", "type_printer": "Printer", "type_network_drive": "네트워크 드라이브", "type_dns": "DNS 서버", "type_vpn": "VPN", "type_proxy": "Proxy", "add_resource": "리소스 추가", "edit_resource": "리소스 편집", "col_name": "Name", "col_type": "Type", "col_target": "Target", "col_scope": "Scope", "col_status": "Status", "col_actions": "Actions", "no_resources": "No resources found.", "active": "Active", "inactive": "Inactive", "address": "주소 / 경로", "scope_org": "조직", "scope_group": "그룹", "scope_device": "장치", "scope_value": "Scope Value", "scope_value_hint": "Organization, group, or device ID", "confirm_delete": "이 항목을 삭제하시겠습니까?", "all_statuses": "모든 상태", "status_pending": "Pending", "status_running": "Running", "status_success": "Success", "status_failed": "실패", "search_tasks": "작업 검색…", "create_task": "작업 만들기", "edit_task": "작업 편집", "col_task_name": "Task Name", "col_task_type": "Type", "col_schedule": "Schedule", "col_last_run": "Last Run", "no_tasks": "No tasks found.", "task_type_file_deploy": "파일 배포", "task_type_registry": "Registry", "target_devices": "대상 장치", "target_hint": "Device IDs or group names", "schedule_immediate": "Immediate", "schedule_once": "Once", "schedule_cron": "Cron", "cron_placeholder": "*/5 * * * *", "script_content": "스크립트/명령", "retry_count": "Retries", "timeout_sec": "Timeout (s)", "loading": "로드 중", "no_output": "사용 가능한 출력 없음", "error_loading": "데이터를 로드하는 중에 오류가 발생했습니다.", "select_workflow": "워크플로 선택…", "new_workflow": "New", "export": "Export", "execute": "Execute", "dry_run": "Dry Run", "node_triggers": "Triggers", "node_manual": "수동 트리거", "node_schedule": "Schedule", "node_event": "이벤트 트리거", "node_conditions": "Conditions", "node_os_check": "OS Check", "node_threshold": "Threshold", "node_time_window": "Time Window", "node_actions": "Actions", "node_run_script": "Run Script", "node_install": "Install SW", "node_restart": "서비스 다시 시작", "node_file_deploy": "파일 배포", "node_send_message": "메시지 보내기", "node_results": "Results", "node_log_output": "Log Output", "node_send_alert": "알림 보내기", "node_chain": "체인 작업흐름", "node_transforms": "Transforms", "node_parse_json": "Parse JSON", "node_filter": "Filter", "node_delay": "Delay", "node_properties": "Properties", "all_organizations": "모든 조직", "scan_all": "Scan All", "compliant": "Compliant", "non_compliant": "Warning", "critical_issues": "Critical", "avg_score": "Avg. Score", "col_device": "장치", "col_hostname": "Hostname", "col_os": "OS", "col_score": "Score", "col_issues": "Issues", "col_last_scan": "Last Scan", "no_compliance_data": "No compliance data available.", "confirm_remediate": "이 기기에서 자동 치료를 실행하시겠습니까?" }, "scaling": { "title": "스케일링 및 릴레이 관리", "tab_overview": "개요", "tab_relays": "릴레이 노드", "tab_rules": "할당 규칙", "tab_capacity": "용량 계획", "arch_title": "네트워크 아키텍처", "arch_loading": "아키텍처 다이어그램 로딩 중...", "stat_relay_nodes": "릴레이 노드", "stat_total_devices": "전체 장치", "stat_active_sessions": "활성 세션", "stat_bandwidth": "전체 대역폭", "relay_health": "릴레이 상태", "no_relays": "구성된 릴레이 노드가 없습니다. 부하 분산을 위해 첫 번째 노드를 추가하세요.", "relay_search": "릴레이 검색...", "relay_add": "릴레이 노드 추가", "relay_edit": "릴레이 노드 편집", "col_name": "이름", "col_address": "주소", "col_location": "위치", "col_devices": "장치", "col_sessions": "세션", "col_bandwidth": "대역폭", "col_status": "상태", "col_actions": "작업", "col_priority": "우선순위", "col_rule_name": "규칙 이름", "col_match": "일치", "col_target_relay": "대상 릴레이", "col_fallback": "폴백", "status_online": "온라인", "status_degraded": "저하", "status_offline": "오프라인", "status_enabled": "활성화", "status_disabled": "비활성화", "confirm_delete_relay": "이 릴레이 노드를 삭제하시겠습니까?", "confirm_delete_rule": "이 할당 규칙을 삭제하시겠습니까?", "rules_hint": "할당 규칙은 특정 장치 그룹을 어떤 릴레이 서버가 처리할지 결정합니다. 규칙은 우선순위순으로 평가됩니다 (가장 낮은 것이 우선).", "rule_add": "규칙 추가", "rule_edit": "규칙 편집", "rule_match_type": "일치 유형", "match_subnet": "서브넷", "match_group": "장치 그룹", "match_tag": "장치 태그", "match_location": "위치", "rule_match_value": "일치 값", "fallback_master": "마스터 서버", "fallback_nearest": "가장 가까운 릴레이", "relay_max_sessions": "최대 세션", "relay_max_bandwidth": "최대 대역폭 (Mbps)", "cap_tiers": "용량 티어", "cap_loading": "용량 데이터 로딩 중...", "cap_recommendations": "권장 사항", "cap_no_recs": "사용 가능한 권장 사항이 없습니다.", "cap_planning": "인프라 계획", "cap_config": "구성", "cap_max_devices": "최대 장치", "cap_max_sessions": "최대 세션", "cap_current": "현재", "cap_utilization": "이용률", "cap_tier_devices": "장치 용량", "cap_tier_sessions": "세션 용량", "cap_tier_bandwidth": "대역폭 용량", "cap_single_sqlite": "단일 서버 (SQLite)", "cap_single_pg": "단일 서버 (PostgreSQL)", "cap_master_3": "마스터 + 3 릴레이", "cap_master_10": "마스터 + 10 릴레이", "rec_no_relays": "구성된 릴레이 노드가 없습니다. 성능과 이중화를 위해 릴레이 추가를 고려하세요.", "rec_devices_high": "장치 이용률이 높습니다. 릴레이 노드 추가를 고려하세요.", "rec_sessions_high": "세션 용량이 한계에 다가가고 있습니다. 인프라 업그레이드를 고려하세요.", "rec_cpu_high": "일부 릴레이 노드의 CPU 사용률이 높습니다. 부하 분산을 고려하세요.", "rec_all_good": "모든 시스템이 정상 매개변수 내에서 작동 중입니다. 조치가 필요하지 않습니다.", "save": "저장", "cancel": "취소", "edit": "편집", "delete": "삭제", "close": "닫기", "no_rules": "할당 규칙이 없습니다.", "relays_info_banner": "이 목록은 정보 제공용입니다. 클라이언트가 실제로 사용하는 릴레이 서버는 BetterDesk 서버의 RELAY_SERVERS 환경 변수를 통해 구성됩니다.", "relay_name_address_required": "이름과 주소가 필요합니다.", "relay_save_failed": "릴레이 노드를 저장하지 못했습니다.", "relay_delete_failed": "릴레이 노드를 삭제하지 못했습니다.", "relay_saved": "릴레이 노드가 저장되었습니다.", "relay_deleted": "릴레이 노드가 삭제되었습니다.", "rule_name_value_required": "규칙 이름과 일치 값이 필요합��다.", "rule_save_failed": "규칙을 저장하지 못했습니다.", "rule_delete_failed": "규칙을 삭제하지 못했습니다.", "rule_saved": "규칙이 저장되었습니다.", "rule_deleted": "규칙이 삭제되었습니다." }, "cross_platform": { "title": "크로스 플랫폼 호환성", "tab_matrix": "호환성 매트릭스", "tab_distribution": "분포", "tab_protocols": "프로토콜", "tab_limitations": "제한 사항", "matrix_hint": "모든 지원 플랫폼에 대한 기능 지원 매트릭스. 녹색=완전 지원, 노란색=부분 지원, 회색=사용 불가, 파란색=계획 중.", "col_feature": "기능", "legend_full": "완전 지원", "legend_partial": "부분 지원", "legend_none": "사용 불가", "legend_planned": "계획 중", "platform_breakdown": "플랫폼 분포", "arch_breakdown": "아키텍처 분포", "version_breakdown": "버전 분포", "summary": "요약", "total_devices": "전체 디바이스", "unique_platforms": "플랫폼", "unique_archs": "아키텍처", "unique_versions": "클라이언트 버전", "no_devices": "아직 등록된 디바이스가 없습니다.", "protocols_hint": "프로토콜 기능 협상을 통해 각 클라이언트가 지원되는 기능만 수신합니다. 서버는 보고된 기능에 따라 동작을 조정합니다.", "capability_negotiation": "기능 협상", "codec_support": "코덱 지원 (온라인 디바이스)", "feature_support": "기능 지원 (온라인 디바이스)", "no_codec_data": "온라인 디바이스의 코덱 데이터가 없습니다.", "no_feature_data": "온라인 디바이스의 기능 데이터가 없습니다.", "protobuf_schema": "ClientCapabilities Protobuf 스키마", "diagram_client": "클라이언트", "diagram_server": "BetterDesk 서버", "diagram_peer": "원격 피어", "limitations_hint": "각 플랫폼에는 사용 가능한 기능에 영향을 미치는 특정 제한이 있습니다. 배포 계획 시 확인하세요.", "feat_desktop_client": "데스크톱 클라이언트", "feat_background_agent": "백그라운드 에이전트", "feat_remote_target": "원격 대상", "feat_screen_capture": "화면 캡처", "feat_input_injection": "입력 인젝션", "feat_file_transfer": "파일 전송", "feat_clipboard_sync": "클립보드 동기화", "feat_audio_streaming": "오디오 스트리밍", "feat_chat": "채팅", "feat_h264": "H.264 코덱", "feat_vp9": "VP9 코덱", "feat_av1": "AV1 코덱", "feat_cdap_agent": "CDAP 에이전트", "platform_windows": "Windows", "platform_linux": "Linux", "platform_macos": "macOS", "platform_android": "Android", "platform_ios": "iOS", "platform_web": "웹 브라우저", "platform_chromeos": "ChromeOS", "status_production": "프로덕션", "status_testing": "테스트", "status_planned": "계획 중", "status_limited": "제한됨", "status_experimental": "실험적", "limit_win_uac": "서비스 설치 및 보안 데스크톱에서의 입력 인젝션에 UAC 권한 상승이 필요합니다.", "limit_win_service": "NSSM 서비스로 실행됩니다. 설치에 관리자 권한이 필요합니다.", "limit_win_firewall": "Windows 방화벽 규칙에서 릴레이 연결을 위해 포트 21115-21119를 허용해야 합니다.", "limit_linux_wayland": "Wayland 컴포저는 프로그래매튱 화면 캡처를 제한합니다. PipeWire 포털 API가 필요합니다.", "limit_linux_pipewire": "오디오 캡처에 PipeWire가 필요합니다. PulseAudio 폴백은 사용 가능하지만 제한적입니다.", "limit_linux_arm": "ARM64 빌드 사용 가능. 일부 코덱은 소프트웨어 디코딩을 사용할 수 있습니다 (느림).", "limit_mac_screen": "시스템 설정 > 개인 정보 보호 및 보안에서 화면 녹화 권한이 필요합니다.", "limit_mac_signing": "배포를 위해 Apple Developer ID로 서명되어야 합니다.", "limit_mac_notarize": "macOS Gatekeeper용 공증이 필요합니다 (App Store 외 배포).", "limit_android_projection": "MediaProjection API는 각 캡처 세션마다 사용자 동의가 필요합니다.", "limit_android_accessibility": "입력 인젝션에 AccessibilityService가 필요합니다. Android 14+부터 제한됩니다.", "limit_android_battery": "백그라운드 서비스는 Doze 모드로 제한됩니다. 배터리 최적화 예외가 필요할 수 있습니다.", "limit_ios_capture": "Apple은 백그라운드 화면 캡처를 금지합니다. 뷰어 모드만 지원됩니다.", "limit_ios_input": "입력 인젝션이 허용되지 않습니다. 원격 보기와 채팅만 가능합니다.", "limit_ios_appstore": "App Store를 통한 배포만 가능. 베타 테스트에 TestFlight.", "limit_web_https": "WebCodecs API와 WebRTC는 HTTPS가 필요합니다. HTTP는 JMuxer로 폴백합니다 (코덱 제한).", "limit_web_codec": "코덱 지원은 브라우저에 따라 다름. H.264는 널리 지원되고, VP9/AV1은 다양합니다.", "limit_web_performance": "브라우저 샌드박스로 인한 성능 제한. 직접 하드웨어 가속 없음.", "limit_chrome_crostini": "전체 에이전트 지원은 Crostini Linux 컨테이너 내에서만 가능.", "limit_chrome_pwa": "PWA 모드는 웹 기능만 제공. 네이티브 에이전트 기능 없음.", "limit_chrome_input": "Crostini 컨테이너 외부에서의 입력 인젝션은 지원되지 않습니다.", "feat_session_recording": "세션 녹화", "feat_multi_monitor": "다중 모니터", "feat_unattended_access": "무인 접속", "limit_win_virtual_account": "서비스는 LocalSystem 대신 격리된 가상 계정에서 실행됩니다. 사용자 지정 로그 경로에는 ACL 조정이 필요할 수 있습니다.", "limit_linux_unprivileged": "서비스는 systemd 강화(NoNewPrivileges, ProtectSystem=strict)를 갖춘 전용 비특권 'betterdesk' 계정에서 실행됩니다." }, "security_audit": { "title": "보안 감사", "tab_overview": "개요", "tab_events": "감사 이벤트", "tab_hardening": "보안 강화", "tab_vulnerabilities": "취약점", "security_score": "보안 점수", "failed_logins": "로그인 실패(24h)", "active_bans": "활성 차단", "api_keys": "API 키", "old_keys": "오래된 키(>90일)", "security_checks": "보안 검사", "tls_status": "TLS 상태", "pass": "통과", "warning": "경고", "fail": "실패", "tls_signal": "Signal TLS", "tls_relay": "Relay TLS", "tls_api": "API TLS", "tls_wss": "WebSocket 보안", "enabled": "활성화", "disabled": "비활성화", "all_events": "모든 이벤트", "event_login_failed": "로그인 실패", "event_login_success": "로그인 성공", "event_peer_banned": "장치 차단", "event_ip_banned": "IP 차단", "event_config_changed": "구성 변경", "event_key_created": "키 생성", "refresh": "새로고침", "col_time": "시간", "col_action": "작업", "col_actor": "행위자", "col_target": "대상", "col_ip": "IP 주소", "col_details": "세부사항", "no_events": "감사 이벤트가 없습니다.", "hardening_hint": "BetterDesk 배포의 보안 강화 우선순위. 심각도 순 정렬.", "no_hardening": "보안 강화 항목이 없습니다.", "vuln_hint": "의존성 취약점 스캔 결과. 정기적으로 npm audit를 실행하세요.", "no_vulns": "취약점이 발견되지 않았습니다. 의존성이 안전합니다." }, "languages": { "title": "언어 관리", "total_languages": "총 언어", "fully_translated": "완전 번역됨", "needs_review": "검토 필요", "reference_keys": "참조 키", "no_languages": "언어 파일을 찾을 수 없습니다.", "badge_reference": "Reference", "badge_review": "검토 필요", "badge_complete": "Complete", "coverage": "coverage", "keys": "keys", "missing": "missing", "extra": "extra", "view_missing": "누락된 항목 보기", "fix_missing": "Fix Missing", "missing_keys_for": "다음 항목에 대한 키가 누락되었습니다.", "missing_keys_count": "keys missing (English fallback values shown)", "and_more": "그리고 {n} 더...", "all_keys_present": "모든 열쇠가 있습니다!", "confirm_fix": "Add missing keys to {code} with English fallback values?", "fixed_title": "Keys Fixed", "fixed_msg": "{code}의 누락된 키는 수동으로 번역해야 합니다.", "no_fix_needed": "고칠 누락된 키가 없습니다." }, "resource_control": { "title": "자원 제어", "tab_overview": "개요", "tab_usb": "USB Control", "tab_optical": "광학 드라이브", "tab_monitors": "Monitors", "tab_disks": "Disk Access", "tab_quotas": "리소스 할당량", "compliance_by_category": "카테고리별 규정 준수", "device_compliance": "장치 규정 준수", "search_devices": "기기 검색...", "col_device": "장치", "col_platform": "Platform", "col_status": "Status", "col_usb": "USB", "col_optical": "Optical", "col_monitors": "Monitors", "col_disks": "Disks", "col_quotas": "Quotas", "col_actions": "Actions", "stat_total_devices": "총 장치", "stat_compliant": "Compliant", "stat_partial": "Partial", "stat_noncompliant": "Non-Compliant", "stat_compliance_rate": "준수율", "badge_na": "N/A", "badge_compliant": "OK", "badge_partial": "Partial", "badge_noncompliant": "Fail", "btn_configure": "구성", "no_devices": "기기를 찾을 수 없습니다.", "usb_title": "USB 포트 제어", "usb_hint": "선택한 장치 또는 조직 전체 기본 정책에 대한 USB 저장 장치 액세스를 제어합니다.", "usb_storage_policy": "USB 스토리지 정책", "usb_whitelist": "화이트리스��에 등록된 장치(한 줄에 하나씩)", "usb_whitelist_hint": "VID:PID(예: 0781:5583)", "usb_audit_log": "USB 장치 연결 기록", "optical_title": "광학 드라이브 제어", "optical_hint": "선택한 장치에 대한 CD/DVD/블루레이 드라이브 액세스를 제어합니다.", "optical_policy": "광학 드라이브 정책", "optical_audit_log": "광학 드라이브 액세스 기록", "monitors_title": "모니터 관리", "monitors_hint": "최대 개수, 해상도 적용, 밝기 및 전원 일정을 포함한 모니터 설정을 구성합니다.", "monitors_max_count": "최대 모니터 수(0 = 무제한)", "monitors_max_hint": "0은 제한이 없음을 의미합니다.", "monitors_resolution": "최대 해상도", "monitors_brightness": "밝기 제한", "monitors_power_schedule": "전원 일정", "monitors_power_hint": "예를 들어 휴무:22:00-06:00", "disks_title": "디스크 액세스 제어", "disks_hint": "읽기 전용 모드, 암호화 적용, 파티션 가시성을 포함한 디스크 액세스 정책을 구성합니다.", "disks_readonly": "강제 읽기 전용 모드", "disks_encryption": "암호화 필요(BitLocker/LUKS)", "disks_smart": "S.M.A.R.T를 활성화합니다. 모니터링", "disks_hidden": "숨겨진 파티션", "disks_hidden_hint": "쉼표로 구분된 드라이브 문자 또는 마운트 지점", "quotas_title": "리소스 할당량", "quotas_hint": "선택한 장치에 대한 사용자별 CPU, RAM, 대역폭 및 디스크 할당량을 설정합니다.", "quotas_cpu": "CPU Limit", "quotas_ram": "RAM Limit", "quotas_bandwidth": "대역폭 제한(Mbps)", "quotas_bandwidth_hint": "0 = 무제한", "quotas_disk_quota": "디스크 할당량(GB)", "quotas_disk_hint": "0 = 무제한", "quotas_process_whitelist": "프로세스 화이트리스트(한 줄에 하나씩)", "quotas_process_hint": "예를 들어 크롬.exe, 코드.exe", "policy_allowed": "Allowed", "policy_blocked": "Blocked", "policy_whitelist": "화이트리스트만", "policy_any": "Any" }, "sdk_studio": { "title": "SDK Studio", "subtitle": "Visual flow editor for CDAP bridges", "new_flow": "New Flow", "open_flow": "Open Flow", "save_flow": "Save Flow", "run_flow": "Run", "debug": "Debug", "deploy": "Deploy", "undo": "Undo", "redo": "Redo", "untitled": "Untitled Flow", "code_mode": "Code Mode", "toggle_grid": "Toggle Grid", "zoom_in": "Zoom In", "zoom_out": "Zoom Out", "zoom_fit": "Fit to Screen", "palette": "Node Palette", "search_nodes": "Search nodes...", "cat_sources": "Sources", "cat_processing": "Processing", "cat_outputs": "Outputs", "empty_title": "Start Building", "empty_desc": "Drag nodes from the palette to start building a flow", "browse_templates": "Browse Templates", "inspector": "Inspector", "select_node": "Select a node to inspect its properties", "console": "Console", "clear_console": "Clear", "console_ready": "Studio ready", "label": "Label", "configuration": "Configuration", "connections": "Connections", "inputs": "Inputs", "outputs": "Outputs", "delete_node": "Delete Node", "nodes": "Nodes", "wires": "Wires", "status_ready": "Ready", "status_deployed": "Deployed", "flow_name": "Flow Name", "flow_desc": "Description", "loading": "Loading...", "no_flows": "No saved flows yet", "confirm_delete": "Are you sure you want to delete this flow?", "templates": "Templates", "node_modbus_tcp": "Modbus TCP", "node_modbus_rtu": "Modbus RTU", "node_snmp_poll": "SNMP Poll", "node_rest_poll": "REST Poll", "node_mqtt_subscribe": "MQTT Subscribe", "node_webhook": "Webhook", "node_device_telemetry": "Device Telemetry", "node_database_query": "Database Query", "node_file_watch": "File Watch", "node_filter": "Filter", "node_transform": "Transform", "node_aggregate": "Aggregate", "node_delay": "Delay", "node_debounce": "Debounce", "node_switch": "Switch", "node_merge": "Merge", "node_script": "Script", "node_widget_update": "Widget Update", "node_alert": "Alert", "node_command": "Command", "node_log": "Log", "node_rest_call": "REST Call", "node_mqtt_publish": "MQTT Publish", "node_database_write": "Database Write", "node_email": "Email", "node_modbus_write": "Modbus Write", "import_flow": "Import Flow" }, "updates": { "tab_title": "Updates", "title": "소프트웨어 업데이트", "desc": "Check for new versions and update the BetterDesk console from GitHub", "current_version": "설치된 버전", "latest_version": "Latest version", "status": "Status", "check_now": "업데이트 확인", "checking": "Checking…", "up_to_date": "최신", "update_available": "업데이트 가능", "changelog": "Release Notes", "no_changelog": "사용 가능한 출시 노트가 없습니다.", "files_changed": "변경된 파일", "files": "파일", "changes_unavailable": "파일 변경 목록을 로드할 수 없습니다. 여전히 업데이트를 설치할 수 있습니다.", "create_backup": "업데이트하기 전에 백업 만들기", "install": "Install Update", "install_confirm": "Are you sure you want to install this update? The console will restart after the update.", "installing": "업데이트 설치 중…", "creating_backup": "백업 생성 중…", "downloading": "파일 다운로드 중…", "install_success": "업데이트가 성공적으로 설치되었습니다. 콘솔을 다시 시작하는 중입니다…", "install_failed": "업데이트 설치 실패", "restarting": "콘솔이 다시 시작되기를 기다리는 중…", "restart_complete": "콘솔이 성공적으로 다시 시작되었습니다.", "restart_timeout": "Console did not restart in time. Please check manually.", "no_version": "선택한 업데이트 버전이 없습니다. 먼저 업데이트를 확인하세요.", "backups_title": "백업 업데이트", "backups_desc": "각 업데이트 전에 자동으로 생성된 사전 업데이트 백업", "no_backups": "업데이트 백업을 찾을 수 없습니다.", "restore": "Restore", "restore_confirm": "이 백업에서 복원하시겠습니까? 변경된 파일을 덮어씁니다.", "restore_success": "백업이 성공적으로 복원되었습니다. 콘솔을 다시 시작하는 중입니다…", "baseline_set": "기준 세트", "commits_behind": "뒤에 커밋", "total_files": "총 파일 수", "applied": "Applied", "failed": "실패", "skipped": "Skipped", "removed": "Removed", "auto": "Auto", "manual": "Manual", "component_console": "Web Console", "component_server": "서버 이동", "component_agent": "Agent", "component_scripts": "스크립트 및 Docker", "component_other": "Other", "server_rebuild_warning": "Go Server source changed — binary rebuild required. Use the ALL-IN-ONE script or compile manually.", "include_server": "Include Go Server (compile & deploy binary)", "checking_go": "이동 확인 중…", "go_not_found": "설치되지 않은 상태로 이동", "go_check_failed": "Go 가용성을 확인할 수 없습니다.", "server_building": "Go server 컴파일 중… 이 작업은 몇 분 정도 걸릴 수 있습니다.", "server_built": "서버 바이너리 컴파일", "server_build_failed": "서버 컴파일 실패", "server_stale_title": "서버 바이너리가 오래됨", "server_stale_desc": "Go server 소스가 업데이트되었지만 실행 중인 바이너리가 다시 빌드되지 않았습니다. 보안 및 라이브러리 업데이트를 적용하려면 지금 다시 빌드하세요.", "rebuild_server": "서버 바이너리 재구축", "rebuilding_server": "Rebuilding…", "rebuild_server_success": "서버 바이너리가 다시 빌드되고 다시 시작되었습니다.", "rebuild_server_failed": "서버 바이너리 재구축 실패", "server_deployed": "배포된 서버 바이너리", "server_deploy_failed": "서버 배포 실패", "server_build_note": "Server compilation may take 1-5 minutes. The page will remain unresponsive during compilation.", "server_source_downloading": "서버 소스 다운로드 중…", "delete": "삭제", "delete_confirm": "백업 {name}를 영구적으로 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.", "delete_success": "백업이 삭제되었습니다.", "delete_failed": "백업을 삭제하지 못했습니다.", "retention_label": "N개의 최신 백업 유지", "retention_hint": "이전 백업은 업데이트할 때마다 자동으로 삭제됩니다. 모든 백업을 유지하려면 0을 사용합니다.", "retention_saved": "보관 설정이 저장되었습니다.", "retention_invalid": "보존 기간은 0에서 1000 사이의 정수여야 합니다.", "retention_required_for_prune": "먼저 보존 값을 0보다 큰 값으로 설정하세요.", "prune_now": "Apply now", "prune_confirm": "{n}의 최신 백업만 유지하고 나머지는 삭제하시겠습니까?", "prune_done": "정리된 {n} 백업", "total_size": "Total size", "backups_count": "backup(s)", "strategy_label": "업데이트 방법", "strategy_download": "사전 빌드된 바이너리 다운로드", "strategy_compile": "소스에서 컴파일", "both_available": "다운로드 및 컴파일", "download_available": "다운로드 가능", "no_method": "업데이트 방법 없음", "no_release": "No release", "available": "가능", "server_downloading": "서버 바이너리 다운로드 중…", "server_downloaded": "서버 바이너리가 다운로드됨", "server_download_failed": "서버 바이너리 다운로드 실패", "server_download_note": "사전 빌드된 바이너리는 GitHub 릴리스에서 다운로드됩니다. 이 작업은 일반적으로 1분 이내에 완료됩니다.", "install_go_hint": "https://go.dev/dl/에서 Go를 설치하여 컴파일을 활성화하거나 사전 빌드된 바이너리로 릴리스를 게시하세요.", "strategy_install_go": "Go 자동 설치 및 컴파일", "strategy_install_go_hint": "Downloads the official Go toolchain (~120 MB) into the console data directory, then compiles the server. Use this when Go is not installed on the host.", "auto_strategy": "Auto", "auto_strategy_hint": "The console will pick the best available method (download → compile → auto-install Go).", "auto_available": "자동 재구축 준비됨", "toolchain_ready": "툴체인이 설치됨", "toolchain_will_install": "Go toolchain will be installed automatically", "toolchain_downloading": "Go 툴체인 다운로드 중…", "toolchain_failed": "Go 툴체인 설치 실패", "modal_title": "업데이트 설치 중", "modal_done_title": "업데이트 완료", "modal_close": "닫기", "modal_reload_now": "콘솔 새로고침", "phase_confirm": "Confirmation", "phase_backup": "Backup", "phase_console": "콘솔 파일", "phase_server": "서버 단계", "phase_restart": "다시 시작", "phase_done": "Done", "preparing": "Preparing…", "backup_skipped": "백업 건너뛰기(사용자 선택에 따라)", "server_skipped": "Go server를 건너뛰었습니다.", "server_not_selected": "Go server not selected", "server_processing": "Go server 업데이트 처리 중…", "no_restart_needed": "다시 시작할 필요 없음", "complete": "업데이트 적용됨", "complete_summary": "업데이트가 성공적으로 적용되었습니다.", "complete_with_errors": "업데이트가 완료되었지만 일부 단계가 실패했습니다. 아래 세부정보를 참조하세요.", "modal_done_with_errors_title": "오류가 발생하여 업데이트가 완료되었습니다.", "console_will_restart": "콘솔 프로세스가 지금 다시 시작됩니다…", "restart_complete_msg": "콘솔 재시작이 완료되었습니다. 새 버전을 로드하려면 다시 로드를 클릭하세요. 페이지는 8초 후에 자동으로 다시 로드됩니다.", "refresh_recommended": "정적 자산이 변경되었습니다. 새 UI를 보려면 페이지를 다시 로드하세요.", "confirm_title": "업데이트 적용", "confirm_with_backup": "업데이트 전 백업이 자동으로 생성됩니다.", "confirm_no_backup": "백업이 생성되지 않습니다(진행에 따른 책임은 본인에게 있습니다).", "channel_title": "업데이트 채널", "channel_desc": "패널이 업데이트를 확인할 소스를 선택하세요. 운영 서버는 Stable을 사용하세요.", "channel_stable": "안정 (main)", "channel_development": "개발 (dev)", "channel_branch_label": "GitHub 브랜치", "channel_save": "채널 전환", "channel_saved": "채널이 전환되었습니다. 업데이트 확인을 클릭하세요.", "channel_save_failed": "업데이트 채널 저장 실패", "channel_switch_warning": "채널 변경 시 GitHub 브랜치가 바뀝니다. 추적 중인 commit SHA는 유지됩니다 — 다음 확인에서 큰 차이가 보일 수 있습니다. 계속할까요?", "channel_pick_label": "전환", "channel_apply_hint": "확인 후 즉시 저장됩니다. 그다음 업데이트 확인을 클릭하세요.", "channel_confirm_switch": "{from}에서 {to}(으)로 전환할까요? 업데이트 확인 전까지 설치된 commit은 유지됩니다.", "docker_title": "Docker 이미지 배포", "docker_desc": "이 콘솔은 사전 빌드된 컨테이너 이미지에서 실행됩니다. 업데이트는 GHCR에서 최신 이미지를 pull하여 적용하며, 앱 내 설치나 Go 재빌드가 아닙니다.", "docker_install_note": "Docker에서는 앱 내 설치가 비활성화되어 있습니다. 위 명령을 호스트에서 실행한 뒤 이 페이지를 새로고침하세요.", "docker_update_available": "새 컨테이너 이미지 사용 가능", "docker_sha_unknown": "최신 (이미지 commit 알 수 없음)", "docker_images": "이미지", "more_options": "추가 옵션", "option_advanced": "고급 옵션", "option_advanced_desc": "백업 보존, Docker 배포, 서버 재빌드 및 업데이트 전략" }, "permissions": { "title": "권한", "subtitle": "역할 기반 권한 및 사용자 정의 재정의 관리", "info_title": "권한 작동 방식", "info_desc": "각 역할에��� 기본 권한이 있습니다. 아래에서 전환하여 역할별로 개별 권한을 추가하거나 제거할 수 있습니다. 사용자 정의 재정의는 강조 표시되며 언제든지 기본값으로 되돌릴 수 있습니다.", "select_role": "역할 선택", "select_role_placeholder": "역할을 선택하세요...", "reset_overrides": "모든 재정의 재설정", "granted": "Granted", "overrides": "Overrides", "level": "Level", "super_admin_tag": "Full access", "server_level_tag": "서버 수준", "custom": "Custom", "default": "Default", "revert": "기본값으로 되돌리기", "saved": "권한이 업데이트되었습니다.", "reverted": "기본값으로 되돌렸습니다.", "all_reverted": "모든 재정의가 되돌려졌습니다.", "confirm_reset": "이 역할의 모든 사용자 정의 재정의를 기본값으로 재설정하시겠습니까?", "empty_title": "역할 선택", "empty_desc": "권한을 보고 관리하려면 위 드롭다운에서 역할을 선택하세요.", "locked_title": "Super Admin", "locked_desc": "최고 관리자는 기본적으로 모든 권한을 가지며 사용자 정의할 수 없습니다.", "cat_device": "장치", "cat_user": "Users", "cat_server": "서버", "cat_org": "조직", "cat_audit": "감사 및 모니터링", "cat_cdap": "CDAP", "cat_enrollment": "Enrollment", "cat_chat": "Chat", "cat_branding": "Branding", "perm_device_view": "기기 보기", "perm_device_connect": "장치에 연결", "perm_device_edit": "기기 수정", "perm_device_delete": "기기 삭제", "perm_device_ban": "장치 금지/금지 해제", "perm_device_change_id": "기기 ID 변경", "perm_user_view": "사용자 보기", "perm_user_create": "사용자 생성", "perm_user_edit": "사용자 편집", "perm_user_delete": "사용자 삭제", "perm_server_config": "서버 구성", "perm_server_keys": "API 키 관리", "perm_org_create": "조직 만들기", "perm_org_edit": "조직 수정", "perm_org_delete": "조직 삭제", "perm_org_manage_users": "조직 사용자 관리", "perm_org_manage_devices": "조직 기기 관리", "perm_audit_view": "감사 로그 보기", "perm_metrics_view": "측정항목 보기", "perm_blocklist_edit": "차단 목록 수정", "perm_cdap_view": "CDAP 장치 보기", "perm_cdap_command": "CDAP 명령 보내기", "perm_cdap_terminal": "CDAP 터미널 액세스", "perm_cdap_files": "CDAP 파일 액세스", "perm_enrollment_manage": "등록 관리", "perm_enrollment_approve": "등록 승인", "perm_chat_access": "Chat access", "perm_branding_edit": "브랜딩 수정", "perm_server_attestation": "서버 성능 인증" }, "notifications": { "title": "알림", "empty": "새로운 알림 없음", "mark_all_read": "모두 읽은 것으로 표시", "see_all": "모든 도움 요청 보기", "help_request": "도움 요청", "just_now": "just now" }, "accessibility": { "title": "접근성", "subtitle": "시각, 동작 및 읽기 요구에 맞게 콘솔을 조정합니다.", "close": "접근성 메뉴 닫기", "profiles": "빠른 프로필", "profile_low_vision": "Low vision", "profile_low_vision_hint": "더 큰 텍스트, 강한 대비 및 초점.", "profile_dyslexia": "읽기의 편안함", "profile_dyslexia_hint": "읽기 쉬운 글꼴과 넓은 간격.", "profile_motion_safe": "Motion safe", "profile_motion_safe_hint": "전환을 줄이고 애니메이션을 일시 중지합니다.", "profile_color_assist": "색상 지원", "profile_color_assist_hint": "색상 필터, 라벨 및 강조 표시된 링크.", "reading": "읽기", "font_size": "글자 크기", "line_height": "줄 높이", "letter_spacing": "문자 간격", "word_spacing": "단어 간격", "readable_font": "읽을 수 있는 글꼴", "readable_font_hint": "넓고 친숙한 문자 모양을 사용합니다.", "dyslexia_spacing": "난독증 간격", "dyslexia_spacing_hint": "긴 텍스트에 추가 간격을 추가합니다.", "visual": "시각", "contrast": "대비", "contrast_normal": "Normal", "contrast_high_dark": "고대비 어두운", "contrast_high_light": "고대비 조명", "contrast_yellow_black": "검정색 바탕에 노란색", "color_filter": "컬러 비전 필터", "filter_none": "None", "filter_protanopia": "Protanopia", "filter_deuteranopia": "Deuteranopia", "filter_tritanopia": "Tritanopia", "filter_achromatopsia": "Achromatopsia", "saturation": "채도", "underline_links": "링크에 밑줄을 긋습니다", "underline_links_hint": "색상에 의존하지 않고 링크를 표시합니다.", "highlight_links": "하이라이트 액션", "highlight_links_hint": "링크와 버튼의 개요를 설명합니다.", "highlight_headings": "제목 강조 표시", "highlight_headings_hint": "색상 막대로 섹션 제목을 표시합니다.", "hide_media": "Dim media", "hide_media_hint": "이미지, 비디오 및 캔버스를 어둡게 합니다.", "interaction": "상호 작용", "strong_focus": "강한 집중력", "strong_focus_hint": "큰 키보드 포커스 링을 표시합니다.", "large_cursor": "큰 커서", "large_cursor_hint": "더 큰 고대비 포인터를 사용합니다.", "reduce_motion": "움직임 줄이기", "reduce_motion_hint": "전환을 줄이고 스크롤을 부드럽게 합니다.", "pause_animations": "애니메이션 일시중지", "pause_animations_hint": "반복되는 시각적 동작을 중지합니다.", "reading_guide": "독서 가이드", "reading_guide_hint": "밝은 선으로 포인터를 따릅니다.", "reading_mask": "마스크 읽기", "reading_mask_hint": "포인터 위와 아래의 내용을 어둡게 합니다.", "preview": "미리보기", "preview_title": "운영자 작업 공간 미리보기", "preview_text": "이 메뉴를 닫기 전에 텍스트, 링크, 컨트롤 및 상태 라벨을 읽기 편한지 확인하세요.", "preview_link": "기기 세부정보 링크", "preview_status": "Online", "preview_button": "기본 작업", "preview_secondary": "Secondary", "reset": "초기화", "done": "완료" }, "server_mgmt": { "title": "서버 관리", "subtitle": "BetterDesk 콘솔 호스트용 Cockpit 스타일 제어판(베타).", "beta_tooltip": "베타 기능 — 활발히 개발 중입니다.", "notice_title": "베타 기능", "notice_body": "이러한 도구는 BetterDesk 콘솔 프로세스가 있는 호스트에서 실행됩니다. 모든 작업이 감사됩니다. 향후 릴리스에서는 기능 범위가 확장될 예정입니다.", "tab_overview": "개요", "tab_terminal": "터미널", "tab_files": "파일", "tab_services": "서비스", "cpu": "CPU", "memory": "메모리", "load": "평균 부하", "disks": "디스크", "history": "기록(최근 60개 샘플)", "host_info": "Host info", "cores": "cores", "uptime": "가동 시간", "no_disks": "사용 가능한 디스크 데이터가 없습니다.", "info_hostname": "Hostname", "info_platform": "Platform", "info_kernel": "Kernel", "info_node": "Node.js", "info_process_id": "Process ID", "info_pty_available": "PTY 이용 가능", "term_connect": "연결", "term_disconnect": "연결 해제", "term_clear": "Clear", "term_status": "Status", "term_connecting": "Connecting…", "term_connected": "Connected", "term_disconnected": "Disconnected", "term_error": "연결 오류", "term_warning": "명령은 콘솔 프로세스를 소유한 사용자로 실행됩니다. 권한 상승을 활성화하려면 sudoers 규칙을 추가하세요.", "term_hint": "팁: 에스컬레이션하려면 `sudo -i`를 입력하세요(sudoers 구성 필요).", "term_lib_failed": "터미널 라이브러리를 로드하지 못했습니다.", "files_up": "한 레벨 위로", "files_go": "Go", "files_mkdir": "New folder", "files_name": "이름", "files_size": "크기", "files_perms": "Mode", "files_mtime": "Modified", "files_rename": "Rename", "files_rename_prompt": "New name:", "files_empty": "빈 디렉토리", "files_error": "디렉터리를 나열하지 못했습니다.", "read_failed": "파일을 읽지 못했습니다.", "save_failed": "파일을 저장하지 못했습니다.", "rename_failed": "이름 바꾸기 실패", "delete_failed": "삭제 실패", "delete_confirm": "이 항목을 삭제하시겠습니까?", "mkdir_prompt": "새 폴더 이름:", "mkdir_failed": "폴더를 생성하지 못했습니다.", "file_saved": "파일이 저장되었습니다", "binary_warn": "바이너리 파일 — 미리보기 전용", "encoding_utf8": "UTF-8 text", "truncated": "truncated", "full": "full", "svc_search_placeholder": "검색 서비스…", "svc_name": "서비스", "svc_state": "상태", "svc_description": "Description", "svc_empty": "서비스를 찾을 수 없습니다.", "svc_load_failed": "서비스를 로드하지 못했습니다.", "svc_action_failed": "작업 실패", "svc_confirm": "Run", "svc_start": "시작", "svc_stop": "중지", "svc_restart": "재시작", "svc_reload": "Reload", "svc_enable": "Enable", "svc_disable": "Disable", "svc_status": "Status" }, "download": { "title": "BetterDesk 에이전트 다운로드", "choose_platform": "플랫폼을 선택하세요", "choose_platform_hint": "운영 체제와 일치하는 설치 프로그램을 선택하십시오.", "download": "다운로드", "building": "건물…", "failed": "빌드 실패", "need_help": "도움이 필요하신가요?", "powered_by": "제공:" }, "server_attestation": { "title": "서버 성능 인증", "subtitle": "CPU, RAM, 디스크 사용률 80% 임계값에서의 동시 원격 연결 용량을 측정하는 성능 벤치마크.", "warning_title": "부하 테스트", "warning_body": "벤치마크는 시그널 및 릴레이 서버에 대한 병렬 WebSocket 연결을 시뮬레이션합니다. 이 테스트는 프로덕션 환경에 부하를 줍니다 — 비피크 시간에 실행하세요.", "run_benchmark": "벤치마크 실행", "abort": "중단", "download_report": "JSON 보고서 다운로드", "last_test": "마지막 테스트", "no_test_yet": "아직 벤치마크가 실행되지 않았습니다", "max_connections": "최대 연결 수", "threshold_80": "80% 임계값 — 최종 메트릭", "disk": "디스크", "ramp_chart": "부하 증가 차트", "connections": "연결 수", "connections_short": "연결", "tier_guide_title": "각 등급의 의미는?", "tier_bronze": "BRONZE", "tier_iron": "IRON", "tier_titanium": "TITANIUM", "tier_platinum": "PLATINUM", "tier_obsidian": "OBSIDIAN", "tier_none": "UNRATED", "tier_bronze_desc": "동시 연결 1~25개 — 소형 VPS(1~2 vCPU, 2~4 GB RAM).", "tier_iron_desc": "연결 26~75개 — 중급 서버(2~4 vCPU, 4~8 GB RAM).", "tier_platinum_desc": "연결 76~200개 — 고성능 서버(4~8 vCPU, 8~16 GB RAM).", "tier_titanium_desc": "연결 201~400개 — 엔터프라이즈 인프라(8+ vCPU, 16~32 GB RAM).", "tier_obsidian_desc": "연결 401+개 — 터보 클래스: 전용 하드웨어, 16+ vCPU, 32+ GB RAM, NVMe.", "docker_note": "참고: Docker에서 CPU/RAM 메트릭은 물리적 호스트가 아닌 컨테이너 제한을 반영할 수 있습니다.", "badge_tooltip": "BetterDesk 서버 성능 인증 — 서버 성능 인증", "confirm_run": "이 벤치마크는 시뮬레이션된 연결로 서버를 부하 테스트합니다. 계속하시겠습니까?", "starting": "시작 중…", "complete": "벤치마크 완료", "signal_peers": "시그널 피어", "relay_sessions": "릴레이 세션", "page_error": "서버 성능 인증 페이지 로드에 실패했습니다", "mode_estimated": "추정값(WebSocket 도달 불가)", "incomplete": "벤치마크가 완료되었지만 유효한 등급을 얻지 못했습니다" }, "commercialization": { "title": "상용화", "subtitle": "지원 패키지, 과금 세션 및 작업 보고서", "alpha_badge": "ALPHA", "alpha_tooltip": "초기 기능 — 결제 및 패키지가 활발히 개발 중입니다.", "tabs": { "overview": "개요", "packages": "패키지 및 계약", "sessions": "세션", "reports": "보고서", "settings": "고급 설정" }, "clock": { "title": "서버 시간 (NTP)", "check_now": "지금 확인", "unsynced": "서버 시계가 동기화되지 않음 — 과금 세션이 차단될 수 있습니다" }, "stats": { "active_sessions": "활성 과금 세션" }, "packages": { "new": "새 패키지", "name": "이름", "included_minutes": "포함 분", "overage_rate": "초과 요금 / 시간", "currency": "통화", "heading": "지원 패키지", "prompt_name": "패키지 이름", "create_title": "조직용 새 패키지", "create_submit": "패키지 만들기", "select_org": "조직", "select_org_placeholder": "조직 선택…" }, "sessions": { "device": "장치", "operator": "운영자", "duration": "시간", "phase": "단계", "amount": "금액" }, "reports": { "session": "세션", "summary": "요약", "date": "날짜" }, "contracts": { "title": "조직 계약", "new": "패키지 할당", "org": "조직", "package": "패키지", "remaining": "남은 분", "status": "상태", "actions": "작업", "suspend": "일시 중지", "activate": "활성화", "select_org": "조직 선택", "select_package": "패키지 선택", "no_orgs": "조직을 찾을 수 없습니다", "no_packages": "먼저 패키지를 만드세요" }, "export": { "csv": "CSV 내보내기", "pdf": "PDF 내보내기", "sessions_csv": "세션 CSV 내보내기" }, "report": { "title": "작업 보고서", "subtitle": "이 원격 세션 동안 수행한 작업을 설명하세요.", "category": "카테고리", "ticket_ref": "티켓 참조", "summary": "수행한 작업", "skip": "지금 건너뛰기", "submit": "보고서 제출", "summary_required": "요약은 필수입니다", "saved": "작업 보고서가 저장되었습니다" }, "empty": { "packages": "아직 패키지가 없습니다. 위 버튼으로 만드세요.", "contracts": "아직 조직 계약이 없습니다. 조직에 패키지를 할당하세요.", "sessions": "아직 기록된 과금 세션이 없습니다.", "reports": "아직 제출된 작업 보고서가 없습니다." }, "assign": { "title": "기존 패키지 할당", "submit": "할당" }, "form": { "cancel": "취소" }, "notifications": { "title": "Email notifications", "desc": "Notify operators by email when devices in their folders or groups submit help requests.", "smtp_status": "SMTP status", "smtp_configured": "SMTP is configured", "smtp_missing": "SMTP is not configured — set it up in Settings → Email", "smtp_link": "Open SMTP settings", "help_requests_enabled": "Send email for new help requests", "notify_assigned_operators": "Notify operators assigned to the device folder or group", "fallback_alert_email": "Use alert email when no operator address is available", "include_folder_in_subject": "Include folder name in the email subject", "save": "Save notification settings", "saved": "Notification settings saved" } }, "remote_dashboard": { "title": "원격 데스크톱 클라이언트", "subtitle": "브라우저에서 장치에 연결", "search_placeholder": "ID, 호스트명 또는 메모로 검색…", "filter_all": "전체", "filter_online": "온라인", "filter_offline": "오프라인", "col_id": "장치 ID", "col_hostname": "호스트명", "col_platform": "플랫폼", "col_status": "상태", "col_last_seen": "마지막 확인", "connect": "연결", "empty": "필터와 일치하는 장치가 없습니다", "loading": "장치 불러오는 중…", "error_load": "장치를 불러오지 못했습니다", "open_panel": "콘솔 열기", "devices_count": "{count}개 장치", "retry": "다시 시도", "nav_address_book": "주소록", "nav_folders": "폴더", "nav_groups": "그룹", "nav_tags": "태그", "quick_connect": "원격 데스크톱 제어", "quick_connect_placeholder": "원격 ID 입력…", "view_grid": "그리드 보기", "view_list": "목록 보기", "sync_now": "새로고침", "last_sync": "업데이트됨", "status_ready": "준비됨", "sync_error": "동기화 오류", "unassigned": "미할당", "no_groups": "그룹 없음", "no_tags": "태그 없음", "collapse_devices": "장치 목록 접기", "expand_devices": "장치 목록 펼치기", "open_settings": "설정" }, "rdclient_login": { "title": "원격 데스크톱 클라이언트", "subtitle": "기기에 연결하려면 로그인하세요", "username_placeholder": "사용자 이름", "password_placeholder": "비밀번호", "remember_me": "이 기기에서 로그인 정보 저장", "sign_in": "로그인", "totp_title": "2단계 인증", "totp_subtitle": "인증 앱의 6자리 코드를 입력하세요", "verify": "확인", "back_to_login": "로그인으로 돌아가기", "open_console_login": "콘솔 로그인 열기", "session_expired": "세션이 만료되었습니다. 다시 로그인하세요.", "fill_all_fields": "모든 항목을 입력하세요", "invalid_credentials": "잘못된 자격 증명", "network_error": "네트워크 오류", "enter_6_digits": "6자리 모두 입력하세요", "invalid_code": "잘못된 코드" }, "rdclient_settings": { "title": "RdClient 설정", "open": "설정", "server_url": "패널 URL", "tls_strict": "엄격 TLS", "sign_out": "로그아웃", "reset_client": "클라이언트 재설정", "discovery_refresh": "새로고침", "discovery_empty": "로컬 네트워크에서 서버를 찾을 수 없습니다" } }