Files
BetterDesk/web-nodejs/lang/ko.json
T
UNITRONIX 5e2ab9bfa9 refactor(org): replace JSON address book tab with device groups view
Show org-linked device and user groups via team_id, with shortcuts to
Devices → Groups and one-click group creation scoped to the organization.
2026-06-10 03:33:02 +02:00

3702 lines
180 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"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": "상용화"
},
"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 <service>",
"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}건"
},
"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": "도움 요청"
},
"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)에 의해 관리됩니다. 비밀번호와 역할은 공급자가 제어하며 여기서 변경할 수 없습니다."
},
"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": "자동(권장)"
},
"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 마크업을 붙여넣으세요. 경로와 스타일이 포함된 전체 <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": "브랜딩이 성공적으로 저장되었습니다. 새로고침 중...",
"exported": "테마를 내보냈습니다.",
"imported": "테마를 성공적으로 가져왔습니다. 새로고침 중...",
"import_error": "테마를 가져오지 못했습니다. 파일 형식이 잘못되었습니다.",
"reset_confirm": "브랜딩을 기본값으로 재설정하시겠습니까? 이 작업은 취소할 수 없습니다.",
"reset_success": "브랜딩이 기본값으로 재설정되었습니다. 새로고침 중...",
"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자."
},
"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": "경고 규칙, 원격 명령 및 SMTP 구성",
"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",
"device_groups_intro": "Device groups linked to this organization define which machines members can reach in the RustDesk client. Configure members and access on the Devices page.",
"manage_in_devices": "Open Devices → Groups",
"no_org_device_groups": "No device groups are linked to this organization yet.",
"create_org_device_group": "Create device group",
"org_device_group_created": "Device group created",
"org_user_groups_title": "User groups",
"org_user_groups_intro": "User groups linked to this organization can be granted access to the device groups above (Devices → Groups → Allowed user groups).",
"no_org_user_groups": "No user groups linked to this organization.",
"group_name": "Name",
"group_type": "Type",
"group_members": "Devices",
"group_type_manual": "Manual",
"group_type_tag": "Tag",
"group_allowed_user_groups": "Allowed user groups",
"group_devices_suffix": "devices",
"group_name_required": "Group name is required",
"org_team_id": "Organization team ID",
"link_team_id_hint": "The group will be linked to this organization automatically (team ID = organization 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": "이미지"
},
"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": "취소"
}
}
}