mirror of
https://github.com/UNITRONIX/BetterDesk.git
synced 2026-09-10 17:45:42 +00:00
8956ec653d
Keep classic as the default production chrome. Mark the opt-in switcher with a BETA badge/tooltip and show a topbar chip while UX 3.5 is active.
4348 lines
234 KiB
JSON
4348 lines
234 KiB
JSON
{
|
||
"meta": {
|
||
"lang": "ko",
|
||
"name": "Korean",
|
||
"native_name": "한국어",
|
||
"direction": "ltr"
|
||
},
|
||
"common": {
|
||
"loading": "로딩 중...",
|
||
"confirm": "확인",
|
||
"alert": "알림",
|
||
"prompt": "값을 입력하세요",
|
||
"copied": "클립보드에 복사됨",
|
||
"save": "저장",
|
||
"saved": "저장됨",
|
||
"error": "오류",
|
||
"success": "성공",
|
||
"warning": "경고",
|
||
"info": "정보",
|
||
"all": "전체",
|
||
"cancel": "취소",
|
||
"delete": "삭제",
|
||
"actions": "작업",
|
||
"close": "닫기",
|
||
"required": "필수",
|
||
"name_required": "이름은 필수입니다",
|
||
"active": "활성",
|
||
"inactive": "비활성",
|
||
"invalid_json": "유효하지 않은 JSON",
|
||
"field_required": "{field}은(는) 필수입니다",
|
||
"back": "뒤로",
|
||
"edit": "편집",
|
||
"yes": "예",
|
||
"no": "아니요"
|
||
},
|
||
"nav": {
|
||
"main": "메인",
|
||
"tools": "도구",
|
||
"system": "시스템",
|
||
"dashboard": "대시보드",
|
||
"devices": "장치",
|
||
"keys": "키",
|
||
"generator": "생성기",
|
||
"settings": "설정",
|
||
"users": "사용자",
|
||
"inventory": "인벤토리",
|
||
"tickets": "티켓",
|
||
"help_requests": "도움 요청",
|
||
"activity": "활동",
|
||
"automation": "자동화",
|
||
"file_transfer": "파일 전송",
|
||
"network": "네트워크",
|
||
"dataguard": "DataGuard",
|
||
"reports": "보고서",
|
||
"tenants": "Tenants",
|
||
"registrations": "Registrations",
|
||
"management": "관리",
|
||
"toggle_sidebar": "사이드바 전환",
|
||
"cdap": "CDAP 장치",
|
||
"fleet": "플릿",
|
||
"scaling": "스케일링",
|
||
"cross_platform": "크로스 플랫폼",
|
||
"tokens": "장치 토큰",
|
||
"organizations": "조직",
|
||
"policies": "정책",
|
||
"attestation": "인증",
|
||
"remote": "원격 데스크톱",
|
||
"toolkit": "Toolkit",
|
||
"security_audit": "보안 감사",
|
||
"languages": "언어",
|
||
"resource_control": "리소스 제어",
|
||
"chat": "채팅",
|
||
"help": "Help",
|
||
"expand_sidebar": "사이드바 확장",
|
||
"toggle_theme": "테마 전환",
|
||
"sdk_studio": "SDK Studio",
|
||
"login": "Login",
|
||
"permissions": "권한",
|
||
"server_management": "서버 관리",
|
||
"server_attestation": "서버 성능 인증",
|
||
"commercialization": "상용화",
|
||
"remote_open_tab": "새 탭에서 원격 데스크톱 클라이언트 열기"
|
||
},
|
||
"auth": {
|
||
"login": "Login",
|
||
"logout": "Logout",
|
||
"login_title": "Sign In",
|
||
"login_subtitle": "BetterDesk 콘솔에 로그인",
|
||
"username": "사용자 이름",
|
||
"username_placeholder": "사용자 이름을 입력하세요",
|
||
"password": "비밀번호",
|
||
"password_placeholder": "비밀번호를 입력하세요",
|
||
"remember_me": "Remember me",
|
||
"login_failed": "로그인에 실패했습니다. 자격 증명을 확인하세요.",
|
||
"invalid_credentials": "사용자 이름 또는 비밀번호가 잘못되었습니다.",
|
||
"username_collision": "동일한 사용자 이름의 로컬 계정이 이미 있습니다. 로컬 비밀번호로 로그인하거나 관리자에게 충돌하는 계정의 이름 변경 또는 삭제를 요청하세요.",
|
||
"fill_all_fields": "모든 필드를 작성해 주세요.",
|
||
"logout_confirm": "정말로 로그아웃하시겠습니까?",
|
||
"change_password": "비밀번호 변경",
|
||
"password_required": "비밀번호가 필요합니다",
|
||
"totp_title": "2단계 인증",
|
||
"totp_subtitle": "인증 앱의 6자리 코드를 입력하세요.",
|
||
"totp_code": "Verification Code",
|
||
"totp_verify": "Verify",
|
||
"totp_use_recovery": "대신 복구 코드를 사용하세요",
|
||
"totp_use_code": "대신 인증자 코드를 사용하세요",
|
||
"totp_recovery_code": "복구 코드",
|
||
"totp_back_to_login": "로그인으로 돌아가기",
|
||
"totp_invalid_code": "유효하지 않은 인증 코드입니다. 다시 시도하세요.",
|
||
"totp_enter_code": "6자리 코드를 입력하세요",
|
||
"totp_enter_recovery": "복구 코드를 입력하세요",
|
||
"totp_session_expired": "세션이 만료되었습니다. 다시 로그인하세요.",
|
||
"totp_already_enabled": "2단계 인증이 이미 활성화되어 있습니다",
|
||
"pro_only_account": "이 계정은 RustDesk 데스크톱 클라이언트 전용입니다. 로그인하려면 RustDesk 앱을 사용하세요.",
|
||
"passwords_mismatch": "비밀번호가 일치하지 않습니다",
|
||
"or": "또는",
|
||
"login_sso": "SSO로 로그인",
|
||
"login_sso_with": "{{provider}}로 로그인",
|
||
"oidc_denied": "ID 공급자가 액세스를 거부했습니다.",
|
||
"oidc_invalid": "OIDC 콜백이 잘못되었습니다. 다시 시도해 주세요.",
|
||
"oidc_failed": "OIDC 인증에 실패했습니다. 다시 시도해 주세요.",
|
||
"oidc_error": "SSO 로그인 중에 오류가 발생했습니다.",
|
||
"oidc_no_account": "귀하의 계정을 찾을 수 없으며 자동 등록이 비활성화되었습니다.",
|
||
"totp_rate_limited": "시도 횟수가 너무 많습니다. 나중에 다시 시도해 주세요.",
|
||
"emergency_mode_banner": "Go server에 연결할 수 없음 — 비상 모드에서 실행 중(관리자 전용, 제한된 기능)"
|
||
},
|
||
"dashboard": {
|
||
"title": "대시보드",
|
||
"subtitle": "Overview of your RustDesk server",
|
||
"total_devices": "총 장치",
|
||
"online_now": "Online Now",
|
||
"banned": "Banned",
|
||
"active_connections": "활성 연결",
|
||
"offline_devices": "Offline",
|
||
"server_status": "서버 상태",
|
||
"quick_actions": "빠른 작업",
|
||
"manage_devices": "연결된 장치 관리",
|
||
"view_keys": "서버 키 보기",
|
||
"generate_config": "클라이언트 구성 생성",
|
||
"server_settings": "설정 구성",
|
||
"greeting_morning": "좋은 아침입니다, {name}",
|
||
"greeting_afternoon": "좋은 오후입니다, {name}",
|
||
"greeting_evening": "좋은 저녁입니다, {name}",
|
||
"greeting_night": "좋은 밤 되세요, {name}",
|
||
"health_overview": "상태 개요",
|
||
"devices_online": "온라인 장치",
|
||
"active_alerts": "활성 경고",
|
||
"recent_connections": "총 장치 수",
|
||
"server_uptime": "서버 가동 시간",
|
||
"activity_feed": "최근 활동",
|
||
"no_recent_activity": "최근 활동 없음",
|
||
"just_now": "방금",
|
||
"ago": "전",
|
||
"tip_desktop_mode": "모니터링 위젯이 있는 다중 창 작업 공간을 위해 데스크톱 모드를 사용해 보세요.",
|
||
"tip_keyboard_shortcuts": "어디서나 Ctrl+K 를 눌러 빠른 검색 명령 팔레트를 열 수 있습니다.",
|
||
"tip_address_book": "RustDesk 클라이언트에서 로그인하여 장치 간 주소록을 동기화하세요.",
|
||
"tip_2fa": "계정 보안을 강화하려면 설정에서 2단계 인증을 활성화하세요.",
|
||
"tip_bulk_actions": "여러 장치를 선택하고 일괄 작업으로 한 번에 관리하세요.",
|
||
"tip_theme": "사이드바 설정에서 다크 테마와 라이트 테마를 전환하세요.",
|
||
"tip_cdap": "CDAP 게이트웨이를 통해 IoT 장치와 산업용 센서를 연결하세요.",
|
||
"tip_tutorials": "오른쪽 아래의 도움말 버튼을 클릭하면 대화형 튜토리얼을 볼 수 있습니다.",
|
||
"client_config_eyebrow": "클라이언트 설정",
|
||
"client_config_title": "RustDesk 클라이언트 구성",
|
||
"client_config_subtitle": "이 값을 RustDesk에 입력하여 클라이언트를 이 BetterDesk 서버에 연결하세요.",
|
||
"copy_all_config": "모두 복사",
|
||
"show_config_qr": "QR 표시",
|
||
"config_server_id": "ID 서버",
|
||
"config_relay_server": "릴레이 서버",
|
||
"config_api_server": "API 서버",
|
||
"config_key": "키",
|
||
"client_config_hint": "RustDesk 네트워크 설정의 ID/릴레이 서버 섹션에 이 값을 입력하세요.",
|
||
"open_generator": "클라이언트 생성기",
|
||
"open_keys": "키 열기",
|
||
"open_remote": "원격 데스크톱 콘솔 열기",
|
||
"attention_panel": "주의 필요",
|
||
"system_ready": "시스템 준비됨",
|
||
"system_attention": "주의 필요",
|
||
"config_not_ready": "클라이언트 구성이 아직 준비되지 않았습니다.",
|
||
"client_config_qr_title": "RustDesk 구성 QR",
|
||
"client_config_qr_hint": "구성 QR 코드를 지원하는 RustDesk 클라이언트에서 이 코드를 스캔하세요.",
|
||
"client_server_host_label": "클라이언트 서버 주소",
|
||
"client_server_host_placeholder": "예: 203.0.113.10 또는 desk.example.com",
|
||
"client_server_host_hint": "RustDesk 클라이언트가 이 서버에 접속하는 주소. 패널 URL과 클라이언트 IP/DNS가 다를 때 변경. 분리 도메인: 설정 → 공개 클라이언트 엔드포인트.",
|
||
"apply_client_host": "적용",
|
||
"copy_deploy_string": "배포 문자열 복사",
|
||
"show_intune_script": "Intune / PSADT 스크립트",
|
||
"intune_script_title": "Windows 배포 스니펫",
|
||
"intune_script_hint": "RustDesk MSI 완료 후 관리자 권한으로 실행하세요. 배포 문자열 복사와 동일한 config 문자열을 사용합니다.",
|
||
"deploy_string_not_ready": "서버 공개 키가 로드될 때까지 배포 문자열을 사용할 수 없습니다.",
|
||
"client_server_host_env_hint": "공개 ID, relay, API는 설정 → 공개 클라이언트 엔드포인트에 구성됨. 비우면 이 재정의를 다시 사용."
|
||
},
|
||
"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_reserved_hint": "장치는 숨겨지고 ID는 계속 예약됩니다. 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_online_warn": "기기가 온라인 상태입니다. 가능하면 RustDesk 클라이언트에서 ID를 변경하세요. 패널 변경은 동일성을 유지하지만 클라이언트가 새 ID를 채택해야 합니다.",
|
||
"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가 이미 존재합니다.",
|
||
"id_reserved_deleted": "이 ID는 삭제된 장치에 속합니다. ID를 다시 사용하려면 장치를 복원하거나 영구 삭제하세요.",
|
||
"show_deleted": "삭제된 장치 표시",
|
||
"deleted_badge": "삭제됨",
|
||
"restore_title": "장치 복원",
|
||
"restore_confirm": "장치 {id}을(를) 복원하시겠습니까? 다시 표시되며 동일한 ID로 재연결할 수 있습니다.",
|
||
"restore_success": "장치가 복원되었습니다",
|
||
"restore_action": "복원",
|
||
"permanent_delete_title": "장치 영구 삭제",
|
||
"permanent_delete_confirm": "장치 {id}을(를) 영구 삭제하시겠습니까? ID가 해제되며 되돌릴 수 없습니다.",
|
||
"permanent_delete_success": "장치가 영구 삭제되었습니다",
|
||
"filter_deleted": "삭제됨",
|
||
"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": "장치 그룹이 저장되었습니다.",
|
||
"strategies_title": "Access control strategies",
|
||
"strategies_hint": "Link user groups to device groups and push RustDesk Pro security settings to matching clients.",
|
||
"create_strategy": "Add strategy",
|
||
"edit_strategy": "Edit strategy",
|
||
"delete_strategy": "Delete strategy",
|
||
"delete_strategy_confirm": "Delete strategy {name}?",
|
||
"strategy_name": "Strategy name",
|
||
"strategy_name_required": "Strategy name is required",
|
||
"strategy_user_group": "User group",
|
||
"strategy_device_group": "Device group",
|
||
"strategy_any_user_group": "Any user group",
|
||
"strategy_any_device_group": "Any device group",
|
||
"strategy_enabled": "Enabled",
|
||
"strategy_disabled": "Disabled",
|
||
"strategy_enabled_label": "Strategy enabled",
|
||
"strategy_permissions": "Client security settings",
|
||
"strategy_permissions_hint": "Uses RustDesk advanced-setting keys (Y/N). Leave Default to keep client or strategy inheritance.",
|
||
"strategy_permissions_count": "{count} settings",
|
||
"strategy_perm_default": "Default",
|
||
"strategy_perm_allow": "Allow (Y)",
|
||
"strategy_perm_deny": "Deny (N)",
|
||
"strategy_perm_file_transfer": "File transfer",
|
||
"strategy_perm_disable_clipboard": "Disable clipboard",
|
||
"strategy_perm_enable_clipboard": "Enable clipboard",
|
||
"strategy_perm_audio": "Audio",
|
||
"strategy_perm_tunnel": "TCP tunnel",
|
||
"strategy_perm_camera": "Camera",
|
||
"strategy_perm_restart": "Remote restart",
|
||
"strategy_perm_block_input": "Block user input",
|
||
"strategy_created": "Strategy created",
|
||
"strategy_updated": "Strategy updated",
|
||
"strategy_deleted": "Strategy deleted",
|
||
"strategy_not_found": "Strategy not found",
|
||
"no_strategies": "No access control strategies yet",
|
||
"loading_strategies": "Loading strategies...",
|
||
"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": "페이지당",
|
||
"strategy_assign": "Assign targets",
|
||
"strategy_assign_title": "Assign strategy: {name}",
|
||
"strategy_assign_devices": "Devices",
|
||
"strategy_assign_users": "Users",
|
||
"strategy_assign_groups": "Device groups",
|
||
"strategy_assign_hint": "Select devices, users, or device groups that should use this strategy directly (RustDesk Pro priority: device > user > group).",
|
||
"strategy_assign_saved": "Strategy assignments saved",
|
||
"strategy_assign_counts": "{peers} devices, {users} users, {groups} groups",
|
||
"strategy_assign_none": "No direct assignments"
|
||
},
|
||
"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 자격 증명으로 로그인할 수 있습니다. 각 계정은 하나의 인증 제공자(local, LDAP, OIDC)에 바인딩되며 LDAP 계정에는 로컬 비밀번호가 허용되지 않습니다.",
|
||
"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 설정과 정확히 일치해야 합니다. 경로: /api/auth/oidc/callback (또는 /api/oidc/callback). 패널 공개 URL을 권장합니다 — 콘솔이 콜백을 Go API로 프록시합니다. API 포트(:21114 / :21121)도 가능합니다.",
|
||
"oidc_panel_url": "패널 URL",
|
||
"oidc_panel_url_hint": "운영자가 웹 콘솔을 여는 URL(포트 5000 또는 리버스 프록시 호스트명). OIDC 콜백이 Go API 포트에서 실행될 때 SSO 로그인에 필요합니다.",
|
||
"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}건",
|
||
"go_server_version": "Go 서버",
|
||
"go_server_version_dev_hint": "Go 바이너리가 개발 빌드를 보고합니다 — 제품 버전과 일치하도록 서버를 다시 빌드하거나 업데이트하세요",
|
||
"tab_email": "Email",
|
||
"email": {
|
||
"title": "Email notifications",
|
||
"desc": "Configure SMTP delivery for operational notifications and system alert emails.",
|
||
"smtp_host": "SMTP host",
|
||
"smtp_port": "Port",
|
||
"smtp_secure": "Use TLS/SSL",
|
||
"smtp_user": "Username",
|
||
"smtp_pass": "Password",
|
||
"smtp_from": "From address",
|
||
"alert_email": "Alert email",
|
||
"alert_email_hint": "Fallback address when no operator email is available, and for system warnings.",
|
||
"smtp_test": "Test connection",
|
||
"smtp_save": "Save configuration",
|
||
"smtp_saved": "Email settings saved",
|
||
"smtp_test_success": "Connection successful",
|
||
"smtp_test_failed": "Connection failed"
|
||
},
|
||
"ui": {
|
||
"search_placeholder": "Search settings…",
|
||
"search_results": "{count} matching sections",
|
||
"auth_sub_enrollment": "Enrollment",
|
||
"auth_sub_ldap": "LDAP / AD",
|
||
"auth_sub_oidc": "OIDC / SSO",
|
||
"branding_rdclient": "RdClient",
|
||
"connection_p2p_hint": "Try direct peer connection first; fall back to relay when P2P fails.",
|
||
"connection_relay_hint": "Route all client traffic through the relay server.",
|
||
"auth_sub_client_sessions": "RustDesk 클라이언트"
|
||
},
|
||
"confirm": {
|
||
"connection_mode_title": "Save connection strategy?",
|
||
"connection_mode": "Apply the new connection strategy for RustDesk clients?",
|
||
"connection_restart_title": "Save and restart server?",
|
||
"connection_restart": "Save connection settings and restart the BetterDesk server? Active sessions may disconnect briefly.",
|
||
"enrollment_mode_title": "Change enrollment mode?",
|
||
"enrollment_mode": "Switch enrollment to “{mode}”? This affects how new RustDesk clients can register.",
|
||
"ldap_enable_title": "Enable LDAP?",
|
||
"ldap_enable": "Enable LDAP / Active Directory sign-in? Console users may authenticate against your directory.",
|
||
"ldap_save_title": "Save LDAP settings?",
|
||
"ldap_save": "Save LDAP configuration? Incorrect settings can block directory sign-in.",
|
||
"oidc_enable_title": "Enable SSO?",
|
||
"oidc_enable": "Enable OIDC / SSO sign-in? Users may authenticate through your identity provider.",
|
||
"oidc_save_title": "Save SSO settings?",
|
||
"oidc_save": "Save OIDC / SSO configuration? Incorrect settings can block SSO sign-in.",
|
||
"smtp_save_title": "Save SMTP settings?",
|
||
"smtp_save": "Save SMTP configuration? Alert emails and notifications will use this mail server.",
|
||
"backup_restore_title": "Restore backup?",
|
||
"backup_restore": "Restore from this backup file? Selected data will be overwritten.",
|
||
"tutorials_reset_title": "Reset tutorials?",
|
||
"tutorials_reset": "Reset all tutorial progress? Guided tips will show again on each page.",
|
||
"advanced_save_title": "Save configuration file?",
|
||
"advanced_restart_after_title": "Restart service?",
|
||
"advanced_restart_title": "Restart service?",
|
||
"advanced_discard_title": "Discard changes?"
|
||
},
|
||
"public_endpoints_title": "공개 클라이언트 엔드포인트",
|
||
"public_endpoints_desc": "RustDesk 클라이언트가 사용하는 호스트명과 API URL. 대시보드 설정, QR, 배포 문자열에 사용.",
|
||
"public_endpoints_hint": "콘솔 호스트명이 ID/relay/API와 다를 때 설정(리버스 프록시/분리 DNS). 비우면 자동 감지.",
|
||
"public_endpoints_server_id": "공개 ID 서버",
|
||
"public_endpoints_server_id_placeholder": "예: remote.example.com",
|
||
"public_endpoints_relay": "공개 relay 서버",
|
||
"public_endpoints_relay_placeholder": "예: remote.example.com(기본: ID 서버)",
|
||
"public_endpoints_api_url": "공개 API URL",
|
||
"public_endpoints_api_url_placeholder": "예: https://api.example.com",
|
||
"public_endpoints_api_url_hint": "RustDesk 로그인/API용 전체 URL(기본 포트 21114).",
|
||
"public_endpoints_save": "엔드포인트 저장",
|
||
"public_endpoints_saved": "공개 클라이언트 엔드포인트 저장됨",
|
||
"public_endpoints_invalid_host": "ID 또는 relay 호스트명이 잘못됨",
|
||
"public_endpoints_invalid_api_url": "API URL이 잘못됨 — http:// 또는 https:// 사용",
|
||
"public_endpoints_save_title": "공개 클라이언트 엔드포인트를 저장할까요?",
|
||
"public_endpoints_save_confirm": "대시보드 RustDesk 설정 값을 업데이트할까요?",
|
||
"device_scope_title": "Device visibility default",
|
||
"device_scope_desc": "Controls what non-admin users see when no folder, group, or direct device grants exist.",
|
||
"device_scope_open": "Open (legacy) — show all devices until ACL is configured",
|
||
"device_scope_restricted": "Restricted — show only explicitly granted devices",
|
||
"device_scope_save": "Save visibility default",
|
||
"device_scope_saved": "Device visibility default saved",
|
||
"device_scope_invalid": "Invalid visibility mode",
|
||
"device_scope_restricted_warning": "Restricted mode is active. Ensure users have folder, group, or direct device grants or they will see an empty device list.",
|
||
"client_sessions_title": "RustDesk 클라이언트 세션",
|
||
"client_sessions_desc": "RustDesk 데스크톱/모바일 앱이 BetterDesk 계정에 로그인 상태를 유지하는 기간을 설정합니다.",
|
||
"client_sessions_expiry_days": "세션 기간(일)",
|
||
"client_sessions_expiry_hint": "기본값은 7일입니다. 슬라이딩 갱신이 꺼져 있으면 이 기간 후 다시 로그인해야 합니다.",
|
||
"client_sessions_sliding": "활동 시 세션 연장",
|
||
"client_sessions_sliding_hint": "클라이언트 사용 중 세션이 아래 최대 기간까지 갱신됩니다.",
|
||
"client_sessions_max_days": "최대 세션 수명(일)",
|
||
"client_sessions_max_days_hint": "첫 로그인 이후 슬라이딩 갱신 상한(기본 30일).",
|
||
"client_sessions_save": "세션 설정 저장",
|
||
"enrollment_ldap_hint": "LDAP/AD 및 OIDC 설정은 위의 LDAP / AD 및 OIDC / SSO 탭에 있습니다.",
|
||
"oidc_redirect_url_invalid": "리디렉션 URL은 http(s)를 사용하고 /api/auth/oidc/callback(또는 /api/oidc/callback)로 끝나야 합니다.",
|
||
"oidc_redirect_url_example": "예: {url}"
|
||
},
|
||
"audit": {
|
||
"time": "Time",
|
||
"user": "User",
|
||
"action": "Action",
|
||
"details": "Details",
|
||
"action_login": "Login",
|
||
"action_login_failed": "로그인 실패",
|
||
"action_logout": "Logout",
|
||
"action_password_change": "비밀번호가 변경되었습니다.",
|
||
"action_2fa_enable": "2FA 활성화",
|
||
"action_2fa_disable": "2FA 비활성화됨",
|
||
"action_user_create": "사용자가 생성됨",
|
||
"action_user_update": "사용자 업데이트됨",
|
||
"action_user_delete": "사용자가 삭제되었습니다.",
|
||
"action_settings_update": "설정이 업데이트되었습니다.",
|
||
"action_device_ban": "금지된 장치",
|
||
"action_device_unban": "금지 해제된 장치",
|
||
"action_device_delete": "기기가 삭제되었습니다."
|
||
},
|
||
"generator": {
|
||
"title": "Client Configuration Generator",
|
||
"subtitle": "Generate configuration for RustDesk clients",
|
||
"alpha_badge": "ALPHA",
|
||
"alpha_tooltip": "초기 기능 — 에이전트 패키지 생성기가 활발히 개발 중입니다.",
|
||
"config_options": "구성 옵션",
|
||
"server_address": "서버 주소",
|
||
"server_address_hint": "서버의 도메인 또는 IP 주소",
|
||
"custom_port": "Custom Port",
|
||
"port_hint": "기본값을 사용하려면 비워 두세요(21116).",
|
||
"relay_server": "릴레이 서버",
|
||
"relay_placeholder": "비어 있으면 ID 서버와 동일",
|
||
"relay_hint": "선택사항: 별도의 중계 서버 주소",
|
||
"include_key": "구성에 공개 키 포함",
|
||
"generate": "구성 생성",
|
||
"output": "구성 출력",
|
||
"usage_title": "연결 세부정보",
|
||
"generated": "구성이 생성되었습니다.",
|
||
"server_required": "서버 주소가 필요합니다",
|
||
"nothing_to_copy": "먼저 구성을 생성하세요.",
|
||
"bundles_title": "에이전트 번들",
|
||
"new_bundle": "새 번들",
|
||
"editor_title": "번들 편집기",
|
||
"empty_state": "왼쪽에서 번들을 선택하거나 새 번들을 생성하여 시작하세요.",
|
||
"loading": "로드 중…",
|
||
"no_bundles": "아직 번들이 없습니다. 첫 번째 것을 만들어보세요.",
|
||
"bundle_name": "번들 이름",
|
||
"bundle_name_hint": "내부 라벨만 — 최종 사용자에게는 표시되지 않습니다.",
|
||
"short_link": "짧은 다운로드 링크",
|
||
"short_link_hint": "공개 URL(/d/…)에 사용됩니다. 소문자, 숫자, 하이픈만 가능(2–32자). 번들 이름에서 자동 입력 — 공유하기 쉽게 줄이세요(예: acme).",
|
||
"branding_section": "브랜딩",
|
||
"company_name": "회사 / 브랜드 이름",
|
||
"short_text": "간단한 설명",
|
||
"contact_email": "연락처 이메일",
|
||
"contact_phone": "전화번호로 연락하기",
|
||
"contact_url": "웹사이트에 문의하세요",
|
||
"logo": "로고",
|
||
"logo_hint": "PNG, JPEG, SVG 또는 WebP. 최대 256KB.",
|
||
"logo_clear": "로고 제거",
|
||
"primary_color": "기본 색상",
|
||
"accent_color": "헤더 색상",
|
||
"default_lang": "기본 언어",
|
||
"allow_unattended": "무인 접근 허용",
|
||
"allow_unattended_hint": "활성화되면 에이전트는 운영자 액세스를 위한 영구 비밀번호를 표시합니다.",
|
||
"save": "번들 저장",
|
||
"revoke": "취소",
|
||
"unrevoke": "다시 활성화",
|
||
"revoked": "취소됨",
|
||
"preview_title": "실시간 미리보기",
|
||
"preview_hint": "최종 사용자 에이전트 창의 대략적인 모습입니다.",
|
||
"preview_default_name": "BetterDesk 지원",
|
||
"preview_status_ready": "준비",
|
||
"preview_id": "귀하의 신분증",
|
||
"preview_password": "비밀번호",
|
||
"preview_chat": "지원팀과 채팅",
|
||
"preview_settings": "설정(관리자 전용)",
|
||
"preview_quit": "종료(관리자 전용)",
|
||
"download_link_title": "다운로드 링크",
|
||
"download_link_hint": "이 링크를 최종 사용자와 공유하세요. 브랜드 다운로드 페이지가 표시됩니다. 짧은 링크를 변경해도 이전 hex 링크는 계속 작동합니다.",
|
||
"open_portal": "열기",
|
||
"created": "번들 생성됨",
|
||
"saved": "번들이 저장되었습니다",
|
||
"deleted": "번들이 삭제되었습니다.",
|
||
"revoked_ok": "번들이 취소되었습니다.",
|
||
"unrevoked_ok": "번들이 다시 활성화되었습니다.",
|
||
"link_copied": "링크가 클립보드에 복사되었습니다.",
|
||
"copy_failed": "자동으로 복사할 수 없습니다. 수동으로 복사하십시오.",
|
||
"unsaved_confirm": "저장되지 않은 변경사항을 삭제하시겠습니까?",
|
||
"confirm_revoke": "이 번들을 취소하시겠습니까? 다운로드 링크가 작동하지 않습니다.",
|
||
"confirm_unrevoke": "이 번들을 다시 활성화하시겠습니까?",
|
||
"confirm_delete": "이 번들을 영구적으로 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.",
|
||
"errors": {
|
||
"validation_failed": "검증 실패",
|
||
"name_required": "번들 이름은 필수 항목입니다.",
|
||
"company_name_required": "회사 이름은 필수 항목입니다.",
|
||
"logo_invalid": "로고는 유효한 이미지 파일이어야 합니다.",
|
||
"logo_too_large": "로고는 256KB 이하여야 합니다.",
|
||
"logo_read_failed": "로고 파일을 읽지 못했습니다.",
|
||
"primary_color_invalid": "기본 색상은 16진수 값이어야 합니다(예: #2563eb).",
|
||
"accent_color_invalid": "헤더 색상은 16진수 값이어야 합니다(예: #1e293b).",
|
||
"contact_url_invalid": "연락처 웹사이트는 유효한 URL여야 합니다.",
|
||
"server_host_required": "공용 서버 주소는 필수입니다",
|
||
"server_host_invalid": "유효한 도메인 이름 또는 IPv4 주소를 입력하세요",
|
||
"token_failed": "등록 토큰을 생성할 수 없습니다 — 서버 연결을 확인하세요",
|
||
"rebuild_revoked": "취소된 번들은 재빌드할 수 없습니다 — 먼저 다시 활성화하세요",
|
||
"slug_invalid": "짧은 링크는 소문자, 숫자, 하이픈만 포함할 수 있습니다",
|
||
"slug_too_short": "짧은 링크는 최소 2자여야 합니다",
|
||
"slug_too_long": "짧은 링크는 최대 32자입니다",
|
||
"slug_taken": "이 짧은 링크는 다른 번들에서 이미 사용 중입니다"
|
||
},
|
||
"legacy_title": "클라이언트 구성 생성기",
|
||
"connection_section": "서버 연결",
|
||
"server_host": "공용 서버 주소",
|
||
"server_host_placeholder": "support.example.com 또는 203.0.113.10",
|
||
"server_host_hint": "최종 사용자가 BetterDesk 서버에 접속하는 도메인 이름 또는 공용 IP. 포트는 콘솔 구성에서 가져옵니다.",
|
||
"use_https": "HTTPS / WSS 사용(권장)",
|
||
"enrollment_token": "기기 등록",
|
||
"enrollment_token_pending": "기기별 승인 후 할당",
|
||
"enrollment_token_set": "기기별 — 등록에서 승인",
|
||
"enrollment_token_hint": "각 설치가 개별적으로 등록됩니다. 등록 패널에서 새 기기를 승인하면 서버가 컴퓨터별로 고유한 액세스 키를 발급합니다.",
|
||
"enrollment_per_device": "기기별 — 등록에서 승인",
|
||
"background_color": "창 배경색",
|
||
"surface_color": "카드 배경색",
|
||
"text_color": "텍스트 색상",
|
||
"text_muted_color": "흐린 텍스트 색상",
|
||
"status_ready_color": "준비 표시기 색상",
|
||
"header_text_color": "헤더 텍스트 색상",
|
||
"builds_title": "클라이언트 빌드",
|
||
"builds_hint": "각 플랫폼을 위해 이 서버에서 컴파일된 설치 파일. 도구 체인 오류 수정 또는 에이전트 소스 업데이트 후 재빌드합니다.",
|
||
"builds_loading": "빌드 상태 로드 중…",
|
||
"builds_empty": "아직 대기 중인 빌드가 없습니다 — 번들을 저장하거나 모두 재빌드를 클릭하세요.",
|
||
"rebuild_all": "모두 재빌드",
|
||
"rebuilding_all": "재빌드 대기열에 추가 중…",
|
||
"rebuild_queued": "모든 플랫폼 빌드가 대기열에 추가되었습니다",
|
||
"rebuild_confirm": "이 번들의 모든 플랫폼 설치 파일을 재빌드하시겠습니까? 기존의 준비된 산출물이 교체됩니다.",
|
||
"build_status_ready": "준비 완료",
|
||
"build_status_pending": "대기 중",
|
||
"build_status_building": "빌드 중",
|
||
"build_status_failed": "실패",
|
||
"builds_summary": "{{ready}} 준비 완료 · {{pending}} 대기 중 · {{building}} 빌드 중 · {{failed}} 실패",
|
||
"build_error_hint": "빌드 오류",
|
||
"preview_help": "도움 요청",
|
||
"rdclient_tab": "RdClient 데스크톱",
|
||
"rdclient_new_bundle": "새 RdClient 번들",
|
||
"rdclient_subtitle": "패널 URL이 포함된 RdClient 설치 프로그램 빌드",
|
||
"rdclient_server_url_hint": "BetterDesk 콘솔 공개 URL (/remote).",
|
||
"agent_client_tab": "Agent Client",
|
||
"agent_client_new_bundle": "New Agent Client bundle",
|
||
"support_agent_tab": "Support Agent",
|
||
"support_agent_new_bundle": "New Support Agent bundle",
|
||
"product_agent_client": "Agent Client",
|
||
"product_support_agent": "Support",
|
||
"product_rdclient": "RdClient"
|
||
},
|
||
"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",
|
||
"retry": "다시 시도",
|
||
"show_value": "표시",
|
||
"hide_value": "숨기기"
|
||
},
|
||
"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": "Remote Operator",
|
||
"role_viewer": "Viewer",
|
||
"role_hint": "Server-wide role. Remote Operators connect remotely and can change their own password. Viewers are read-only (no Web Client). Pro License accounts activate RustDesk Pro via the desktop client API only — no web panel access. Organization roles are configured separately.",
|
||
"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": "마지막 관리자는 삭제할 수 없습니다.",
|
||
"last_admin_go": "삭제할 수 없습니다. BetterDesk 서버의 유일한 Super Admin입니다. 먼저 다른 Super Admin을 만들거나 동기화하세요(Global Admin 아님).",
|
||
"delete_mirror_failed": "서버에서 사용자를 제거할 수 없습니다. BetterDesk 서버에 연결할 수 있을 때 다시 시도하세요.",
|
||
"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": "Use Viewer for read-only monitoring; Remote Operator for users who need to connect",
|
||
"tip_operator_role": "Use operator role for users who need to manage devices but not users",
|
||
"tip_audit_logs": "의심스러운 활동이 있는지 정기적으로 감사 로그를 검토하세요.",
|
||
"role_pro": "Pro License (client API only)",
|
||
"role_super_admin": "Super Admin",
|
||
"role_server_admin": "서버 관리자",
|
||
"role_global_admin": "글로벌 관리자",
|
||
"organizations": "조직",
|
||
"user_organizations": "{username}의 조직",
|
||
"no_organizations": "사용자가 어떤 조직에도 할당되지 않았습니다.",
|
||
"org_removed": "조직 할당이 삭제됨",
|
||
"server_role_label": "서버 역할",
|
||
"server_role_hint": "사용자가 전체 콘솔에서 수행할 수 있는 작업(패널 액세스, 서버 구성, 감사 등)을 결정합니다.",
|
||
"org_membership_section": "조직 회원",
|
||
"org_membership_hint": "사용자는 여러 조직에 속할 수 있습니다. 조직 역할은 해당 조직 내부의 권한만 제어하며 위의 서버 역할과는 별개입니다.",
|
||
"column_organizations": "조직",
|
||
"no_orgs_short": "—",
|
||
"org_count_one": "{count} 조직",
|
||
"org_count_many": "{count} 조직",
|
||
"all_orgs_assigned": "사용자는 이미 모든 조직의 구성원입니다.",
|
||
"user_groups": "사용자 그룹",
|
||
"user_groups_hint": "사용자 그룹을 사용하여 선택한 장치 그룹에 대한 액세스 권한을 부여할 수 있습니다.",
|
||
"loading_user_groups": "사용자 그룹 로드 중...",
|
||
"no_user_groups": "사용 가능한 사용자 그룹이 없습니다.",
|
||
"create_user_group": "그룹 만들기",
|
||
"edit_user_group": "사용자 그룹 편집",
|
||
"delete_user_group": "사용자 그룹 삭제",
|
||
"delete_user_group_confirm": "사용자 그룹 {name}를 삭제하시겠습니까? 회원은 이 그룹을 통해 부여된 액세스 권한을 잃게 됩니다.",
|
||
"user_group_created": "사용자 그룹이 생성되었습니다.",
|
||
"user_group_updated": "사용자 그룹이 업데이트되었습니다.",
|
||
"user_group_deleted": "사용자 그룹이 삭제되었습니다.",
|
||
"user_group_not_found": "사용자 그룹을 찾을 수 없습니다",
|
||
"group_name": "그룹 이름",
|
||
"group_name_placeholder": "연산자",
|
||
"group_note": "Note",
|
||
"group_note_placeholder": "선택적 참고 사항",
|
||
"group_name_required": "그룹 이름은 필수 항목입니다.",
|
||
"group_members_count": "{count} 회원",
|
||
"provider": "공급자",
|
||
"provider_local": "로컬",
|
||
"provider_ldap": "LDAP/AD",
|
||
"provider_oidc": "SSO",
|
||
"password_managed_by_provider": "ID 공급자에 의해 관리됨",
|
||
"provider_managed_hint": "이 계정은 외부 ID 공급자(LDAP/AD 또는 SSO)에 의해 관리됩니다. 비밀번호와 역할은 공급자가 제어하며 여기서 변경할 수 없습니다.",
|
||
"email": "Email",
|
||
"email_placeholder": "operator@example.com",
|
||
"email_hint": "Used for help request notifications when the user is assigned to device folders or groups.",
|
||
"scope_hint": "Limit which devices this user sees: assign user groups, folders, and/or direct devices. Without restrictions, operators and viewers see all devices (unless the server uses restricted default mode in Settings).",
|
||
"role_desc_viewer": "Read-only panel access: device list, audit, metrics. Cannot use Web Remote Desktop.",
|
||
"role_desc_operator": "Can connect via Web Client and RustDesk desktop, edit devices, and change own password in Settings.",
|
||
"role_desc_pro": "RustDesk desktop client API only — activates Pro license. Blocked from web panel login.",
|
||
"role_desc_admin": "Full access (legacy alias for Super Admin).",
|
||
"role_desc_super_admin": "Full server and panel access, including user and server configuration.",
|
||
"role_desc_server_admin": "Server infrastructure, keys, and read-only user visibility. No device connect.",
|
||
"role_desc_global_admin": "Manage all users, organizations, and devices. Cannot change server config.",
|
||
"user_folders": "Folder access",
|
||
"user_folders_hint": "Devices in selected folders are visible to this user when folder ACL is configured.",
|
||
"user_direct_devices": "Direct devices",
|
||
"user_direct_devices_hint": "Grant access to specific devices regardless of folder or group membership.",
|
||
"user_direct_devices_placeholder": "Enter device IDs separated by commas",
|
||
"effective_scope_count": "{count} devices visible",
|
||
"loading_folders": "Loading folders...",
|
||
"no_folders": "No folders available",
|
||
"pro_strategy_label": "RustDesk Pro strategy",
|
||
"pro_strategy_hint": "Optional access-control strategy for RustDesk Pro client features (separate from panel role).",
|
||
"pro_strategy_none": "None",
|
||
"column_scope": "Scope"
|
||
},
|
||
"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",
|
||
"reset_keyboard": "키보드 상태 재설정",
|
||
"reset_keyboard_done": "원격 키보드 상태가 재설정되었습니다",
|
||
"keyboard_mode": "키보드 모드",
|
||
"keyboard_mode_auto": "자동(Map, RustDesk와 동일)",
|
||
"keyboard_mode_legacy": "Legacy(문자)",
|
||
"keyboard_mode_map": "Map(물리 스캔코드)",
|
||
"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 입력",
|
||
"session_picker": {
|
||
"title": "장치 선택",
|
||
"already_connected": "이미 연결됨"
|
||
},
|
||
"http_warning": "HTTP 모드: H.264 소프트웨어 디코딩으로 제한 (~15 FPS). 최고 성능을 위해 HTTPS를 사용하세요 (WebCodecs, VP9, 60 FPS).",
|
||
"file_transfer": "파일 전송",
|
||
"file_upload": "업로드",
|
||
"file_download": "다운로드",
|
||
"file_empty": "이 폴더는 비어 있습니다",
|
||
"file_transfers": "전송 목록",
|
||
"file_complete": "완료",
|
||
"file_error": "전송 실패",
|
||
"file_show_hidden": "숨기 파일 표시",
|
||
"file_new_folder": "새 폴더",
|
||
"file_new_folder_prompt": "폴더 이름 입력:",
|
||
"file_parent": "상위 폴더",
|
||
"file_root": "루트",
|
||
"file_rename": "이름 변경",
|
||
"file_rename_prompt": "새 이름 입력:",
|
||
"file_delete_confirm": "이 항목을 삭제하시겠습니까?",
|
||
"file_cancelled": "전송 취소됨",
|
||
"2fa_required": "2FA 인증 필요",
|
||
"2fa_hint": "인증 앱의 6자리 코드를 입력하세요.",
|
||
"2fa_invalid": "유효한 6자리 코드를 입력하세요.",
|
||
"verify": "Verify",
|
||
"use_cdap_fallback": "CDAP 뷰어 사용",
|
||
"cdap_fallback_hint": "Open the lightweight JPEG-polling viewer that uses bd-signal/CDAP instead of the RustDesk relay. Useful when the peer is offline on the relay but reachable via the agent management channel.",
|
||
"clipboard_empty": "클립보드가 비어 있습니다.",
|
||
"clipboard_denied": "클립보드 액세스가 거부되었습니다. HTTPS가 필요하거나 권한이 부여되지 않았습니다.",
|
||
"file_loading": "로드 중...",
|
||
"file_timeout": "원격 장치가 응답하지 않았습니다. 원격 시스템에서 파일 전송이 지원되지 않거나 비활성화되어 있을 수 있습니다.",
|
||
"codec": "비디오 코덱",
|
||
"codec_auto": "자동(권장)",
|
||
"remember_peer_password": "이 기기에서 장치 비밀번호 기억",
|
||
"save_peer_password": "비밀번호 저장",
|
||
"input_mode_touch": "터치",
|
||
"input_mode_touchpad": "터치패드",
|
||
"show_keyboard": "키보드",
|
||
"special_keys": "특수 키",
|
||
"special_print_screen": "Print Screen",
|
||
"mobile_toolbar": "원격 제어",
|
||
"phone_unsupported_title": "원격 데스크톱은 더 큰 화면이 필요합니다",
|
||
"phone_unsupported_body": "태블릿, 펼친 폴더블 또는 데스크톱을 사용하세요. 장치 관리는 콘솔에서 계속 가능합니다.",
|
||
"phone_unsupported_back_devices": "장치로 돌아가기",
|
||
"phone_unsupported_get_desktop": "RdClient desktop 받기",
|
||
"file_local": "로컬 컴퓨터",
|
||
"file_remote": "원격 컴퓨터",
|
||
"file_send": "보내기",
|
||
"file_pick_folder": "폴더 선택",
|
||
"file_queue_empty": "진행 중인 전송 없음",
|
||
"file_connecting": "파일 전송 세션 연결 중…",
|
||
"file_connect_failed": "파일 전송 세션을 열 수 없습니다",
|
||
"file_local_limited": "로컬 폴더 전체 탐색은 HTTPS에서 Chrome 또는 Edge가 필요합니다. 업로드와 다운로드는 계속 사용할 수 있습니다.",
|
||
"file_transfer_unavailable_cdap": "CDAP 스냅샷 세션에서는 파일 전송을 사용할 수 없습니다.",
|
||
"file_status_waiting": "대기 중…",
|
||
"file_status_transferring": "전송 중…",
|
||
"file_status_saving": "저장 중…",
|
||
"file_status_downloaded": "다운로드됨",
|
||
"file_status_uploaded": "업로드됨",
|
||
"file_drop_upload_hint": "업로드 대상에 놓기: {path}",
|
||
"file_local_upload_hint": "왼쪽 상자에 파일을 놓거나 클릭하여 업로드하세요. 대상은 원격 쪽에서 열린 폴더입니다.",
|
||
"file_transfer_stalled": "원격 장치가 전송을 시작하지 않았습니다",
|
||
"file_no_local_tree": "로컬 파일을 탐색하려면 폴더 선택(선택 사항)",
|
||
"file_dropzone_title": "여기에 파일 놓기",
|
||
"file_dropzone_subtitle": "또는 클릭하여 파일 선택",
|
||
"file_dropzone_multiple": "여러 파일 지원",
|
||
"file_dropzone_waiting": "원격 연결 대기 중…",
|
||
"file_overwrite_title": "파일이 이미 있습니다",
|
||
"file_overwrite_message": "원격 컴퓨터에 «{name}» 파일이 이미 있습니다. 덮어쓸까요?",
|
||
"file_overwrite_skip": "건너뛰기",
|
||
"file_overwrite_skip_all": "모두 건너뛰기",
|
||
"file_overwrite_confirm": "덮어쓰기",
|
||
"file_overwrite_all": "모두 덮어쓰기",
|
||
"file_resume": "재개",
|
||
"file_open": "열기",
|
||
"file_up": "위로",
|
||
"file_home": "홈",
|
||
"file_hide_hidden": "숨김 파일 숨기기",
|
||
"windows_sessions": "Windows 세션"
|
||
},
|
||
"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": "Branding saved successfully.",
|
||
"exported": "테마를 내보냈습니다.",
|
||
"imported": "Theme imported successfully.",
|
||
"import_error": "테마를 가져오지 못했습니다. 파일 형식이 잘못되었습니다.",
|
||
"reset_confirm": "브랜딩을 기본값으로 재설정하시겠습니까? 이 작업은 취소할 수 없습니다.",
|
||
"reset_success": "Branding reset to defaults.",
|
||
"logo_type_text": "Text Logo",
|
||
"logo_text": "Logo Text",
|
||
"logo_text_hint": "브랜드 로고로 표시되는 기본 텍스트",
|
||
"logo_text_accent": "Accent Text",
|
||
"logo_text_accent_hint": "로고 아래의 보조 텍스트(예: 제품 이름 또는 태그라인)",
|
||
"logo_upload_success": "로고가 성공적으로 업로드되었습니다.",
|
||
"typography_title": "Typography",
|
||
"typography_desc": "제목과 본문 텍스트의 글꼴을 선택하세요. 자체 호스팅을 위해 글꼴이 서버에 다운로드됩니다.",
|
||
"font_heading": "제목 글꼴",
|
||
"font_heading_hint": "제목(H1~H6) 및 텍스트 로고에 사용됩니다.",
|
||
"font_body": "Body Font",
|
||
"font_body_hint": "본문 텍스트 및 UI 요소에 사용됩니다.",
|
||
"font_search_placeholder": "글꼴 검색...",
|
||
"font_system_default": "시스템 기본값",
|
||
"font_clear": "Clear",
|
||
"font_cat_all": "All",
|
||
"font_downloaded_count": "서버에 다운로드된 글꼴",
|
||
"powered_by": "제공",
|
||
"background_title": "배경 및 외관",
|
||
"background_desc": "콘솔 배경 화면, 그라데이션 또는 단색 배경을 설정합니다. 카드가 그 위에 표시됩니다.",
|
||
"bg_type_none": "없음",
|
||
"bg_type_color": "단색",
|
||
"bg_type_gradient": "그라데이션",
|
||
"bg_type_image": "이미지",
|
||
"bg_color": "배경색",
|
||
"bg_gradient": "CSS 그라데이션",
|
||
"bg_gradient_hint": "유효한 CSS 그라데이션(예: linear-gradient(135deg, #1e293b, #0f172a))",
|
||
"bg_image_upload": "배경 이미지 업로드",
|
||
"bg_image_choose": "이미지 파일 선택",
|
||
"bg_image_hint": "PNG, JPG, WebP 또는 GIF. 최대 8 MB. 서버에 저장됩니다.",
|
||
"bg_image_url": "이미지 경로 / URL",
|
||
"bg_size": "이미지 크기 조정",
|
||
"bg_size_cover": "커버(화면 채우기)",
|
||
"bg_size_contain": "컨테인(맞추기)",
|
||
"bg_size_auto": "자동(원본 크기)",
|
||
"bg_blur": "배경 흐림",
|
||
"bg_overlay": "어두운 오버레이",
|
||
"bg_overlay_hint": "텍스트 가독성을 높이기 위해 배경을 어둡게 합니다.",
|
||
"bg_image_too_large": "이미지가 너무 큽니다. 최대 크기는 8 MB입니다.",
|
||
"bg_image_invalid_type": "잘못된 파일 형식입니다. PNG, JPG, WebP 또는 GIF를 사용하세요.",
|
||
"bg_upload_success": "배경 이미지가 성공적으로 업로드되었습니다.",
|
||
"login_title": "로그인 페이지",
|
||
"login_desc": "로그인 화면의 제목, 부제목, 배경을 사용자 지정합니다.",
|
||
"login_heading": "로그인 제목",
|
||
"login_heading_placeholder": "돌아오셨군요",
|
||
"login_subheading": "로그인 부제목",
|
||
"login_subheading_placeholder": "계정에 로그인하세요",
|
||
"login_bg_inherit": "콘솔과 동일",
|
||
"agent_title": "에이전트 다운로드 페이지",
|
||
"agent_desc": "최종 사용자에게 표시되는 공개 에이전트 다운로드 포털을 사용자 지정합니다.",
|
||
"agent_show_powered": "「Powered by BetterDesk」 표시",
|
||
"agent_show_powered_hint": "다운로드 포털 바닥글에 BetterDesk 크레딧을 표시합니다.",
|
||
"footer_title": "바닥글 및 저작권",
|
||
"footer_desc": "로그인 화면 및 콘솔 사이드바에 표시되는 사용자 지정 바닥글 텍스트를 추가합니다.",
|
||
"footer_text": "바닥글 텍스트",
|
||
"footer_text_hint": "예: 저작권 표시 또는 회사 이름.",
|
||
"show_powered": "「BetterDesk」 크레딧 표시",
|
||
"show_powered_hint": "로그인 바닥글 및 사이드바에 BetterDesk 이름과 버전을 표시합니다.",
|
||
"custom_css_title": "사용자 지정 CSS",
|
||
"custom_css_desc": "고급: 콘솔 전체 및 로그인 페이지에 적용되는 사용자 지정 CSS를 주입합니다.",
|
||
"custom_css_hint": "주의해서 사용하세요. 유효하지 않거나 안전하지 않은 규칙은 삭제됩니다. 최대 20,000자.",
|
||
"save_now": "Save now",
|
||
"autosaved": "Changes saved automatically.",
|
||
"status_saved": "All changes saved",
|
||
"status_dirty": "Unsaved changes",
|
||
"status_saving": "Saving…",
|
||
"status_error": "Save failed",
|
||
"revert_changes": "Revert changes",
|
||
"profiles_label": "Appearance profile",
|
||
"profile_apply": "Apply profile",
|
||
"profile_new": "New profile",
|
||
"profile_save": "Save to profile",
|
||
"profile_duplicate": "Duplicate",
|
||
"profile_delete": "Delete",
|
||
"profile_none": "— Select profile —",
|
||
"profile_active": "active",
|
||
"profile_applied": "Profile applied.",
|
||
"profile_created": "Profile created.",
|
||
"profile_updated": "Profile updated.",
|
||
"profile_duplicated": "Profile duplicated.",
|
||
"profile_deleted": "Profile deleted.",
|
||
"profile_delete_confirm": "Delete this appearance profile?",
|
||
"profile_name_prompt": "Profile name:",
|
||
"profile_select_first": "Select a profile first.",
|
||
"builtin_themes": "Built-in themes",
|
||
"theme_apply_confirm": "Apply this built-in theme? Current settings will be replaced.",
|
||
"theme_applied": "Theme applied.",
|
||
"module_identity": "Identity & logo",
|
||
"module_colors": "Colors",
|
||
"module_typography": "Typography",
|
||
"module_backgrounds": "Console background",
|
||
"module_pages": "Login & agent pages",
|
||
"module_advanced": "Advanced",
|
||
"modules_nav": "Appearance modules",
|
||
"live_preview": "Live preview",
|
||
"preview_apply_page": "Preview on this page",
|
||
"preview_card_title": "Dashboard card",
|
||
"preview_card_body": "Sample body text showing your typography and colors.",
|
||
"preview_btn_primary": "Primary",
|
||
"preview_btn_secondary": "Secondary",
|
||
"font_google": "Google Fonts",
|
||
"font_local": "Downloaded",
|
||
"font_upload": "Upload custom",
|
||
"font_upload_choose": "Choose font file",
|
||
"font_upload_name": "Font family name",
|
||
"font_upload_success": "Font uploaded successfully.",
|
||
"font_local_empty": "No fonts downloaded yet.",
|
||
"font_delete": "Remove font",
|
||
"glass_title": "유리 표면",
|
||
"glass_desc": "카드, 모달, 양식 및 기타 패널 요소에 무광 유리 배경을 적용합니다.",
|
||
"glass_enabled": "유리 표면 사용",
|
||
"glass_color": "유리 틴트 색상",
|
||
"glass_color_hint": "무광 패널의 기본 색상. 비어 있으면 보조 배경색을 사용합니다.",
|
||
"glass_blur": "표면 흐림",
|
||
"glass_opacity": "유리 불투명도"
|
||
},
|
||
"device_detail": {
|
||
"tab_overview": "개요",
|
||
"tab_tags": "태그 및 메모",
|
||
"tab_actions": "Actions",
|
||
"section_identity": "Identity",
|
||
"section_network": "Network",
|
||
"section_timestamps": "Timestamps",
|
||
"section_connect": "연결",
|
||
"section_manage": "관리",
|
||
"folder": "Folder",
|
||
"status_tier": "Status Tier",
|
||
"device_banned": "이 장치는 금지되어 있습니다",
|
||
"no_reason": "이유가 제공되지 않음",
|
||
"tags": "Tags",
|
||
"no_tags": "이 기기에 할당된 태그가 없습니다.",
|
||
"tag_placeholder": "태그 이름을 입력하세요...",
|
||
"add_tag": "Add",
|
||
"tag_exists": "이 태그는 이미 존재합니다.",
|
||
"notes": "Notes",
|
||
"notes_placeholder": "이 기기에 대한 메모를 추가하세요...",
|
||
"danger_zone": "Danger Zone",
|
||
"action_connect_web": "웹 원격",
|
||
"action_connect_web_desc": "브라우저 원격 데스크톱을 통해 연결",
|
||
"action_native_remote": "BetterDesk 원격",
|
||
"action_native_remote_desc": "기본 JPEG 스트림 — 플러그인이 필요하지 않습니다.",
|
||
"action_connect_desktop": "데스크톱 클라이언트",
|
||
"action_connect_desktop_desc": "데스크톱 클라이언트 앱에서 열기",
|
||
"action_change_id_desc": "기기 등록 ID 변경",
|
||
"action_ban_desc": "이 장치의 연결을 차단합니다.",
|
||
"action_unban_desc": "이 장치를 다시 연결하도록 허용",
|
||
"action_delete_desc": "이 ��치를 영구적으로 제거",
|
||
"tab_hardware": "Hardware",
|
||
"tab_metrics": "측정항목",
|
||
"section_system": "System",
|
||
"section_cpu": "Processor",
|
||
"section_memory": "Memory",
|
||
"section_displays": "Displays",
|
||
"section_encoding": "인코딩 기능",
|
||
"section_live_metrics": "라이브 지표",
|
||
"section_current_usage": "현재 사용량",
|
||
"section_usage_history": "이용내역",
|
||
"os": "Operating System",
|
||
"version": "Client Version",
|
||
"cpu_model": "CPU Model",
|
||
"cpu_cores": "CPU Cores",
|
||
"cpu_freq": "CPU 주파수",
|
||
"total_memory": "총 메모리",
|
||
"metric_memory": "Memory",
|
||
"metric_disk": "Disk",
|
||
"metrics_updated": "업데이트됨",
|
||
"device_groups": "그룹",
|
||
"no_sysinfo": "사용 가능한 하드웨어 정보가 없습니다.",
|
||
"no_sysinfo_hint": "장치가 sysinfo 보고서를 보낸 후에 시스템 정보가 나타납니다.",
|
||
"no_metrics": "측정항목 데이터가 없습니다.",
|
||
"no_metrics_hint": "장치가 하트비트 보고서를 보낸 후 측정항목이 표시됩니다.",
|
||
"chart_oldest": "← Oldest",
|
||
"chart_newest": "Newest →",
|
||
"tab_services": "Services",
|
||
"tab_processes": "Processes",
|
||
"tab_events": "Events",
|
||
"tab_activity": "Activity",
|
||
"tab_files": "파일",
|
||
"agent_lazy_hint": "에이전트에서 실시간 데이터를 로드하려면 이 탭을 클릭하세요.",
|
||
"agent_offline": "상담원이 오프라인 상태입니다",
|
||
"agent_timeout": "상담원이 제때에 응답하지 않았습니다.",
|
||
"agent_error": "에이전트에서 데이터를 로드하지 못했습니다.",
|
||
"service_name": "Name",
|
||
"service_display": "표시 이름",
|
||
"service_status": "Status",
|
||
"service_start": "Start mode",
|
||
"process_name": "Name",
|
||
"process_user": "User",
|
||
"process_memory": "Memory"
|
||
},
|
||
"inventory": {
|
||
"title": "Inventory",
|
||
"subtitle": "관리 장치의 하드웨어 및 소프트웨어 인벤토리",
|
||
"device_id": "장치 ID",
|
||
"hostname": "Hostname",
|
||
"os": "Operating System",
|
||
"cpu": "CPU",
|
||
"cpu_cores": "CPU Cores",
|
||
"cpu_usage": "CPU Usage",
|
||
"memory": "Memory",
|
||
"memory_total": "총 메모리",
|
||
"memory_used": "Used Memory",
|
||
"memory_available": "사용 가능한 메모리",
|
||
"memory_usage": "메모리 사용량",
|
||
"swap": "Swap",
|
||
"disks": "Disks",
|
||
"disk_count": "Disk Count",
|
||
"network": "Network",
|
||
"network_interfaces": "네트워크 인터페이스",
|
||
"software": "Software",
|
||
"software_count": "설치된 소프트웨어",
|
||
"system": "System",
|
||
"kernel": "Kernel",
|
||
"architecture": "Architecture",
|
||
"uptime": "Uptime",
|
||
"frequency": "Frequency",
|
||
"physical_cores": "물리적 코어",
|
||
"logical_cores": "논리 코어",
|
||
"model": "Model",
|
||
"usage": "Usage",
|
||
"total": "Total",
|
||
"used": "Used",
|
||
"available": "가능",
|
||
"mount_point": "Mount Point",
|
||
"removable": "removable",
|
||
"mac_address": "MAC Address",
|
||
"ip_addresses": "IP 주소",
|
||
"traffic": "Traffic",
|
||
"collect_now": "Collect Now",
|
||
"collector_running": "수집가 실행 중",
|
||
"collector_stopped": "수집기가 중지됨",
|
||
"last_upload": "Last upload",
|
||
"total_uploads": "total",
|
||
"last_seen": "Last Seen",
|
||
"collected_at": "수집 장소",
|
||
"no_data": "아직 재고 데이터가 없습니다. 시스템 정보를 수집하려면 \"지금 수집\"을 클릭하세요.",
|
||
"no_devices": "인벤토리 데이터가 있는 기기를 찾을 수 없습니다.",
|
||
"detail_title": "장치 인벤토리 세부정보",
|
||
"telemetry": "Telemetry",
|
||
"view_detail": "세부정보 보기",
|
||
"export": "Export",
|
||
"refresh": "Refresh"
|
||
},
|
||
"tickets": {
|
||
"title": "Tickets",
|
||
"subtitle": "지원 티켓 및 문제 추적",
|
||
"create": "New Ticket",
|
||
"edit": "티켓 수정",
|
||
"delete": "티켓 삭제",
|
||
"detail": "티켓 세부정보",
|
||
"ticket_id": "Ticket ID",
|
||
"ticket_title": "Title",
|
||
"description": "Description",
|
||
"status": "Status",
|
||
"priority": "Priority",
|
||
"category": "Category",
|
||
"assigned_to": "할당 대상",
|
||
"created_by": "작성자",
|
||
"device": "장치",
|
||
"sla_due": "SLA Due",
|
||
"created_at": "생성됨",
|
||
"updated_at": "업데이트됨",
|
||
"resolved_at": "Resolved",
|
||
"closed_at": "Closed",
|
||
"status_open": "열기",
|
||
"status_in_progress": "In Progress",
|
||
"status_resolved": "Resolved",
|
||
"status_closed": "Closed",
|
||
"priority_low": "Low",
|
||
"priority_medium": "Medium",
|
||
"priority_high": "High",
|
||
"priority_critical": "Critical",
|
||
"category_general": "General",
|
||
"category_hardware": "Hardware",
|
||
"category_software": "Software",
|
||
"category_network": "Network",
|
||
"category_access": "Access",
|
||
"category_other": "Other",
|
||
"comments": "Comments",
|
||
"add_comment": "Add Comment",
|
||
"comment_placeholder": "댓글을 쓰세요...",
|
||
"internal_note": "내부 메모(최종 사용자에게 표시되지 않음)",
|
||
"attachments": "Attachments",
|
||
"upload_attachment": "첨부파일 업로드",
|
||
"download": "Download",
|
||
"connect_device": "장치에 연결",
|
||
"no_tickets": "티켓을 찾을 수 없습니다",
|
||
"no_comments": "아직 댓글이 없습니다",
|
||
"no_attachments": "첨부파일 없음",
|
||
"title_required": "제목은 ���수 항목입니다.",
|
||
"delete_confirm": "정말로 티켓 #{id}를 삭제하시겠습니까?",
|
||
"delete_success": "티켓이 삭제되었습니다.",
|
||
"created_success": "티켓이 성공적으로 생성되었습니다",
|
||
"updated_success": "티켓이 업데이트되었습니다.",
|
||
"sla_overdue": "SLA Overdue",
|
||
"filter_all": "All",
|
||
"search_placeholder": "티켓 검색...",
|
||
"assign_to_me": "나에게 할당",
|
||
"unassign": "Unassign",
|
||
"stats_total": "Total",
|
||
"stats_open": "열기",
|
||
"stats_in_progress": "In Progress",
|
||
"stats_resolved": "Resolved",
|
||
"stats_closed": "Closed"
|
||
},
|
||
"activity": {
|
||
"title": "활동 모니터링",
|
||
"subtitle": "애플리케이션 사용량 및 유휴 추적",
|
||
"device": "장치",
|
||
"hostname": "Hostname",
|
||
"sessions": "세션",
|
||
"idle_time": "Idle Time",
|
||
"active_time": "Active Time",
|
||
"last_report": "Last Report",
|
||
"top_apps": "주요 애플리케이션",
|
||
"app_name": "Application",
|
||
"window_title": "창 제목",
|
||
"category": "Category",
|
||
"duration": "Duration",
|
||
"started_at": "Started",
|
||
"ended_at": "Ended",
|
||
"session_count": "세션 수",
|
||
"total_active": "총 활성",
|
||
"total_idle": "Total Idle",
|
||
"detail_count": "세부 기록",
|
||
"no_data": "사용 가능한 활동 데이터가 없습니다.",
|
||
"no_sessions": "세션 없음",
|
||
"filter_from": "에서",
|
||
"filter_to": "받는 사람",
|
||
"filter_apply": "필터 적용",
|
||
"hours": "hours",
|
||
"minutes": "minutes",
|
||
"seconds": "seconds",
|
||
"category_browser": "Browser",
|
||
"category_productivity": "Productivity",
|
||
"category_communication": "Communication",
|
||
"category_development": "Development",
|
||
"category_media": "Media",
|
||
"category_gaming": "Gaming",
|
||
"category_system": "System",
|
||
"category_other": "Other",
|
||
"summary": "Summary",
|
||
"details": "Details",
|
||
"refresh": "Refresh",
|
||
"search": "기기 검색...",
|
||
"date_range": "Date Range",
|
||
"device_id": "장치 ID",
|
||
"session_start": "세션 시작",
|
||
"session_end": "세션 종료",
|
||
"user": "User",
|
||
"no_activity": "기록된 활동이 없습니다.",
|
||
"reported_at": "Reported At",
|
||
"detail": "Detail",
|
||
"no_apps": "신청 없음"
|
||
},
|
||
"automation": {
|
||
"title": "자동화 및 경고",
|
||
"subtitle": "경고 규칙, 원격 명령",
|
||
"rules": "Alert Rules",
|
||
"rules_subtitle": "알림을 트리거하는 조건 정의",
|
||
"alerts": "경고 기록",
|
||
"alerts_subtitle": "트리거된 경고 보기 및 확인",
|
||
"commands": "원격 명령",
|
||
"commands_subtitle": "원격 장치에 명령 보내기",
|
||
"smtp": "SMTP 구성",
|
||
"smtp_subtitle": "이메일 알림 설정",
|
||
"rule_name": "Rule Name",
|
||
"description": "Description",
|
||
"condition_type": "조건 유형",
|
||
"condition_op": "Operator",
|
||
"condition_value": "Threshold",
|
||
"severity": "Severity",
|
||
"scope_device": "대상 장치",
|
||
"scope_all": "모든 장치",
|
||
"cooldown": "쿨다운(초)",
|
||
"notify_emails": "알림 이메일",
|
||
"enabled": "활성화됨",
|
||
"disabled": "장애인",
|
||
"create_rule": "규칙 생성",
|
||
"edit_rule": "규칙 편집",
|
||
"delete_rule": "규칙 삭제",
|
||
"acknowledge": "Acknowledge",
|
||
"acknowledged": "Acknowledged",
|
||
"unacknowledged": "Unacknowledged",
|
||
"triggered_at": "트리거된 시간",
|
||
"severity_info": "Info",
|
||
"severity_warning": "Warning",
|
||
"severity_critical": "Critical",
|
||
"op_gt": "보다 큼",
|
||
"op_gte": "크거나 같음",
|
||
"op_lt": "Less than",
|
||
"op_lte": "작거나 같음",
|
||
"op_eq": "같음",
|
||
"op_neq": "같지 않음",
|
||
"type_cpu_usage": "CPU 사용량(%)",
|
||
"type_memory_usage": "메모리 사용량(%)",
|
||
"type_disk_usage": "디스크 사용량(%)",
|
||
"type_offline_duration": "오프라인 기간(초)",
|
||
"type_idle_duration": "유휴 기간(초)",
|
||
"type_custom": "Custom",
|
||
"command_type": "명령 유형",
|
||
"command_payload": "명령/스크립트",
|
||
"command_result": "Result",
|
||
"command_status": "Status",
|
||
"send_command": "명령 보내기",
|
||
"status_pending": "Pending",
|
||
"status_running": "Running",
|
||
"status_completed": "Completed",
|
||
"status_failed": "실패",
|
||
"smtp_host": "SMTP Host",
|
||
"smtp_port": "Port",
|
||
"smtp_secure": "Use TLS",
|
||
"smtp_user": "사용자 이름",
|
||
"smtp_pass": "비밀번호",
|
||
"smtp_from": "보낸 사람 주소",
|
||
"smtp_test": "연결 테스트",
|
||
"smtp_save": "설정 저장",
|
||
"smtp_test_success": "연결 성공",
|
||
"smtp_test_failed": "연결 실패",
|
||
"no_rules": "구성된 경고 규칙이 없습니다",
|
||
"no_alerts": "발생한 경고가 없습니다",
|
||
"no_commands": "전송된 명령이 없습니다",
|
||
"id_payload_required": "장치 ID 및 페이로드가 필요합니다",
|
||
"no_commands_sent": "아직 명령이 전송되지 않았습니다."
|
||
},
|
||
"file_transfer": {
|
||
"title": "파일 전송",
|
||
"transfers": "Transfers",
|
||
"new_transfer": "새로운 전송",
|
||
"upload": "Upload",
|
||
"download": "Download",
|
||
"direction": "Direction",
|
||
"filename": "Filename",
|
||
"file_size": "파일 크기",
|
||
"mime_type": "MIME Type",
|
||
"progress": "Progress",
|
||
"status": "Status",
|
||
"device": "장치",
|
||
"initiated_by": "시작한 사람",
|
||
"created_at": "생성 날짜",
|
||
"cancel": "취소",
|
||
"cancel_confirm": "이 전송을 취소하시겠습니까?",
|
||
"download_file": "파일 다운로드",
|
||
"browse_files": "파일 찾아보기",
|
||
"select_file": "파일 선택",
|
||
"select_device": "장치 선택",
|
||
"no_transfers": "파일 전송 없음",
|
||
"status_pending": "Pending",
|
||
"status_active": "Active",
|
||
"status_completed": "Completed",
|
||
"status_failed": "실패",
|
||
"status_cancelled": "Cancelled",
|
||
"bytes_transferred": "전송된 바이트",
|
||
"chunks": "Chunks",
|
||
"transfer_started": "전송이 시작되었습니다.",
|
||
"transfer_completed": "전송 완료",
|
||
"transfer_failed": "전송 실패",
|
||
"transfer_cancelled": "이전이 취소되었습니다.",
|
||
"max_file_size": "최대 파일 크기: 4GB",
|
||
"error_too_large": "파일이 너무 큽니다.",
|
||
"error_no_device": "선택한 기기가 없습니다.",
|
||
"error_no_file": "선택한 파일이 없습니다."
|
||
},
|
||
"network": {
|
||
"title": "네트워크 모니터링",
|
||
"targets": "���니터링 대상",
|
||
"add_target": "Add Target",
|
||
"edit_target": "대상 편집",
|
||
"delete_target": "대상 삭제",
|
||
"delete_confirm": "이 대상을 삭제하시겠습니까?",
|
||
"target_name": "Name",
|
||
"host": "Host",
|
||
"port": "Port",
|
||
"url": "URL",
|
||
"check_type": "Check Type",
|
||
"timeout": "시간 초과(밀리초)",
|
||
"interval": "간격(밀리초)",
|
||
"enabled": "활성화됨",
|
||
"status": "Status",
|
||
"last_check": "Last Check",
|
||
"last_rtt": "Last RTT",
|
||
"rtt_ms": "RTT (ms)",
|
||
"status_up": "Up",
|
||
"status_down": "Down",
|
||
"status_unknown": "Unknown",
|
||
"check_now": "Check Now",
|
||
"history": "기록 확인",
|
||
"stats": "Statistics",
|
||
"total_targets": "총 대상",
|
||
"targets_up": "Targets Up",
|
||
"targets_down": "타겟 다운",
|
||
"type_ping": "Ping (ICMP)",
|
||
"type_tcp": "TCP Port",
|
||
"type_http": "HTTP",
|
||
"type_https": "HTTPS",
|
||
"tools": "네트워크 도구",
|
||
"ping_tool": "Ping Test",
|
||
"tcp_tool": "TCP 포트 확인",
|
||
"http_tool": "HTTP Check",
|
||
"dns_tool": "DNS Resolve",
|
||
"monitor_start": "모니터 시작",
|
||
"monitor_stop": "모니터 중지",
|
||
"monitor_running": "모니터가 실행 중입니다.",
|
||
"monitor_stopped": "모니터가 중지되었습니다.",
|
||
"no_targets": "모니터링 대상이 구성되지 않았습니다.",
|
||
"no_history": "확인 내역이 없습니다.",
|
||
"error_code": "Error",
|
||
"status_code": "HTTP 상태 코드",
|
||
"search_targets": "검색 대상...",
|
||
"name": "Name",
|
||
"tab_targets": "Targets",
|
||
"tab_tools": "Tools",
|
||
"avg_latency": "Avg Latency",
|
||
"type": "Type",
|
||
"latency": "Latency",
|
||
"check_history": "기록 확인",
|
||
"name_host_required": "이름과 호스트가 필요합니다",
|
||
"uptime": "Uptime",
|
||
"response_time": "응답 시간",
|
||
"avg_response": "평균 응답",
|
||
"charts": "Charts",
|
||
"realtime": "Realtime",
|
||
"response_time_ms": "응답 시간(ms)",
|
||
"uptime_percent": "Uptime %",
|
||
"last_24h": "지난 24시간",
|
||
"last_7d": "Last 7 days",
|
||
"last_30d": "지난 30일"
|
||
},
|
||
"dataguard": {
|
||
"title": "데이터 보호",
|
||
"policies": "DLP 정책",
|
||
"add_policy": "정책 추가",
|
||
"edit_policy": "정책 편집",
|
||
"delete_policy": "정책 삭제",
|
||
"delete_confirm": "이 정책을 삭제하시겠습니까?",
|
||
"policy_name": "Name",
|
||
"policy_description": "Description",
|
||
"status": "Status",
|
||
"enabled": "활성화됨",
|
||
"disabled": "장애인",
|
||
"rules": "Rules",
|
||
"add_rule": "Add Rule",
|
||
"rule_type": "Rule Type",
|
||
"rule_type_usb": "USB 장치",
|
||
"rule_type_file": "파일 작업",
|
||
"action": "Action",
|
||
"action_allow": "Allow",
|
||
"action_block": "Block",
|
||
"action_log": "Log Only",
|
||
"filter": "Filter",
|
||
"vid": "공급업체 ID(VID)",
|
||
"pid": "제품 ID(PID)",
|
||
"serial": "일련번호",
|
||
"device_class": "장치 클래스",
|
||
"drive_type": "Drive Type",
|
||
"file_extensions": "파일 확장자",
|
||
"events": "DLP Events",
|
||
"event_source": "Source",
|
||
"event_source_usb": "USB",
|
||
"event_source_file": "파일",
|
||
"event_type": "Event Type",
|
||
"event_details": "Details",
|
||
"no_policies": "구성된 DLP 정책이 없습니다.",
|
||
"no_events": "기록된 DLP 이벤트가 없습니다.",
|
||
"stats": "Statistics",
|
||
"total_events": "총 이벤트",
|
||
"blocked_events": "Blocked",
|
||
"logged_events": "Logged",
|
||
"usb_events": "USB Events",
|
||
"file_events": "파일 이벤트",
|
||
"device_id": "장치 ID",
|
||
"policy_matched": "정책 일치",
|
||
"timestamp": "Timestamp",
|
||
"drive_removable": "Removable",
|
||
"drive_fixed": "Fixed",
|
||
"drive_network": "Network",
|
||
"drive_cdrom": "CD-ROM",
|
||
"drive_unknown": "Unknown",
|
||
"total_policies": "총 정책",
|
||
"active_policies": "활성 정책",
|
||
"violations": "Violations",
|
||
"blocked": "Blocked",
|
||
"tab_policies": "정책",
|
||
"tab_events": "Events",
|
||
"search_policies": "검색 정책...",
|
||
"create_policy": "정책 생성",
|
||
"policy_type": "정책 유형",
|
||
"scope": "Scope",
|
||
"events_count": "Events",
|
||
"search_events": "이벤트 검색...",
|
||
"event_time": "Event Time",
|
||
"device": "장치",
|
||
"policy": "정책",
|
||
"detail": "Detail",
|
||
"scope_help": "쉼표로 구분된 장치 ID 또는 모두 비워 두세요.",
|
||
"scope_all": "모든 장치",
|
||
"active": "Active",
|
||
"type_file_type": "파일 유형",
|
||
"type_clipboard": "클립보드",
|
||
"type_screen_share": "화면 공유",
|
||
"type_file_transfer": "파일 전송",
|
||
"policy_desc": "정책 설명",
|
||
"type_usb": "USB"
|
||
},
|
||
"reports": {
|
||
"title": "Reports",
|
||
"generate": "보고서 생성",
|
||
"generate_csv": "Export CSV",
|
||
"report_type": "Report Type",
|
||
"type_devices": "장치 요약",
|
||
"type_activity": "활동 요약",
|
||
"type_security": "보안 보고서",
|
||
"type_tickets": "티켓 리포트",
|
||
"type_network": "네트워크 보고서",
|
||
"type_inventory": "재고 보고서",
|
||
"type_alerts": "경고 보고서",
|
||
"saved": "저장된 보고서",
|
||
"save_report": "보고서 저장",
|
||
"delete_report": "보고서 삭제",
|
||
"delete_confirm": "저장된 보고서를 삭제하시겠습니까?",
|
||
"no_saved": "저장된 보고서 없음",
|
||
"report_title": "Title",
|
||
"created_by": "작성자",
|
||
"created_at": "생성 날짜",
|
||
"filters": "Filters",
|
||
"date_from": "에서",
|
||
"date_to": "받는 사람",
|
||
"device_filter": "장치 ID",
|
||
"generated_at": "생성 날짜",
|
||
"section": "데이터 섹션",
|
||
"total_devices": "총 장치",
|
||
"online": "Online",
|
||
"offline": "Offline",
|
||
"banned": "Banned",
|
||
"platform_distribution": "플랫폼 배포",
|
||
"top_applications": "주요 애플리케이션",
|
||
"total_active": "총 활동 시간",
|
||
"total_idle": "총 유휴 시간",
|
||
"dlp_stats": "DLP 통계",
|
||
"banned_devices": "금지된 장치",
|
||
"audit_logs": "Audit Logs",
|
||
"ticket_stats": "티켓 통계",
|
||
"category_distribution": "카테고리 분포",
|
||
"priority_distribution": "우선배포",
|
||
"targets_status": "대상현황",
|
||
"os_distribution": "OS 배포",
|
||
"avg_ram": "Average RAM",
|
||
"alert_rules": "Alert Rules",
|
||
"recent_alerts": "최근 알림",
|
||
"tab_generate": "보고서 생성",
|
||
"tab_saved": "저장된 보고서",
|
||
"type_devices_desc": "모든 장치, 플랫폼 및 상태 개요",
|
||
"type_activity_desc": "애플리케이션 사용량 및 유휴 시간 요약",
|
||
"type_security_desc": "금지 작업, DLP 이벤트 및 감사 로그",
|
||
"type_tickets_desc": "티켓 통계 및 SLA 성과",
|
||
"type_network_desc": "네트워크 모니터링 대상 및 가동 시간 데이터",
|
||
"type_inventory_desc": "하드웨어 및 소프트웨어 인벤토리 요약",
|
||
"type_alerts_desc": "경고 규칙 및 트리거된 경고 기록",
|
||
"report_name": "Report Name",
|
||
"format": "Format",
|
||
"save": "보고서 저장",
|
||
"preview": "Preview",
|
||
"download": "Download",
|
||
"delete_saved": "보고서 삭제",
|
||
"raw_json": "Raw JSON"
|
||
},
|
||
"tenants": {
|
||
"title": "Tenants",
|
||
"list": "Tenants",
|
||
"add_tenant": "Add Tenant",
|
||
"edit_tenant": "테넌트 편집",
|
||
"delete_tenant": "테넌트 삭제",
|
||
"delete_confirm": "이 테넌트를 삭제하시겠습니까? 모든 장치 및 사용자 할당이 제거됩니다.",
|
||
"name": "Name",
|
||
"slug": "Slug",
|
||
"contact_name": "담당자 이름",
|
||
"contact_email": "연락처 이메일",
|
||
"max_devices": "최대 장치",
|
||
"max_devices_hint": "0 = 무제한",
|
||
"notes": "Notes",
|
||
"active": "Active",
|
||
"inactive": "Inactive",
|
||
"devices": "장치",
|
||
"users": "Users",
|
||
"assign_device": "장치 할당",
|
||
"assign_devices": "장치 할당",
|
||
"remove_device": "장치 제거",
|
||
"assign_user": "Assign User",
|
||
"remove_user": "Remove User",
|
||
"no_tenants": "구성된 테넌트가 없습니다.",
|
||
"no_devices": "이 테넌트에 할당된 장치가 없습니다.",
|
||
"no_users": "이 테넌트에 할당된 사용자가 없습니다.",
|
||
"stats": "임차인 통계",
|
||
"total_devices": "총 장치",
|
||
"online_devices": "온라인 장치",
|
||
"total_users": "Total Users",
|
||
"created_at": "생성 날짜",
|
||
"updated_at": "업데이트 날짜",
|
||
"slug_exists": "테넌트 슬러그가 이미 존재합니다.",
|
||
"total_tenants": "총 임차인",
|
||
"active_tenants": "활성 테넌트",
|
||
"search": "임차인 검색...",
|
||
"create_tenant": "테넌트 생성",
|
||
"detail": "임차인 세부정보",
|
||
"contact": "Contact",
|
||
"enabled": "활성화됨",
|
||
"disabled": "장애인",
|
||
"max": "max",
|
||
"info": "Tenant Info",
|
||
"status": "Status"
|
||
},
|
||
"registrations": {
|
||
"title": "Device Registrations",
|
||
"subtitle": "Manage registration requests from devices discovered via LAN",
|
||
"search_placeholder": "장치 ID, 호스트 이름 또는 IP로 검색...",
|
||
"no_registrations": "No registration requests",
|
||
"col_device_id": "장치 ID",
|
||
"col_hostname": "Hostname",
|
||
"col_platform": "Platform",
|
||
"col_ip": "IP Address",
|
||
"col_version": "Version",
|
||
"col_status": "Status",
|
||
"col_requested": "Requested",
|
||
"col_actions": "Actions",
|
||
"status_pending": "Pending",
|
||
"status_approved": "Approved",
|
||
"status_rejected": "Rejected",
|
||
"approve_btn": "Approve",
|
||
"approve_confirm": "이 기기를 승인하시겠습니까? 서버 자격 증명을 수신하고 자동으로 연결할 수 있습니다.",
|
||
"approved_success": "장치 등록이 승인되었습니다.",
|
||
"reject_btn": "Reject",
|
||
"reject_title": "등록 거부",
|
||
"reject_confirm": "이 등록 요청을 거부하시겠습니까?",
|
||
"reject_reason": "이유(선택사항)",
|
||
"reject_reason_placeholder": "거부 이유를 입력하세요...",
|
||
"rejected_success": "기기 등록이 거부됨",
|
||
"delete_confirm": "이 등록 기록을 삭제하시겠습니까?",
|
||
"deleted_success": "등록 기록이 삭제되었습니다.",
|
||
"enrollment_title": "장치 등록",
|
||
"enrollment_subtitle": "BetterDesk 데스크톱 클라이언트에서 보류 중인 등록 요청",
|
||
"enrollment_empty": "대기 중인 등록 요청이 없습니다.",
|
||
"enrollment_approve": "Approve",
|
||
"enrollment_reject": "Reject",
|
||
"enrollment_display_name": "표시 이름",
|
||
"enrollment_display_name_placeholder": "이 장치의 이름을 입력하세요...",
|
||
"enrollment_sync_mode": "동기화 모드",
|
||
"enrollment_sync_silent": "무음 — 최소한의 원격 측정",
|
||
"enrollment_sync_standard": "표준 - 균형 잡힌 동기화",
|
||
"enrollment_sync_turbo": "터보 — 공격적인 동기화",
|
||
"enrollment_approved_success": "기기 등록이 승인됨",
|
||
"enrollment_rejected_success": "장치 등록이 거부됨",
|
||
"approve_title": "기기 승인",
|
||
"field_name": "기기 이름",
|
||
"field_name_placeholder": "이 기기의 이름을 입력하세요...",
|
||
"field_sync_mode": "동기화 모드",
|
||
"sync_standard": "표준 — 균형 잡힌 동기화",
|
||
"sync_silent": "자동 — 최소 텔레메트리",
|
||
"sync_turbo": "터보 — 적극적인 동기화",
|
||
"field_tags": "태그",
|
||
"field_tags_placeholder": "쉼표로 구분된 태그(예: 사무실, 노트북)...",
|
||
"field_tags_existing": "기존 태그",
|
||
"field_tag_add_placeholder": "새 태그 추가...",
|
||
"field_tag_add_btn": "추가",
|
||
"field_groups": "기기 그룹",
|
||
"field_folder": "폴더",
|
||
"field_folder_none": "폴더 없음",
|
||
"reject_ban_option": "이 기기 차단",
|
||
"reject_ban_hint": "기기가 차단되어 새 등록 요청을 보낼 수 없게 됩니다.",
|
||
"banner_open_mode": "등록이 열려 있습니다 — 새 RustDesk 클라이언트는 운영자 승인 없이 등록됩니다. 이 대기열을 사용하려면 설정에서 관리 모드를 설정하세요.",
|
||
"banner_locked_mode": "등록이 잠겨 있습니다 — 토큰에 바인딩된 기기만 등록할 수 있습니다. 알 수 없는 클라이언트의 운영자 승인에는 관리 모드가 필요합니다.",
|
||
"enrollment_settings_link": "등록 설정"
|
||
},
|
||
"backup": {
|
||
"title": "Backup",
|
||
"desc": "콘솔 구성, 사용자, 그룹 및 설정의 전체 백업을 다운로드하세요. Go server 피어 데이터는 BetterDesk 백엔드가 활성화되면 포함됩니다.",
|
||
"restore_title": "Restore",
|
||
"restore_desc": "콘솔 구성을 복원하려면 이전에 다운로드한 백업 파일을 업로드하세요. 아래에서 복원할 섹션을 선택하세요.",
|
||
"stat_users": "Users",
|
||
"stat_settings": "설정",
|
||
"stat_folders": "Folders",
|
||
"stat_groups": "그룹",
|
||
"stat_strategies": "Strategies",
|
||
"stat_backend": "Backend",
|
||
"download": "백업 다운로드",
|
||
"creating": "백업 생성 중...",
|
||
"download_success": "백업이 성공적으로 다운로드되었습니다.",
|
||
"upload": "백업 업로드",
|
||
"restore_confirm": "이 백업에서 복원하시겠습니까? 선택한 섹션을 덮어씁니다.",
|
||
"restore_success": "백업이 성공적으로 복원되었습니다. 일부 변경 사항은 페이지를 다시 로드해야 할 수도 있습니다.",
|
||
"restored": "Restored",
|
||
"skipped": "Skipped",
|
||
"backup_date": "Backup date",
|
||
"opt_settings": "콘솔 설정",
|
||
"opt_branding": "브랜딩/테마",
|
||
"opt_folders": "장치 폴더",
|
||
"opt_groups": "사용자 및 장치 그룹",
|
||
"opt_addressbooks": "주소록",
|
||
"opt_users": "사용자 계정",
|
||
"opt_users_warning": "파괴적: 모든 사용자 계정을 백업 데이터로 대체합니다. 로그아웃되었을 수 있습니다.",
|
||
"no_file": "선택한 백업 파일이 없습니다.",
|
||
"invalid_json": "잘못된 백업 파일: JSON가 유효하지 않습니다.",
|
||
"invalid_format": "잘못된 백업 파일: BetterDesk 백업이 아닙니다.",
|
||
"stat_database": "데이터베이스 엔진",
|
||
"stat_keys": "서버 키 포함",
|
||
"stat_env": "환경 파일",
|
||
"stat_uploads": "브랜딩 파일",
|
||
"restart_required": "일부 복원된 구성 요소(키 / .env / Go 데이터베이스)는 적용되려면 서비스 재시작이 필요합니다.",
|
||
"security_warning": "이 백업에는 비밀 정보(서버 키, 환경 파일, 비밀번호 해시 및 2FA 시크릿)가 포함되어 있습니다. 안전하게 보관하고 공유하지 마세요.",
|
||
"restore_warning": "시크릿, 환경 파일 또는 Go 서버 데이터베이스를 복원하면 서버 ID를 덮어쓰고 이후 서비스 재시작이 필요합니다.",
|
||
"opt_database": "데이터베이스(모든 테이블)",
|
||
"opt_database_hint": "모든 콘솔 데이터를 다시 가져옵니다. 라이브 적용되며 재시작이 필요하지 않습니다.",
|
||
"opt_uploads": "브랜딩 파일",
|
||
"opt_uploads_hint": "로고 및 업로드된 이미지.",
|
||
"opt_secrets": "서버 키 및 시크릿",
|
||
"opt_secrets_warning": "Ed25519 서버 ID, API 키 및 세션 시크릿을 덮어씁니다. 서비스 재시작이 필요합니다.",
|
||
"opt_env": "환경 파일(.env)",
|
||
"opt_env_warning": "SESSION_SECRET, API 키, 데이터베이스 DSN, 포트 및 TLS 설정을 덮어씁니다. 서비스 재시작이 필요합니다.",
|
||
"opt_godb": "Go 서버 데이터베이스",
|
||
"opt_godb_warning": "Go 서버 SQLite 데이터베이스를 덮어씁니다(SQLite 백엔드 전용). 서비스 재시작이 필요합니다."
|
||
},
|
||
"cdap": {
|
||
"device_detail": "CDAP 장치",
|
||
"loading": "로드 중...",
|
||
"loading_widgets": "기기 위젯 로드 중...",
|
||
"load_error": "기기 데이터를 로드하지 못했습니다.",
|
||
"connected": "Connected",
|
||
"disconnected": "Disconnected",
|
||
"device_offline_msg": "기기가 현재 오프라인 상태입니다. 위젯 값이 오래되었을 수 있습니다.",
|
||
"no_widgets": "사용 가능한 위젯이 없습니다.",
|
||
"no_widgets_desc": "이 장치는 위젯 정의와 함께 CDAP 매니페��트를 등록하지 않았습니다.",
|
||
"command_log": "Command Log",
|
||
"clear_log": "Clear log",
|
||
"confirm_command": "명령 확인",
|
||
"select_option": "선택",
|
||
"cdap_status": "CDAP Status",
|
||
"cdap_enabled": "CDAP Enabled",
|
||
"cdap_disabled": "CDAP Disabled",
|
||
"cdap_devices": "CDAP Devices",
|
||
"cdap_connections": "Active Connections",
|
||
"send_command": "명령 보내기",
|
||
"command_sent": "명령이 성공적으로 전송되었습니다.",
|
||
"command_failed": "명령을 보내지 못했습니다.",
|
||
"devices_title": "CDAP 장치",
|
||
"devices_subtitle": "맞춤형 장치 애플리케이션 프로토콜을 통해 연결된 장치",
|
||
"stat_connected": "Connected",
|
||
"stat_port": "Port",
|
||
"search_devices": "기기 검색...",
|
||
"no_devices": "연결된 기기 없음",
|
||
"no_devices_desc": "현재 연결된 CDAP 장치가 없습니다. 장치가 게이트웨이에 연결되면 여기에 표시됩니다.",
|
||
"gateway_disabled": "CDAP 게이트웨이 비활성화됨",
|
||
"gateway_disabled_desc": "서버 구성에서 CDAP_ENABLED=true를 설정하여 CDAP 게이트웨이를 활성화하십시오.",
|
||
"gateway_active": "Active",
|
||
"toggle_enable": "Enable CDAP",
|
||
"toggle_disable": "CDAP 비활성화",
|
||
"enabled_restart": "CDAP가 활성화되었습니다. 변경 사항을 적용하려면 서버를 다시 시작해야 합니다.",
|
||
"disabled_restart": "CDAP가 비활성화되었습니다. 변경 사항을 적용하려면 서버를 다시 시작해야 합니다.",
|
||
"widgets": "위젯",
|
||
"type_all": "All",
|
||
"type_iot": "IoT",
|
||
"type_scada": "SCADA",
|
||
"type_os_agent": "OS Agent",
|
||
"type_network": "Network",
|
||
"type_camera": "Camera",
|
||
"type_custom": "Custom",
|
||
"active_alerts": "활성 경고",
|
||
"alert_fired": "Alert fired",
|
||
"alert_cleared": "경고가 지워졌습니다.",
|
||
"no_alerts": "활성 알림 없음",
|
||
"connect_terminal": "터미널 연결",
|
||
"table_search": "검색...",
|
||
"just_now": "Just now",
|
||
"terminal_connecting": "기기에 연결 중...",
|
||
"terminal_disconnected": "Disconnected",
|
||
"terminal_error": "터미널 연결 실패",
|
||
"linked_devices": "연결된 장치",
|
||
"link_device": "링크 장치",
|
||
"unlink_device": "Unlink",
|
||
"no_linked_devices": "연결된 기기 없음",
|
||
"unlink_confirm": "이 기기를 연결 해제하시겠습니까?",
|
||
"link_prompt": "이 장치에 연결하려면 피어 ID를 입력하세요.",
|
||
"connect_desktop": "데스크톱 연결",
|
||
"connect_video": "스트림 연결",
|
||
"connect_files": "파일 찾아보기",
|
||
"connect_audio": "오디오 연결",
|
||
"upload_file": "Upload",
|
||
"desktop_connecting": "연결 중...",
|
||
"video_connecting": "연결 중...",
|
||
"files_connecting": "연결 중...",
|
||
"audio_connecting": "연결 중...",
|
||
"audio_streaming": "Streaming",
|
||
"clipboard_in": "클립보드 수신됨",
|
||
"clipboard_out": "클립보드가 전송되었습니다.",
|
||
"monitor_select": "모니터 선택",
|
||
"keyframe_request": "키프레임 요청",
|
||
"quality_auto": "자동 품질"
|
||
},
|
||
"desktop": {
|
||
"switch_mode": "데스크탑 모드",
|
||
"console_mode": "콘솔 모드",
|
||
"loading": "로드 중...",
|
||
"minimize": "Minimize",
|
||
"maximize": "Maximize",
|
||
"restore": "Restore",
|
||
"close": "닫기",
|
||
"widgets_mode": "위젯",
|
||
"windows_mode": "Windows",
|
||
"wallpaper": "Wallpaper",
|
||
"add_widget": "위젯 추가",
|
||
"remove_widget": "위젯 제거",
|
||
"configure": "구성",
|
||
"search_widgets": "위젯 검색...",
|
||
"cat_monitoring": "Monitoring",
|
||
"cat_devices": "장치",
|
||
"cat_tools": "Tools",
|
||
"cat_general": "General",
|
||
"notes_placeholder": "여기에 메모를 작성하세요...",
|
||
"search_placeholder": "장치, 페이지, 설정 검색...",
|
||
"search_pages": "Pages",
|
||
"search_devices": "장치",
|
||
"search_no_results": "No results",
|
||
"exit_desktop": "Exit Desktop",
|
||
"refresh": "Refresh",
|
||
"widget_clock": "Clock",
|
||
"widget_device_status": "장치 상태",
|
||
"widget_server_health": "서버 정보",
|
||
"widget_system_stats": "장치 게이지",
|
||
"widget_device_list": "장치 목록",
|
||
"widget_quick_actions": "빠른 작업",
|
||
"widget_recent_activity": "최근 활동",
|
||
"widget_notes": "Notes",
|
||
"widget_network_monitor": "네트워크 모니터",
|
||
"widget_tickets_summary": "Tickets",
|
||
"widget_iframe": "Web Embed",
|
||
"widget_cdap_devices": "CDAP 장치",
|
||
"widget_uptime": "Uptime",
|
||
"widget_port_status": "Port Status",
|
||
"widget_device_grid": "장치 그리드",
|
||
"widget_multi_gauge": "서버 게이지",
|
||
"widget_weekly_chart": "주간 활동",
|
||
"widget_quick_controls": "빠른 제어",
|
||
"widget_bandwidth": "Bandwidth",
|
||
"widget_connection_stats": "연결 통계",
|
||
"widget_weather": "Weather",
|
||
"widget_world_clock": "World Clock",
|
||
"widget_bookmarks": "Bookmarks",
|
||
"widget_user_sessions": "사용자 세션",
|
||
"widget_alert_feed": "Alert Feed",
|
||
"label_online": "Online",
|
||
"label_offline": "Offline",
|
||
"label_total": "Total",
|
||
"label_blocked": "Blocked",
|
||
"label_banned": "Banned",
|
||
"label_active": "Active",
|
||
"label_service": "Service",
|
||
"label_port": "Port",
|
||
"label_uptime_prefix": "Uptime:",
|
||
"label_uptime": "Uptime",
|
||
"label_no_devices": "기기 없음",
|
||
"label_no_activity": "No activity",
|
||
"label_no_targets": "No targets",
|
||
"label_unavailable": "Unavailable",
|
||
"label_open": "열기",
|
||
"label_in_progress": "In Progress",
|
||
"label_resolved": "Resolved",
|
||
"label_set_url": "구성에서 URL를 설정하세요.",
|
||
"label_server_uptime": "서버 가동 시간",
|
||
"label_merged_info": "서버 정보 위젯에 병합됨",
|
||
"label_with_notes": "메모 포함",
|
||
"label_metric": "Metric",
|
||
"label_count": "Count",
|
||
"label_total_devices": "총 장치",
|
||
"label_throughput": "Throughput",
|
||
"label_active_relays": "활성 릴레이",
|
||
"label_total_relayed": "총 중계",
|
||
"label_total_bytes": "Total Bytes",
|
||
"label_filter_devices": "장치 필터링...",
|
||
"label_all": "All",
|
||
"label_ban": "Ban",
|
||
"label_unban": "Unban",
|
||
"label_connect": "Connect",
|
||
"label_no_cdap_devices": "CDAP 장치 없음",
|
||
"action_add_widget": "위젯 추가",
|
||
"label_merged_server_info": "서버 정보 위젯에 병합됨",
|
||
"wp_images": "Images",
|
||
"wp_colors": "단색",
|
||
"wp_custom_color": "맞춤 색상",
|
||
"wp_fit_style": "Style",
|
||
"wp_fill": "Fill",
|
||
"wp_fit": "Fit",
|
||
"wp_stretch": "Stretch",
|
||
"wp_center": "Center",
|
||
"widget_calendar": "Calendar",
|
||
"widget_process_monitor": "프로세스 모니터",
|
||
"widget_disk_usage": "Disk Usage",
|
||
"widget_log_viewer": "Log Viewer",
|
||
"widget_speed_test": "Speed Test",
|
||
"widget_database_stats": "데이터베이스 통계",
|
||
"widget_docker_containers": "Docker 컨테이너",
|
||
"widget_shell_command": "쉘 명령",
|
||
"widget_device_map": "장치 지도",
|
||
"widget_remote_connect": "원격 연결",
|
||
"label_no_online": "온라인 기기 없음",
|
||
"label_no_events": "오늘은 이벤트가 없습니다",
|
||
"label_event_title": "이벤트 제목:",
|
||
"label_no_data": "데이터가 없습니다",
|
||
"label_download_speed": "다운로드 속도",
|
||
"label_latency": "Latency",
|
||
"label_server": "서버",
|
||
"label_run_test": "Run Test",
|
||
"label_testing": "테스트 중...",
|
||
"label_table": "Table",
|
||
"label_rows": "Rows",
|
||
"label_last_backup": "Last Backup",
|
||
"label_no_containers": "컨테이너 없음",
|
||
"label_docker_unavailable": "Docker를 사용할 수 없음",
|
||
"label_no_command": "구성된 명령이 없습니다.",
|
||
"label_no_output": "아직 출력이 없습니다",
|
||
"label_run": "Run",
|
||
"label_presets": "Presets",
|
||
"label_save_preset": "사전 설정 저장",
|
||
"label_load_preset": "Load Preset",
|
||
"label_preset_name": "사전 설정 이름:",
|
||
"label_preset_monitoring": "Monitoring",
|
||
"label_preset_helpdesk": "Helpdesk",
|
||
"label_preset_minimal": "Minimal",
|
||
"label_preset_developer": "Developer",
|
||
"label_snap_layout": "Snap Layout",
|
||
"label_auto_arrange": "자동 정렬",
|
||
"label_zone_layout": "Zone Layout",
|
||
"label_2col_equal": "2열(같음)",
|
||
"label_2col_wide": "2열(60/40)",
|
||
"label_3col": "3 Columns",
|
||
"label_2x2_grid": "2×2 Grid",
|
||
"label_1_2": "1 + 2",
|
||
"label_1_3": "1 + 3",
|
||
"widget_group": "위젯 그룹",
|
||
"ungroup_widgets": "위젯 그룹 해제",
|
||
"group_widgets": "선택한 위젯 그룹화",
|
||
"snap_layouts": "스냅 레이아웃",
|
||
"snap_left": "Snap Left",
|
||
"snap_right": "Snap Right",
|
||
"snap_top_left": "���쪽 위에서 스냅",
|
||
"snap_top_right": "오른쪽 상단 스냅",
|
||
"snap_bottom_left": "왼쪽 아래 스냅",
|
||
"snap_bottom_right": "오른쪽 하단 스냅",
|
||
"aero_shake": "흔들어서 다른 사람을 최소화하세요",
|
||
"zone_resize": "영역 크기를 조정하려면 테두리를 드래그하세요.",
|
||
"zone_borders": "드래그 가능한 영역 경계",
|
||
"app_drawer": "Applications",
|
||
"search_apps": "앱 검색...",
|
||
"edit_shortcuts": "바로 가기 편집",
|
||
"widgets": "위젯",
|
||
"theme": "Theme",
|
||
"pop_out_widget": "Pop Out",
|
||
"pop_in_widget": "Pop In",
|
||
"wp_unavailable": "이 서버에는 배경화면 이미지가 설치되어 있지 않습니다.",
|
||
"wp_download_hint": "배경화면 선택을 활성화하려면 public/wallpapers/ 디렉토리에 PNG 이미지를 배치하세요.",
|
||
"fullscreen": "Fullscreen",
|
||
"help": "Help"
|
||
},
|
||
"desktop_login": {
|
||
"click_to_sign_in": "로그인하려면 아무 곳이나 클릭하거나 키를 누르세요.",
|
||
"username_placeholder": "사용자 이름",
|
||
"password_placeholder": "비밀번호",
|
||
"sign_in": "Sign in",
|
||
"verify": "Verify",
|
||
"totp_title": "2단계 인증",
|
||
"totp_subtitle": "인증 앱의 6자리 코드를 입력하세요.",
|
||
"back_to_login": "로그인으로 돌아가기",
|
||
"fill_all_fields": "모든 필드를 작성해 주세요.",
|
||
"invalid_credentials": "잘못된 사용자 이름 또는 비밀번호",
|
||
"invalid_code": "잘못된 인증 코드",
|
||
"enter_6_digits": "6자리를 모두 입력하세요.",
|
||
"network_error": "네트워크 오류 - 연결을 확인하세요",
|
||
"session_expired": "세션이 만료되었습니다. 다시 로그인해 주세요."
|
||
},
|
||
"tokens": {
|
||
"title": "장치 토큰",
|
||
"subtitle": "자동화된 장치 프로비저닝을 위한 등록 토큰 관리",
|
||
"enrollment_mode": "등록 모드",
|
||
"mode_open": "열기",
|
||
"mode_open_desc": "토큰 없이 모든 장치를 등록할 수 있습니다.",
|
||
"mode_managed": "Managed",
|
||
"mode_managed_desc": "Devices need a valid token to register",
|
||
"mode_locked": "Locked",
|
||
"mode_locked_desc": "No new device registrations allowed",
|
||
"total": "총 토큰",
|
||
"active": "Active",
|
||
"used": "Used",
|
||
"revoked": "Revoked",
|
||
"search_placeholder": "토큰 검색...",
|
||
"status_pending": "Pending",
|
||
"status_active": "Active",
|
||
"status_used": "Used",
|
||
"status_revoked": "Revoked",
|
||
"status_expired": "Expired",
|
||
"bulk_generate": "대량 생성",
|
||
"create": "토큰 생성",
|
||
"edit": "토큰 편집",
|
||
"token": "Token",
|
||
"name": "Name",
|
||
"status": "Status",
|
||
"uses": "Uses",
|
||
"bound_peer": "Bound Peer",
|
||
"expires": "Expires",
|
||
"created": "생성됨",
|
||
"actions": "Actions",
|
||
"name_placeholder": "예를 들어 사무실 PC 배치",
|
||
"max_uses": "Max Uses",
|
||
"max_uses_hint": "0 = 무제한",
|
||
"expires_in": "Expires In",
|
||
"no_expiration": "만료 없음",
|
||
"expires_1h": "1 hour",
|
||
"expires_24h": "24 hours",
|
||
"expires_7d": "7 days",
|
||
"expires_30d": "30 days",
|
||
"note": "Note",
|
||
"note_placeholder": "이 토큰에 대한 선택적 참고 사항...",
|
||
"count": "Count",
|
||
"count_range": "생성할 토큰 수(1-100)",
|
||
"name_prefix": "Name Prefix",
|
||
"generate": "Generate",
|
||
"token_created": "토큰 생성됨",
|
||
"tokens_generated": "생성된 토큰",
|
||
"copy_warning": "지금 토큰을 복사하세요. 다시 표시되지 않습니다.",
|
||
"copy_token": "Copy Token",
|
||
"copied": "Copied!",
|
||
"revoke": "Revoke",
|
||
"revoke_confirm": "이 토큰을 취소하시겠습니까? 이미 등록된 장치는 영향을 받지 않습니다.",
|
||
"revoked_success": "토큰이 취소되었습니다.",
|
||
"no_tokens": "토큰을 찾을 수 없습니다.",
|
||
"expired": "Expired",
|
||
"never": "Never",
|
||
"save": "저장",
|
||
"cancel": "취소",
|
||
"unlimited": "Unlimited"
|
||
},
|
||
"tutorial": {
|
||
"next": "다음",
|
||
"prev": "Previous",
|
||
"skip": "Skip",
|
||
"finish": "마침",
|
||
"close": "닫기",
|
||
"step_of": "{total}의 {current}",
|
||
"console_sidebar_title": "탐색 사이드바",
|
||
"console_sidebar_text": "여기에서 모든 모듈에 액세스하세요. 해당 섹션으로 이동하려면 아이콘을 클릭하세요. 사이드바는 화면 크기에 맞게 조정됩니다.",
|
||
"console_expand_title": "사이드바 확장",
|
||
"console_expand_text": "사이드바를 확장하고 모든 탐색 항목에 대한 전체 레이블을 보려면 여기를 클릭하십시오. 접으려면 다시 클릭하세요.",
|
||
"console_search_title": "빠른 검색",
|
||
"console_search_text": "장치, 설정, 작업을 빠르게 검색하세요. 키보드 단축키는 Ctrl+K를 누르세요.",
|
||
"console_dashboard_title": "대시보드",
|
||
"console_dashboard_text": "서버 상태, 온라인 장치 및 빠른 작업을 표시하는 중앙 허브입니다. 중요한 지표를 한눈에 확인하세요.",
|
||
"console_devices_title": "장치 관리",
|
||
"console_devices_text": "연결된 모든 장치를 보고, 검색하고, 관리합니다. 상태별로 필터링하고, 태그를 할당하고, 개별 장치 설정을 구성합니다.",
|
||
"console_settings_title": "설정",
|
||
"console_settings_text": "서버 동작, 보안 옵션, 브랜딩 및 사용자 관리를 구성합니다. 필요에 맞게 BetterDesk를 사용자 정의하세요.",
|
||
"console_desktop_title": "데스크탑 모드",
|
||
"console_desktop_text": "위젯이 있는 창 작업 공간의 경우 데스크탑 모드로 전환하세요. 멀티태스킹 및 모니터링 대시보드에 적합합니다.",
|
||
"console_complete_title": "준비가 되었습니다!",
|
||
"console_complete_text": "사이드바 카테고리를 탐색하여 모든 기능을 찾아보세요. 이 가이드를 다시 시작하려면 언제든지 도움말 아이콘을 클릭하세요.",
|
||
"desktop_topbar_title": "Top Bar",
|
||
"desktop_topbar_text": "상단 표시줄에는 시계, 빠른 컨트롤, 앱 서랍에 대한 액세스가 표시됩니��. 모든 앱을 탐색하려면 그리드 아이콘을 클릭하세요.",
|
||
"desktop_drawer_title": "App Drawer",
|
||
"desktop_drawer_text": "앱 서랍을 열어 콘솔 기능을 플로팅 창으로 검색하고 실행하세요. 앱은 카테고리별로 정리되어 있습니다.",
|
||
"desktop_widgets_title": "위젯 대시보드",
|
||
"desktop_widgets_text": "맞춤형 작업 공간. 위젯은 실시간 정보를 표시하고 기능에 대한 빠른 액세스를 제공합니다. 드래그하여 재정렬하세요.",
|
||
"desktop_add_widget_title": "위젯 추가",
|
||
"desktop_add_widget_text": "사용 가능한 위젯을 찾아보려면 여기를 클릭하세요. 모니터링 디스플레이, 장치 목록, 메모 등 중에서 선택하세요.",
|
||
"desktop_taskbar_title": "Taskbar",
|
||
"desktop_taskbar_text": "Open apps appear here. Click to focus or minimize windows. The clock shows current time and wallpaper button changes the background.",
|
||
"desktop_snap_title": "스냅 레이아웃",
|
||
"desktop_snap_text": "창을 화면 가장자리로 드래그하여 위치에 맞추거나 레이아웃 사전 설정을 위해 최대화 버튼을 마우스로 가리킵니다. 에어로 쉐이크를 사용해 보세요!",
|
||
"desktop_windows_title": "App Windows",
|
||
"desktop_windows_text": "앱은 드래그 가능하고 크기 조절이 가능한 창에서 열립니다. 제목 표시줄을 최소화, 최대화하거나 닫습니다. 위젯 위의 Windows 레이어.",
|
||
"desktop_search_title": "빠른 검색",
|
||
"desktop_search_text": "기기, 페이지, 설정 전반에서 검색하세요. 어디에서나 Ctrl+K를 누르면 즉시 검색이 열립니다.",
|
||
"desktop_complete_title": "데스크탑 모드가 준비되었습니다!",
|
||
"desktop_complete_text": "서랍에서 앱을 열고 창을 나란히 배열해 보세요. 빠른 대시보드 레이아웃을 위해 위젯 사전 설정을 사용하세요.",
|
||
"devices_folders_title": "장치 폴더",
|
||
"devices_folders_text": "장치를 폴더로 구성합니다. 목록을 필터링하려면 폴더를 클릭하세요. 이름을 바꾸거나 삭제하려면 마우스 오른쪽 버튼을 클릭하세요.",
|
||
"devices_search_title": "검색 및 필터",
|
||
"devices_search_text": "ID, 호스트 이름, 플랫폼으로 검색하세요. 온라인, 오프라인 또는 모든 장치만 표시하려면 상태 알약을 사용하세요.",
|
||
"devices_table_title": "장치 목록",
|
||
"devices_table_text": "자세한 내용을 보려면 장치 행을 클릭하세요. 연결, 태그 편집, 삭제 등의 빠른 작업을 수행하려면 오른쪽에 있는 케밥 메뉴를 사용하세요.",
|
||
"devices_complete_title": "장치 관리 준비 완료!",
|
||
"devices_complete_text": "폴더 간에 장치를 드래그하여 정리하세요. 장치를 두 번 클릭하여 세부 정보 패널을 엽니다.",
|
||
"settings_tabs_title": "설정 카테고리",
|
||
"settings_tabs_text": "일반, 보안, 모양 및 기타 구성 섹션 사이를 이동합니다.",
|
||
"settings_content_title": "구성",
|
||
"settings_content_text": "각 섹션에는 특정 서버 및 콘솔 설정이 포함되어 있습니다. 저장을 클릭하면 변경 사항이 저장됩니다.",
|
||
"settings_complete_title": "설정 개요",
|
||
"settings_complete_text": "2FA, API 키 및 사용자 관리에 대한 보안 설정을 확인하세요. 콘솔 모양을 사용자 정의하려면 모양을 방문하세요.",
|
||
"help": "도움말 및 튜토리얼",
|
||
"tour_console": "콘솔 투어",
|
||
"tour_desktop": "데스크탑 모드 둘러보기",
|
||
"tour_devices": "장치 둘러보기",
|
||
"tour_settings": "설정 둘러보기",
|
||
"reset_all": "모든 튜토리얼 재설정",
|
||
"tour_remote": "원격 세션 둘러보기",
|
||
"tour_organization": "조직 설정",
|
||
"tour_cdap": "CDAP 개요",
|
||
"tour_chat": "채팅 기본 사항",
|
||
"remote_toolbar_title": "원격 도구 모음",
|
||
"remote_toolbar_text": "도구 모음에서 디스플레이 제어, 클립보드 동기화, 특수 키 및 품질 설정에 액세스하세요. F11로 전체 화면을 전환합니다.",
|
||
"remote_canvas_title": "원격 디스플레이",
|
||
"remote_canvas_text": "원격화면 입니다. 내부를 클릭하면 원격 장치 제어가 시작됩니다. 마우스 및 키보드 입력이 자동으로 전달됩니다.",
|
||
"remote_clipboard_title": "클립보드 동기화",
|
||
"remote_clipboard_text": "컴퓨터와 원격 장치 간에 텍스트를 복사하여 붙여넣습니다. 원격 디스플레이에 초점을 맞춘 동안 평소처럼 Ctrl+C / Ctrl+V를 사용하세요.",
|
||
"remote_complete_title": "원격 세션 준비 완료!",
|
||
"remote_complete_text": "특수 키(Ctrl+Alt+Del, PrintScreen) 및 모니터 전환에는 도구 모음 버튼을 사용하세요. Esc 키를 누르거나 연결 끊기를 클릭하여 세션을 종료합니다.",
|
||
"org_overview_title": "조직",
|
||
"org_overview_text": "조직을 사용하면 사용자, 장치, 정책을 그룹화할 수 있습니다. 각 조직에는 자체 관리자, 운영자 및 설정이 있습니다.",
|
||
"org_create_title": "조직 만들기",
|
||
"org_create_text": "새 조직을 만들려면 여기를 클릭하세요. 이름, 슬러그 및 선택적 설명을 제공하십시오. 귀하는 새 조직의 소유자가 됩니다.",
|
||
"org_members_title": "회원 관리",
|
||
"org_members_text": "이메일로 사��자를 초대하고, 역할(관리자, 운영자, 사용자)을 할당하고, 액세스를 관리하세요. 구성원은 자신의 조직에 할당된 장치를 볼 수 있습니다.",
|
||
"org_devices_title": "장치 할당",
|
||
"org_devices_text": "조직에 장치를 추가합니다. 여기에 할당된 장치는 조직의 정책을 상속하며 해당 구성원에게 표시됩니다.",
|
||
"org_policies_title": "조직 정책",
|
||
"org_policies_text": "비밀번호 요구 사항, 세션 시간 초과, 2FA 시행, 조직의 장치 등록 규칙과 같은 보안 정책을 설정합니다.",
|
||
"org_complete_title": "조직 설정이 완료되었습니다!",
|
||
"org_complete_text": "팀을 초대하고 장치를 할당하여 조직 범위 관리를 시작하세요. 정책은 모든 회원에게 자동으로 적용됩니다.",
|
||
"cdap_devices_title": "CDAP Devices",
|
||
"cdap_devices_text": "View all connected CDAP devices — IoT sensors, PLCs, bridges, and custom agents. Green indicators show live connections.",
|
||
"cdap_widgets_title": "Widget Dashboard",
|
||
"cdap_widgets_text": "Widgets display real-time data from devices. Gauges, toggles, LEDs, charts — each widget type visualizes a different kind of data.",
|
||
"cdap_commands_title": "Send Commands",
|
||
"cdap_commands_text": "Interact with devices by sending commands. Some commands need confirmation. The command log keeps a history of all sent commands.",
|
||
"cdap_terminal_title": "Device Terminal",
|
||
"cdap_terminal_text": "Open a terminal session to CDAP agents for advanced diagnostics or manual configuration. Type commands directly.",
|
||
"cdap_complete_title": "CDAP Overview Complete!",
|
||
"cdap_complete_text": "Explore device widgets, send commands, and use the terminal or file browser for deeper management. CDAP agents report metrics automatically.",
|
||
"chat_contacts_title": "연락처 및 그룹",
|
||
"chat_contacts_text": "연락처와 채팅 그룹을 확인하세요. 대화를 열려면 연락처를 클릭하세요. 녹색 점은 온라인 사용자를 나타냅니다.",
|
||
"chat_send_title": "메시지 보내기",
|
||
"chat_send_text": "메시지를 입력하고 Enter를 눌러 보내세요. 양측 모두 E2E를 지원하는 경우 메시지는 종단 간 암호화됩니다.",
|
||
"chat_file_title": "파일 공유",
|
||
"chat_file_text": "파일을 공유하려면 첨부 아이콘을 클릭하세요. 파일은 암호화되며 최대 50MB까지 가능합니다.",
|
||
"chat_complete_title": "채팅 준비 완료!",
|
||
"chat_complete_text": "운영자 및 최종 사용자와 실시간으로 채팅하세요. 팀 커뮤니케이션을 위해 그룹을 만듭니다. 모든 메시지는 읽음 확인을 지원합니다.",
|
||
"disable_tutorials": "튜토리얼 비활성화",
|
||
"enable_tutorials": "튜토리얼 활성화"
|
||
},
|
||
"help_request": {
|
||
"title": "도움 요청",
|
||
"subtitle": "데스크톱 클라이언트로부터 들어오는 도움말 요청 관리",
|
||
"new_request": "새로운 도움 요청",
|
||
"device": "장치",
|
||
"hostname": "Hostname",
|
||
"message": "Message",
|
||
"status": "Status",
|
||
"pending": "Pending",
|
||
"accepted": "Accepted",
|
||
"resolved": "Resolved",
|
||
"accept": "Accept",
|
||
"resolve": "Resolve",
|
||
"no_requests": "도움 요청 없음",
|
||
"notification": "다음에서 받은 도움 요청",
|
||
"stats_total": "Total",
|
||
"filter_all": "All"
|
||
},
|
||
"organizations": {
|
||
"title": "조직",
|
||
"create": "조직 만들기",
|
||
"edit": "조직 편집",
|
||
"detail": "조직 세부정보",
|
||
"name": "Name",
|
||
"slug": "슬러그(URL-안전)",
|
||
"logo_url": "Logo URL",
|
||
"users": "Users",
|
||
"devices": "장치",
|
||
"invitations": "Invitations",
|
||
"settings": "설정",
|
||
"add_user": "Add User",
|
||
"assign_device": "장치 할당",
|
||
"create_invitation": "초대장 만들기",
|
||
"delete_confirm": "이 조직을 삭제하시겠습니까? 연결된 모든 사용자, 장치, 설정이 제거됩니다.",
|
||
"no_orgs": "아직 조직이 없습니다.",
|
||
"no_orgs_hint": "장치 및 사용자 관리를 시작하려면 첫 번째 조직을 만드세요.",
|
||
"connection_policy": "연결 정책",
|
||
"allow_file_transfer": "파일 전송 허용",
|
||
"allow_clipboard": "클립���드 허용",
|
||
"max_session_duration": "최대 세션 기간(분)",
|
||
"role_owner": "소유자(조직 관리자)",
|
||
"role_admin": "관리자",
|
||
"role_operator": "Operator",
|
||
"role_user": "구성원",
|
||
"username": "사용자 이름",
|
||
"password": "비밀번호",
|
||
"display_name": "표시 이름",
|
||
"email": "Email",
|
||
"role": "Role",
|
||
"last_login": "Last Login",
|
||
"actions": "Actions",
|
||
"device_id": "장치 ID",
|
||
"department": "Department",
|
||
"building": "Building",
|
||
"location": "Location",
|
||
"assigned_user": "할당된 사용자",
|
||
"token": "Token",
|
||
"expires": "Expires",
|
||
"used": "Used",
|
||
"no_users": "이 조직에는 사용자가 없습니다.",
|
||
"no_devices": "이 조직에 할당된 기기가 없습니다.",
|
||
"no_invitations": "초대장이 없습니다.",
|
||
"user_added": "User added",
|
||
"user_removed": "사용자가 삭제되었습니다.",
|
||
"user_updated": "사용자 역할이 업데이트되었습니다.",
|
||
"device_assigned": "할당된 장치",
|
||
"device_unassigned": "할당되지 않은 기기",
|
||
"invitation_created": "초대장이 생성되었습니다.",
|
||
"settings_saved": "설정이 저장되었습니다.",
|
||
"org_deleted": "조직이 삭제되었습니다.",
|
||
"confirm_remove_user": "이 사용자를 조직에서 삭제하시겠습니까?",
|
||
"confirm_unassign_device": "조직에서 이 기기를 할당 해제하시겠습니까?",
|
||
"confirm_delete_org": "이 조직 및 모든 관련 데이터를 삭제하시겠습니까?",
|
||
"edit_role": "역할 편집",
|
||
"raw_settings": "원시 설정",
|
||
"key": "Key",
|
||
"value": "Value",
|
||
"save": "설정 저장",
|
||
"policy_unattended": "무인(즉시)",
|
||
"policy_attended": "참석함(확인 후)",
|
||
"policy_ask": "Always ask",
|
||
"expires_hours": "만료(시간)",
|
||
"loading_failed": "조직 데이터를 로드하지 못했습니다.",
|
||
"name_slug_required": "이름과 슬러그가 필요합니다",
|
||
"org_created": "조직이 생성되었습니다.",
|
||
"org_updated": "조직이 업데이트되었습니다.",
|
||
"create_new_user": "새로 만들기",
|
||
"add_existing_user": "기존 추가",
|
||
"none_available": "none",
|
||
"select_user": "사용자 선택",
|
||
"org_role": "조직 역할",
|
||
"link_user_hint": "선택된 사용자는 서버 계정 자격 증명을 사용하여 이 조직에 연결됩니다.",
|
||
"no_available_users": "모든 서버 사용자는 이미 이 조직에 연결되어 있습니다.",
|
||
"user_linked": "조직에 연결된 사용자",
|
||
"device_groups_tab": "장치 그룹",
|
||
"device_groups_intro": "이 조직에 연결된 장치 그룹은 RustDesk 클라이언트에서 구성원이 접근할 수 있는 장치를 정의합니다. 구성원 및 접근 권한은 장치 페이지에서 설정하세요.",
|
||
"manage_in_devices": "장치 → 그룹 열기",
|
||
"no_org_device_groups": "이 조직에 연결된 장치 그룹이 아직 없습니다.",
|
||
"create_org_device_group": "장치 그룹 만들기",
|
||
"org_device_group_created": "장치 그룹이 생성되었습니다",
|
||
"org_user_groups_title": "사용자 그룹",
|
||
"org_user_groups_intro": "조직에 연결된 사용자 그룹은 위 장치 그룹에 대한 접근 권한을 부여받을 수 있습니다(장치 → 그룹 → 허용된 사용자 그룹).",
|
||
"no_org_user_groups": "이 조직에 연결된 사용자 그룹이 없습니다.",
|
||
"group_name": "Name",
|
||
"group_type": "Type",
|
||
"group_members": "장치",
|
||
"group_type_manual": "Manual",
|
||
"group_type_tag": "Tag",
|
||
"group_allowed_user_groups": "허용된 사용자 그룹",
|
||
"group_devices_suffix": "장치",
|
||
"group_name_required": "그룹 이름은 필수입니다",
|
||
"org_team_id": "조직 팀 ID",
|
||
"link_team_id_hint": "그룹은 자동으로 이 조직에 연결됩니다(팀 ID = 조직 ID).",
|
||
"address_book": "주소록",
|
||
"address_book_import_devices": "조직 장치 가져오기",
|
||
"address_book_save": "주소록 저장",
|
||
"address_book_intro": "이 조직의 구성원과 공유할 연락처를 관리합니다. 개인 주소록 항목은 계속 비공개이며 충돌 시 우선 적용됩니다.",
|
||
"address_book_enabled": "이 주소록을 조직 구성원과 공유",
|
||
"address_book_json": "주소록 JSON",
|
||
"address_book_json_hint": "RustDesk 레거시 형식 예: {\"peers\":[{\"id\":\"123456789\",\"alias\":\"사무실 PC\"}],\"tags\":[\"사무실\"]}",
|
||
"address_book_invalid_json": "주소록은 유효한 JSON이어야 합니다",
|
||
"address_book_peers_array_required": "주소록 peers는 배열이어야 합니다",
|
||
"address_book_tags_array_required": "주소록 tags는 배열이어야 합니다",
|
||
"address_book_saved": "주소록이 저장되었습니다",
|
||
"address_book_save_failed": "주소록 저장에 실패했습니다",
|
||
"address_book_imported": "조직 장치를 가져왔습니다",
|
||
"address_book_import_none": "가져올 새 조직 장치가 없습니다",
|
||
"address_book_contacts": "Shared contacts",
|
||
"address_book_add_peer": "Add contact",
|
||
"address_book_peer_id": "Device ID",
|
||
"address_book_alias": "Alias",
|
||
"address_book_peer_tags": "Contact tags",
|
||
"address_book_peer_tags_placeholder": "office, support",
|
||
"address_book_tags_label": "Global tags",
|
||
"address_book_tags_placeholder": "Office, Support",
|
||
"address_book_tags_hint": "Comma-separated tags available in the RustDesk client address book.",
|
||
"address_book_no_peers": "No contacts yet — add a device ID or import organization devices.",
|
||
"address_book_show_json": "Advanced JSON",
|
||
"address_book_hide_json": "Structured editor"
|
||
},
|
||
"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",
|
||
"custom": "사용자 지정"
|
||
},
|
||
"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": "콘솔 새로고침",
|
||
"log_title": "업데이트 로그",
|
||
"log_expand": "로그 펼치기",
|
||
"log_collapse": "로그 접기",
|
||
"log_copy": "로그 복사",
|
||
"progress_step": "{total}단계 중 {current}단계",
|
||
"reload_countdown": "{seconds}초 후 자동 새로고침",
|
||
"retry_update": "업데이트 재시도",
|
||
"retry_confirm": "이 업데이트 설치를 다시 시도하시겠습니까?",
|
||
"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_docker_blocked": "Docker 이미지 배포에서는 패널에서 업데이트 채널을 전환할 수 없습니다. BETTERDESK_IMAGE_TAG=latest(stable) 또는 BETTERDESK_IMAGE_TAG=dev(development)를 설정한 뒤 docker compose pull && docker compose up -d를 실행하세요.",
|
||
"channel_docker_note": "패널의 업데이트 채널은 네이티브 설치에만 적용됩니다. GHCR 이미지는 BETTERDESK_IMAGE_TAG를 변경하고 컨테이너를 다시 만드세요.",
|
||
"channel_switch_warning": "채널 변경 시 GitHub 브랜치가 바뀝니다. 추적 중인 commit SHA는 유지됩니다 — 다음 확인에서 큰 차이가 보일 수 있습니다. 계속할까요?",
|
||
"channel_pick_label": "전환",
|
||
"channel_apply_hint": "확인 후 즉시 저장됩니다. 그다음 업데이트 확인을 클릭하세요.",
|
||
"channel_confirm_switch": "{from}에서 {to}(으)로 전환할까요? 업데이트 확인 전까지 설치된 commit은 유지됩니다.",
|
||
"docker_title": "Docker 이미지 배포",
|
||
"docker_desc": "이 콘솔은 사전 빌드된 컨테이너 이미지(공식 all-in-one 또는 레거시 split)에서 실행됩니다. 업데이트는 호스트에서 GHCR의 최신 컨테이너 이미지를 pull하여 적용하며, 앱 내 설치나 Go 재빌드가 아닙니다.",
|
||
"docker_install_note": "Docker에서는 앱 내 설치가 비활성화되어 있습니다. 위 명령을 호스트에서 실행한 뒤 이 페이지를 새로고침하세요.",
|
||
"docker_update_available": "새 컨테이너 이미지 사용 가능",
|
||
"docker_sha_unknown": "최신 (이미지 commit 알 수 없음)",
|
||
"docker_images": "이미지",
|
||
"more_options": "추가 옵션",
|
||
"option_advanced": "고급 옵션",
|
||
"option_advanced_desc": "백업 보존, Docker 배포, 서버 재빌드 및 업데이트 전략"
|
||
},
|
||
"permissions": {
|
||
"title": "권한",
|
||
"subtitle": "역할 기반 권한 및 사용자 정의 재정의 관리",
|
||
"info_title": "권한 작동 방식",
|
||
"info_desc": "각 역할에��� 기본 권한이 있습니다. 아래에서 전환하여 역할별로 개별 권한을 추가하거나 제거할 수 있습니다. 사용자 정의 재정의는 강조 표시되며 언제든지 기본값으로 되돌릴 수 있습니다.",
|
||
"select_role": "역할 선택",
|
||
"select_role_placeholder": "역할을 선택하세요...",
|
||
"reset_overrides": "모든 재정의 재설정",
|
||
"granted": "Granted",
|
||
"overrides": "Overrides",
|
||
"level": "Level",
|
||
"super_admin_tag": "Full access",
|
||
"server_level_tag": "서버 수준",
|
||
"custom": "Custom",
|
||
"default": "Default",
|
||
"revert": "기본값으로 되돌리기",
|
||
"saved": "권한이 업데이트되었습니다.",
|
||
"reverted": "기본값으로 되돌렸습니다.",
|
||
"all_reverted": "모든 재정의가 되돌려졌습니다.",
|
||
"confirm_reset": "이 역할의 모든 사용자 정의 재정의를 기본값으로 재설정하시겠습니까?",
|
||
"empty_title": "역할 선택",
|
||
"empty_desc": "권한을 보고 관리하려면 위 드롭다운에서 역할을 선택하세요.",
|
||
"locked_title": "Super Admin",
|
||
"locked_desc": "최고 관리자는 기본적으로 모든 권한을 가지며 사용자 정의할 수 없습니다.",
|
||
"cat_device": "장치",
|
||
"cat_user": "Users",
|
||
"cat_server": "서버",
|
||
"cat_org": "조직",
|
||
"cat_audit": "감사 및 모니터링",
|
||
"cat_cdap": "CDAP",
|
||
"cat_enrollment": "Enrollment",
|
||
"cat_chat": "Chat",
|
||
"cat_branding": "Branding",
|
||
"perm_device_view": "기기 보기",
|
||
"perm_device_connect": "장치에 연결",
|
||
"perm_device_edit": "기기 수정",
|
||
"perm_device_delete": "기기 삭제",
|
||
"perm_device_ban": "장치 금지/금지 해제",
|
||
"perm_device_change_id": "기기 ID 변경",
|
||
"perm_user_view": "사용자 보기",
|
||
"perm_user_create": "사용자 생성",
|
||
"perm_user_edit": "사용자 편집",
|
||
"perm_user_delete": "사용자 삭제",
|
||
"perm_server_config": "서버 구성",
|
||
"perm_server_keys": "API 키 관리",
|
||
"perm_org_create": "조직 만들기",
|
||
"perm_org_edit": "조직 수정",
|
||
"perm_org_delete": "조직 삭제",
|
||
"perm_org_manage_users": "조직 사용자 관리",
|
||
"perm_org_manage_devices": "조직 기기 관리",
|
||
"perm_audit_view": "감사 로그 보기",
|
||
"perm_metrics_view": "측정항목 보기",
|
||
"perm_blocklist_edit": "차단 목록 수정",
|
||
"perm_cdap_view": "CDAP 장치 보기",
|
||
"perm_cdap_command": "CDAP 명령 보내기",
|
||
"perm_cdap_terminal": "CDAP 터미널 액세스",
|
||
"perm_cdap_files": "CDAP 파일 액세스",
|
||
"perm_enrollment_manage": "등록 관리",
|
||
"perm_enrollment_approve": "등록 승인",
|
||
"perm_chat_access": "Chat access",
|
||
"perm_branding_edit": "브랜딩 수정",
|
||
"perm_server_attestation": "서버 성능 인증"
|
||
},
|
||
"notifications": {
|
||
"title": "알림",
|
||
"empty": "새로운 알림 없음",
|
||
"mark_all_read": "모두 읽은 것으로 표시",
|
||
"see_all": "모든 도움 요청 보기",
|
||
"help_request": "도움 요청",
|
||
"just_now": "just now"
|
||
},
|
||
"accessibility": {
|
||
"title": "접근성",
|
||
"subtitle": "시각, 동작 및 읽기 요구에 맞게 콘솔을 조정합니다.",
|
||
"close": "접근성 메뉴 닫기",
|
||
"profiles": "빠른 프로필",
|
||
"profile_low_vision": "Low vision",
|
||
"profile_low_vision_hint": "더 큰 텍스트, 강한 대비 및 초점.",
|
||
"profile_dyslexia": "읽기의 편안함",
|
||
"profile_dyslexia_hint": "읽기 쉬운 글꼴과 넓은 간격.",
|
||
"profile_motion_safe": "Motion safe",
|
||
"profile_motion_safe_hint": "전환을 줄이고 애니메이션을 일시 중지합니다.",
|
||
"profile_color_assist": "색상 지원",
|
||
"profile_color_assist_hint": "색상 필터, 라벨 및 강조 표시된 링크.",
|
||
"reading": "읽기",
|
||
"font_size": "글자 크기",
|
||
"line_height": "줄 높이",
|
||
"letter_spacing": "문자 간격",
|
||
"word_spacing": "단어 간격",
|
||
"readable_font": "읽을 수 있는 글꼴",
|
||
"readable_font_hint": "넓고 친숙한 문자 모양을 사용합니다.",
|
||
"dyslexia_spacing": "난독증 간격",
|
||
"dyslexia_spacing_hint": "긴 텍스트에 추가 간격을 추가합니다.",
|
||
"visual": "시각",
|
||
"contrast": "대비",
|
||
"contrast_normal": "Normal",
|
||
"contrast_high_dark": "고대비 어두운",
|
||
"contrast_high_light": "고대비 조명",
|
||
"contrast_yellow_black": "검정색 바탕에 노란색",
|
||
"color_filter": "컬러 비전 필터",
|
||
"filter_none": "None",
|
||
"filter_protanopia": "Protanopia",
|
||
"filter_deuteranopia": "Deuteranopia",
|
||
"filter_tritanopia": "Tritanopia",
|
||
"filter_achromatopsia": "Achromatopsia",
|
||
"saturation": "채도",
|
||
"underline_links": "링크에 밑줄을 긋습니다",
|
||
"underline_links_hint": "색상에 의존하지 않고 링크를 표시합니다.",
|
||
"highlight_links": "하이라이트 액션",
|
||
"highlight_links_hint": "링크와 버튼의 개요를 설명합니다.",
|
||
"highlight_headings": "제목 강조 표시",
|
||
"highlight_headings_hint": "색상 막대로 섹션 제목을 표시합니다.",
|
||
"hide_media": "Dim media",
|
||
"hide_media_hint": "이미지, 비디오 및 캔버스를 어둡게 합니다.",
|
||
"interaction": "상호 작용",
|
||
"strong_focus": "강한 집중력",
|
||
"strong_focus_hint": "큰 키보드 포커스 링을 표시합니다.",
|
||
"large_cursor": "큰 커서",
|
||
"large_cursor_hint": "더 큰 고대비 포인터를 사용합니다.",
|
||
"reduce_motion": "움직임 줄이기",
|
||
"reduce_motion_hint": "전환을 줄이고 스크롤을 부드럽게 합니다.",
|
||
"pause_animations": "애니메이션 일시중지",
|
||
"pause_animations_hint": "반복되는 시각적 동작을 중지합니다.",
|
||
"reading_guide": "독서 가이드",
|
||
"reading_guide_hint": "밝은 선으로 포인터를 따릅니다.",
|
||
"reading_mask": "마스크 읽기",
|
||
"reading_mask_hint": "포인터 위와 아래의 내용을 어둡게 합니다.",
|
||
"preview": "미리보기",
|
||
"preview_title": "운영자 작업 공간 미리보기",
|
||
"preview_text": "이 메뉴를 닫기 전에 텍스트, 링크, 컨트롤 및 상태 라벨을 읽기 편한지 확인하세요.",
|
||
"preview_link": "기기 세부정보 링크",
|
||
"preview_status": "Online",
|
||
"preview_button": "기본 작업",
|
||
"preview_secondary": "Secondary",
|
||
"reset": "초기화",
|
||
"done": "완료"
|
||
},
|
||
"server_mgmt": {
|
||
"title": "서버 관리",
|
||
"subtitle": "BetterDesk 콘솔 호스트용 Cockpit 스타일 제어판(베타).",
|
||
"beta_tooltip": "베타 기능 — 활발히 개발 중입니다.",
|
||
"notice_title": "베타 기능",
|
||
"notice_body": "이러한 도구는 BetterDesk 콘솔 프로세스가 있는 호스트에서 실행됩니다. 모든 작업이 감사됩니다. 향후 릴리스에서는 기능 범위가 확장될 예정입니다.",
|
||
"tab_overview": "개요",
|
||
"tab_terminal": "터미널",
|
||
"tab_files": "파일",
|
||
"tab_services": "서비스",
|
||
"cpu": "CPU",
|
||
"memory": "메모리",
|
||
"load": "평균 부하",
|
||
"disks": "디스크",
|
||
"history": "기록(최근 60개 샘플)",
|
||
"host_info": "Host info",
|
||
"cores": "cores",
|
||
"uptime": "가동 시간",
|
||
"no_disks": "사용 가능한 디스크 데이터가 없습니다.",
|
||
"info_hostname": "Hostname",
|
||
"info_platform": "Platform",
|
||
"info_kernel": "Kernel",
|
||
"info_node": "Node.js",
|
||
"info_process_id": "Process ID",
|
||
"info_pty_available": "PTY 이용 가능",
|
||
"term_connect": "연결",
|
||
"term_disconnect": "연결 해제",
|
||
"term_clear": "Clear",
|
||
"term_status": "Status",
|
||
"term_connecting": "Connecting…",
|
||
"term_connected": "Connected",
|
||
"term_disconnected": "Disconnected",
|
||
"term_error": "연결 오류",
|
||
"term_warning": "명령은 콘솔 프로세스를 소유한 사용자로 실행됩니다. 권한 상승을 활성화하려면 sudoers 규칙을 추가하세요.",
|
||
"term_hint": "팁: 에스컬레이션하려면 `sudo -i`를 입력하세요(sudoers 구성 필요).",
|
||
"term_lib_failed": "터미널 라이브러리를 로드하지 못했습니다.",
|
||
"files_up": "한 레벨 위로",
|
||
"files_go": "Go",
|
||
"files_mkdir": "New folder",
|
||
"files_name": "이름",
|
||
"files_size": "크기",
|
||
"files_perms": "Mode",
|
||
"files_mtime": "Modified",
|
||
"files_rename": "Rename",
|
||
"files_rename_prompt": "New name:",
|
||
"files_empty": "빈 디렉토리",
|
||
"files_error": "디렉터리를 나열하지 못했습니다.",
|
||
"read_failed": "파일을 읽지 못했습니다.",
|
||
"save_failed": "파일을 저장하지 못했습니다.",
|
||
"rename_failed": "이름 바꾸기 실패",
|
||
"delete_failed": "삭제 실패",
|
||
"delete_confirm": "이 항목을 삭제하시겠습니까?",
|
||
"mkdir_prompt": "새 폴더 이름:",
|
||
"mkdir_failed": "폴더를 생성하지 못했습니다.",
|
||
"file_saved": "파일이 저장되었습니다",
|
||
"binary_warn": "바이너리 파일 — 미리보기 전용",
|
||
"encoding_utf8": "UTF-8 text",
|
||
"truncated": "truncated",
|
||
"full": "full",
|
||
"svc_search_placeholder": "검색 서비스…",
|
||
"svc_name": "서비스",
|
||
"svc_state": "상태",
|
||
"svc_description": "Description",
|
||
"svc_empty": "서비스를 찾을 수 없습니다.",
|
||
"svc_load_failed": "서비스를 로드하지 못했습니다.",
|
||
"svc_action_failed": "작업 실패",
|
||
"svc_confirm": "Run",
|
||
"svc_start": "시작",
|
||
"svc_stop": "중지",
|
||
"svc_restart": "재시작",
|
||
"svc_reload": "Reload",
|
||
"svc_enable": "Enable",
|
||
"svc_disable": "Disable",
|
||
"svc_status": "Status"
|
||
},
|
||
"download": {
|
||
"title": "BetterDesk 에이전트 다운로드",
|
||
"choose_platform": "플랫폼을 선택하세요",
|
||
"choose_platform_hint": "운영 체제와 일치하는 설치 프로그램을 선택하십시오.",
|
||
"download": "다운로드",
|
||
"building": "건물…",
|
||
"failed": "빌드 실패",
|
||
"need_help": "도움이 필요하신가요?",
|
||
"powered_by": "제공:",
|
||
"product_agent_client": "BetterDesk Agent Client — full managed endpoint agent",
|
||
"product_support_agent": "BetterDesk Support Agent — lightweight end-user client",
|
||
"product_rdclient": "BetterDesk RdClient — operator remote desktop client"
|
||
},
|
||
"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": "서버 시계가 동기화되지 않음 — 과금 세션이 차단될 수 있습니다",
|
||
"synced_detail": "과금을 위해 시계가 동기화됨",
|
||
"ntp_servers": "NTP 서버",
|
||
"ntp_servers_hint": "쉼표로 구분된 호스트명 또는 IP. Go 서버(betterdesk-server)에 적용됩니다.",
|
||
"max_skew_ms": "최대 시계 오차 (ms)",
|
||
"require_sync": "과금 세션에 동기화된 시계 필요",
|
||
"trust_os": "직접 쿼리 실패 시 OS NTP 신뢰",
|
||
"trust_os_hint": "UDP NTP가 차단된 경우 systemd-timesyncd/chrony 상태 사용.",
|
||
"save": "NTP 설정 저장",
|
||
"saved": "시계 설정이 저장되었습니다. Go 서버 재시작이 시작되었습니다.",
|
||
"save_restart": "NTP를 저장하고 Go 서버를 재시작하시겠습니까? 활성 세션이 잠시 끊길 수 있습니다.",
|
||
"status_offset": "오프셋",
|
||
"status_server": "NTP 소스",
|
||
"status_os": "OS 시계 동기화",
|
||
"status_error": "마지막 오류",
|
||
"os_yes": "예",
|
||
"os_no": "아니오",
|
||
"checked": "Clock check completed"
|
||
},
|
||
"stats": {
|
||
"active_sessions": "활성 과금 세션",
|
||
"expiring_contracts": "Contracts expiring (30 days)",
|
||
"expiring_hint": "Active assignments with end date within 30 days"
|
||
},
|
||
"packages": {
|
||
"new": "새 패키지",
|
||
"name": "이름",
|
||
"included_minutes": "포함 분",
|
||
"overage_rate": "초과 요금 / 시간",
|
||
"currency": "통화",
|
||
"heading": "지원 패키지",
|
||
"prompt_name": "패키지 이름",
|
||
"create_title": "조직용 새 패키지",
|
||
"create_submit": "패키지 만들기",
|
||
"select_org": "조직",
|
||
"select_org_placeholder": "조직 선택…",
|
||
"description": "Description",
|
||
"edit_title": "Edit package",
|
||
"created": "Package created",
|
||
"updated": "Package updated",
|
||
"deleted": "Package deleted",
|
||
"delete_confirm": "Delete this package? Assignments using it must be removed first."
|
||
},
|
||
"sessions": {
|
||
"device": "장치",
|
||
"operator": "운영자",
|
||
"duration": "시간",
|
||
"phase": "단계",
|
||
"amount": "금액",
|
||
"org": "Organization"
|
||
},
|
||
"reports": {
|
||
"session": "세션",
|
||
"summary": "요약",
|
||
"date": "날짜"
|
||
},
|
||
"contracts": {
|
||
"title": "조직 계약",
|
||
"new": "패키지 할당",
|
||
"org": "조직",
|
||
"package": "패키지",
|
||
"remaining": "남은 분",
|
||
"status": "상태",
|
||
"actions": "작업",
|
||
"suspend": "일시 중지",
|
||
"activate": "활성화",
|
||
"select_org": "조직 선택",
|
||
"select_package": "패키지 선택",
|
||
"no_orgs": "조직을 찾을 수 없습니다",
|
||
"no_packages": "먼저 패키지를 만드세요",
|
||
"assignments_title": "Package assignments",
|
||
"target": "Target",
|
||
"hourly_rate": "Hourly rate",
|
||
"custom_overage": "Custom overage rate / h",
|
||
"validity": "Validity",
|
||
"valid_from": "Valid from",
|
||
"valid_until": "Valid until",
|
||
"edit_title": "Edit assignment",
|
||
"updated": "Assignment updated",
|
||
"deleted": "Assignment removed",
|
||
"delete_confirm": "Remove this package assignment?"
|
||
},
|
||
"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": "할당",
|
||
"target_type": "Target type",
|
||
"target": "Target",
|
||
"select_target": "Select target…",
|
||
"missing_fields": "Select target and package",
|
||
"optional": "Optional",
|
||
"success": "Package assigned"
|
||
},
|
||
"form": {
|
||
"cancel": "취소"
|
||
},
|
||
"notifications": {
|
||
"title": "Email notifications",
|
||
"desc": "Notify operators by email when devices in their folders or groups submit help requests.",
|
||
"smtp_status": "SMTP status",
|
||
"smtp_configured": "SMTP is configured",
|
||
"smtp_missing": "SMTP is not configured — set it up in Settings → Email",
|
||
"smtp_link": "Open SMTP settings",
|
||
"help_requests_enabled": "Send email for new help requests",
|
||
"notify_assigned_operators": "Notify operators assigned to the device folder or group",
|
||
"fallback_alert_email": "Use alert email when no operator address is available",
|
||
"include_folder_in_subject": "Include folder name in the email subject",
|
||
"save": "Save notification settings",
|
||
"saved": "Notification settings saved"
|
||
},
|
||
"targets": {
|
||
"org": "Organization",
|
||
"device_group": "Device group",
|
||
"folder": "Folder",
|
||
"device": "Device"
|
||
},
|
||
"actions": {
|
||
"edit": "Edit",
|
||
"delete": "Delete",
|
||
"save": "Save",
|
||
"refresh": "Refresh"
|
||
},
|
||
"filters": {
|
||
"target_type": "Target type",
|
||
"all_types": "All types",
|
||
"all_statuses": "All statuses",
|
||
"all_orgs": "All organizations",
|
||
"organization": "Organization",
|
||
"search": "Search",
|
||
"search_placeholder": "Name or package…",
|
||
"device_id_placeholder": "Device ID"
|
||
},
|
||
"status": {
|
||
"active": "Active",
|
||
"suspended": "Suspended",
|
||
"pending_report": "Pending report",
|
||
"closed": "Closed"
|
||
}
|
||
},
|
||
"remote_dashboard": {
|
||
"title": "원격 데스크톱 클라이언트",
|
||
"subtitle": "브라우저에서 장치에 연결",
|
||
"search_placeholder": "ID, 호스트명 또는 메모로 검색…",
|
||
"filter_all": "전체",
|
||
"filter_online": "온라인",
|
||
"filter_offline": "오프라인",
|
||
"col_id": "장치 ID",
|
||
"col_hostname": "호스트명",
|
||
"col_platform": "플랫폼",
|
||
"col_status": "상태",
|
||
"col_last_seen": "마지막 확인",
|
||
"connect": "연결",
|
||
"empty": "필터와 일치하는 장치가 없습니다",
|
||
"loading": "장치 불러오는 중…",
|
||
"error_load": "장치를 불러오지 못했습니다",
|
||
"open_panel": "콘솔 열기",
|
||
"devices_count": "{count}개 장치",
|
||
"retry": "다시 시도",
|
||
"nav_address_book": "주소록",
|
||
"nav_folders": "폴더",
|
||
"nav_groups": "그룹",
|
||
"nav_tags": "태그",
|
||
"quick_connect": "원격 데스크톱 제어",
|
||
"quick_connect_placeholder": "원격 ID 입력…",
|
||
"view_grid": "그리드 보기",
|
||
"view_list": "목록 보기",
|
||
"sync_now": "새로고침",
|
||
"last_sync": "업데이트됨",
|
||
"status_ready": "준비됨",
|
||
"sync_error": "동기화 오류",
|
||
"unassigned": "미할당",
|
||
"no_groups": "그룹 없음",
|
||
"no_tags": "태그 없음",
|
||
"collapse_devices": "장치 목록 접기",
|
||
"expand_devices": "장치 목록 펼치기",
|
||
"open_settings": "설정"
|
||
},
|
||
"rdclient_login": {
|
||
"title": "원격 데스크톱 클라이언트",
|
||
"subtitle": "기기에 연결하려면 로그인하세요",
|
||
"username_placeholder": "사용자 이름",
|
||
"password_placeholder": "비밀번호",
|
||
"remember_me": "이 기기에서 로그인 정보 저장",
|
||
"sign_in": "로그인",
|
||
"totp_title": "2단계 인증",
|
||
"totp_subtitle": "인증 앱의 6자리 코드를 입력하세요",
|
||
"verify": "확인",
|
||
"back_to_login": "로그인으로 돌아가기",
|
||
"open_console_login": "콘솔 로그인 열기",
|
||
"session_expired": "세션이 만료되었습니다. 다시 로그인하세요.",
|
||
"fill_all_fields": "모든 항목을 입력하세요",
|
||
"invalid_credentials": "잘못된 자격 증명",
|
||
"network_error": "네트워크 오류",
|
||
"enter_6_digits": "6자리 모두 입력하세요",
|
||
"invalid_code": "잘못된 코드"
|
||
},
|
||
"rdclient_settings": {
|
||
"title": "RdClient 설정",
|
||
"open": "설정",
|
||
"server_url": "패널 URL",
|
||
"tls_strict": "엄격 TLS",
|
||
"sign_out": "로그아웃",
|
||
"reset_client": "클라이언트 재설정",
|
||
"discovery_refresh": "새로고침",
|
||
"discovery_empty": "로컬 네트워크에서 서버를 찾을 수 없습니다"
|
||
},
|
||
"mobile_nav": {
|
||
"label": "주요 탐색",
|
||
"home": "홈",
|
||
"devices": "장치",
|
||
"remote": "원격",
|
||
"chat": "채팅",
|
||
"more": "더보기"
|
||
},
|
||
"mesh": {
|
||
"settings_title": "MeshCentral Compatibility",
|
||
"enabled": "MeshCentral layer enabled",
|
||
"disabled": "MeshCentral layer disabled",
|
||
"server_id": "Server ID (for .msh)",
|
||
"download_msh": "Download MeshAgent .msh",
|
||
"agents_online": "Mesh agents online",
|
||
"device_type": "Mesh Agent",
|
||
"transport_mesh": "MeshCentral KVM",
|
||
"linked_peer": "Linked device",
|
||
"link_peer": "Link to RustDesk/CDAP peer on same host",
|
||
"onboarding_title": "MeshAgent onboarding",
|
||
"onboarding_body": "Download the .msh file, install MeshAgent on endpoints, and devices appear as mesh_agent in the device list.",
|
||
"run_command": "명령 실행",
|
||
"terminal": "터미널",
|
||
"files": "파일 브라우저",
|
||
"run_command_title": "디바이스에서 명령 실행",
|
||
"command_placeholder": "실행할 명령",
|
||
"command_sent": "에이전트에 명령 전송됨",
|
||
"command_failed": "전송 실패",
|
||
"run_as_shell": "셸에서 실행",
|
||
"terminal_title": "원격 터미널",
|
||
"terminal_unavailable": "터미널 모듈이 로드되지 않음",
|
||
"link_peer_title": "Mesh 에이전트 연결",
|
||
"link_peer_hint": "같은 호스트의 RustDesk 또는 CDAP 피어 ID. 비우면 연결 해제.",
|
||
"link_saved": "연결 업데이트됨",
|
||
"transport_terminal": "Mesh 터미널",
|
||
"transport_files": "Mesh 파일",
|
||
"settings_desc": "MeshAgent 온보딩 및 .msh용 Server ID.",
|
||
"mesh_name": "Mesh 그룹 이름 (.msh)",
|
||
"copy_server_id": "Server ID 복사",
|
||
"copy_server_id_ok": "Server ID 복사됨",
|
||
"enabled_label": "사용",
|
||
"disabled_label": "사용 안 함",
|
||
"share_link": "게스트 데스크톱 링크",
|
||
"share_link_title": "게스트 데스크톱 링크 생성",
|
||
"share_link_hint": "시간 제한 읽기 전용 링크. 패널 계정 없이 원격 데스크톱을 열 수 있습니다.",
|
||
"share_ttl": "유효 시간(분)",
|
||
"share_url": "공유 URL",
|
||
"share_create": "링크 생성",
|
||
"share_created": "게스트 링크 생성됨",
|
||
"port_tcp": "TCP 포트 릴레이",
|
||
"port_forward_title": "MeshAgent 경유 TCP 릴레이",
|
||
"port_connect": "연결",
|
||
"port_connected": "릴레이 준비",
|
||
"port_connecting": "연결 중…",
|
||
"port_closed": "연결 끊김",
|
||
"port_error": "WebSocket 오류",
|
||
"port_invalid": "잘못된 포트",
|
||
"port_send": "보내기",
|
||
"port_send_placeholder": "원격 포트로 텍스트 전송…",
|
||
"port_unavailable": "포트 릴레이 모듈이 로드되지 않음",
|
||
"power_sleep": "절전",
|
||
"power_reset": "재시작",
|
||
"power_confirm": "전원 작업 보내기",
|
||
"power_sent": "전원 명령 전송됨",
|
||
"power_wake": "Wake",
|
||
"power_off": "Power off",
|
||
"filter_mesh": "Mesh agents",
|
||
"port_udp": "UDP port relay",
|
||
"groups_title": "Mesh groups",
|
||
"group_id_placeholder": "Group ID",
|
||
"group_name_placeholder": "Display name",
|
||
"group_add": "Add group",
|
||
"groups_save": "Save groups",
|
||
"groups_empty": "No mesh groups yet.",
|
||
"groups_load_error": "Could not load mesh groups.",
|
||
"groups_saved": "Mesh groups saved",
|
||
"groups_save_error": "Failed to save mesh groups",
|
||
"recordings_title": "Session recordings (server)",
|
||
"recordings_desc": "Mesh desktop sessions captured on the server (.mcrec). CDAP/RustDesk browser recordings stay local unless exported.",
|
||
"recordings_empty": "No server recordings yet.",
|
||
"recordings_load_error": "Could not load recordings.",
|
||
"recording_download": "Download",
|
||
"recording_server_on": "Server recording enabled — reconnecting…",
|
||
"recording_server_off": "Server recording disabled — reconnecting…",
|
||
"cert_missing": "Agent-server certificate not found. Back up mesh_agent_server.pem after agents connect.",
|
||
"cert_ok": "Agent-server certificate present",
|
||
"onboarding_step_msh": "Download the .msh file and set the mesh group name.",
|
||
"onboarding_step_install": "Install unmodified MeshAgent on endpoints using the .msh file.",
|
||
"onboarding_step_verify": "Confirm devices appear as mesh_agent and show online."
|
||
},
|
||
"guest_access": {
|
||
"title": "게스트 원격",
|
||
"subtitle": "임시 접근 — 공유된 장치만",
|
||
"menu": "게스트 액세스 링크",
|
||
"create_title": "게스트 액세스 링크 만들기",
|
||
"create_hint": "시간 제한 RdClient 링크. 수신자는 선택한 장치에만 연결할 수 있습니다 — Console 로그인 및 전체 목록 없음.",
|
||
"devices": "장치",
|
||
"ttl": "유효 시간(분)",
|
||
"label": "라벨(선택)",
|
||
"view_only": "보기 전용",
|
||
"url": "공유 URL",
|
||
"create": "링크 만들기",
|
||
"created": "게스트 링크가 생성됨",
|
||
"invalid_title": "잘못된 게스트 링크",
|
||
"missing_token": "이 게스트 링크에 토큰이 없습니다.",
|
||
"expired": "이 게스트 링크가 잘못되었거나 만료되었습니다.",
|
||
"device_denied": "이 링크가 잘못되었거나 만료되었거나 이 장치를 허용하지 않습니다.",
|
||
"empty": "이 게스트 링크에 장치가 없습니다.",
|
||
"expires": "만료",
|
||
"back_to_list": "게스트 목록으로"
|
||
},
|
||
"ux35": {
|
||
"resize_sidebar": "사이드바 너비 조절",
|
||
"open_menu": "메뉴 열기",
|
||
"theme_mode_hint": "밝게와 어둡게는 기본입니다. 아래에서 색상을 편집하면 사용자 지정이 활성화됩니다.",
|
||
"switch_to_ux35": "UX 3.5로 전환 (베타)",
|
||
"switch_to_classic": "클래식 UI로 전환",
|
||
"beta_badge": "베타",
|
||
"beta_tooltip": "베타 콘솔 레이아웃 — 선택 사항이며 기본값은 클래식 UI입니다."
|
||
}
|
||
}
|