"아직 확인된 전송 내역이 없습니다.":"No delivery has been observed yet.",
"사용자·사용자 정의 그룹·세션·로그·인증서·저장된 인증정보와 장비 내 진단 파일을 삭제합니다. 기본 계정 terauser / terauser만 복원됩니다.":"Deletes users, custom groups, sessions, logs, certificates, credentials and device diagnostic files. Only the default account terauser / terauser is restored.",
"초기화가 완료되면 자동 재부팅됩니다. 설치된 펌웨어는 유지됩니다.":"The device reboots automatically after reset. Installed firmware is retained.",
"연결이 끊어집니다. 재부팅 후 기본 접속 주소에서 terauser / terauser로 로그인하세요.":"The connection will close. After reboot, sign in at the default address using terauser / terauser.",
"사용자·설정·로그·세션·인증서 등 저장 데이터를 모두 삭제하고 자동 재부팅하시겠습니까? 기본 계정 terauser / terauser만 복원됩니다. 이 작업은 되돌릴 수 없습니다.":"Erase all stored users, settings, logs, sessions and certificates, then reboot automatically? Only terauser / terauser is restored. This cannot be undone.",
"공장 초기화가 완료되어 재부팅합니다. 재부팅 후 terauser / terauser로 로그인하세요.":"Factory reset completed. Rebooting. Sign in using terauser / terauser after reboot.",
"저장공간과 RAM은 별개입니다. 사용 가능 공간은 파일시스템 예약 영역을 제외합니다.":"Storage and RAM are separate. Available space excludes filesystem-reserved blocks.",
"시스템 로그 관리":"System Log Management",
"감사 기록 · 보존":"Audit · Preserved",
"삭제 대상: 일반 시스템 이벤트 · 감사 기록 제외":"Delete target: ordinary system events · excluding audit records",
"일반 시스템 이벤트와 보존 대상 감사 기록을 조회합니다. 클리어는 감사 기록을 삭제하지 않습니다.":"View ordinary system events and protected audit records. Clearing does not delete audit records.",
"기간·검색 조건·표시 개수와 관계없이 일반 시스템 이벤트 전체를 삭제합니다. 감사 로그·포트 로그·포트 상태 이벤트는 보존됩니다.":"Delete all ordinary system events regardless of dates, filters, or row limit. Audit, port, and port state records are preserved.",
"감사 기록은 클리어 후에도 이 화면에 남습니다. 새 시스템 로그는 계속 저장되며, 설정 백업에는 로그 원문이 포함되지 않습니다.":"Audit records remain on this page after clearing. New system events continue to be recorded. Configuration backups do not contain logs.",
"상태 변경 기록만 조회·내보내기합니다.":"View and export state changes only.",
"일반 시스템 이벤트 전체를 삭제합니다.\n기간·검색 조건·표시 개수와 관계없이 삭제되며 복구할 수 없습니다. 감사 로그·포트 로그·포트 상태 이벤트는 보존됩니다.\n감사 기록은 클리어 후에도 화면에 남습니다. 내보내기는 현재 검색 조건과 표시 개수 범위만 포함합니다.\n계속하려면 SYSTEM을 정확히 입력하세요.":"Delete all ordinary system events.\nThis is irreversible and ignores dates, filters, and row limits. Audit, port, and port state records are preserved.\nAudit records remain visible. Exports include only the current filters and row limit.\nType SYSTEM exactly to continue.",
"검색 초기화":"Reset filters",
"포트 로그 관리":"Port log management",
"로그 클리어 (삭제)":"Clear logs (delete)",
"삭제 중...":"Deleting...",
"로그를 삭제하고 있습니다.":"Deleting stored logs.",
"위 검색 조건에서 포트 1개를 선택하세요.":"Select one port in the filters above.",
"기간·검색 조건·표시 개수와 관계없이 선택한 포트의 저장 로그 전체를 삭제합니다. 새 로그 수집은 계속됩니다.":"Delete all stored logs for the selected port, regardless of date, filters, or row limit. New logs will continue to be recorded.",
"다른 포트와 시스템·감사·포트 상태 이벤트는 유지됩니다. 설정 백업에는 로그 원문이 포함되지 않습니다.":"Other ports, system logs, audit logs, and port status events are preserved. Configuration backups do not contain log records.",
"포트별 RX/TX 데이터·명령·접속/종료 기록을 조회합니다. UP/DOWN 변경은 포트 상태 이벤트에서 확인하세요.":"View per-port RX/TX data, commands, and session history. See Port Status Events for UP/DOWN changes.",
"포트별 통신 이력 · 내보내기는 현재 검색 조건과 표시 개수 범위에 적용됩니다.":"Port communication history · Export uses the current filters and row limit.",
"포트의 UP/DOWN 및 제공되는 신호 변경 기록을 조회합니다. RX/TX 데이터·명령·접속 기록은 포트 로그에서 확인하세요.":"View UP/DOWN and available signal changes. See Port Logs for RX/TX data, commands, and sessions.",
"상세 검색 · 기간 / 추가 조건":"Advanced search · dates / more filters",
"기간 입력은 브라우저 시간대 기준입니다.":"Date filters use your browser's time zone.",
"현재 조회 결과 요약":"Current query summary",
"조회 결과":"Results",
"건":"items",
"현재 조회된 로그 기준":"Based on the current query",
"현재 검색 조건에 맞는 최신 로그를 표시합니다.":"Showing the latest logs matching the current filters.",
"마지막 조회":"Last query",
"수신 RX":"Receive RX",
"전송 TX":"Transmit TX",
"시간 미설정":"Clock not set",
"원본 시각":"Original timestamp",
"원격 주소":"Remote address",
"감사 ID":"Audit ID",
"원본 메시지":"Original message",
"마스킹 적용":"Redacted",
"상세":"Details",
"로그를 불러오는 중입니다.":"Loading logs…",
"장비에 저장된 로그를 조회하고 있습니다.":"Reading logs stored on the device.",
"조건에 맞는 로그가 없습니다.":"No logs match these filters.",
"검색 조건을 바꾸거나 초기화를 눌러 다시 조회하세요.":"Change the filters or reset to search again.",
"로그를 조회할 수 없습니다.":"Logs are unavailable.",
"장비 연결 상태를 확인한 후 새로고침을 눌러주세요.":"Check the device connection and refresh.",
"조회에 실패했습니다. 마지막으로 받은 결과를 유지합니다. 새로고침으로 다시 시도하세요.":"Query failed. Keeping the last received results. Refresh to retry.",
"로그를 조회할 수 없습니다. 새로고침으로 다시 시도하세요.":"Logs are unavailable. Refresh to retry.",
"로그를 읽는 동안 자동 갱신을 기다립니다. 상세를 닫고 목록 맨 위로 이동하면 다시 갱신됩니다.":"Auto-refresh is paused while reading. Close details and return to the top to resume.",
"읽는 중 · 갱신 대기":"Reading · refresh paused",
"자동 갱신 중 · 5초":"Auto-refresh · every 5s",
"자동 갱신 꺼짐":"Auto-refresh off",
"로그 응답을 확인할 수 없습니다.":"Invalid log response.",
"언어":"Language",
"언어 선택":"Select Language",
"한국어":"Korean",
"영어":"English",
"로그인":"Sign in",
"로그아웃":"Sign out",
"아이디":"Username",
"비밀번호":"Password",
"장치 관리 화면에 접근하려면 계정으로 로그인하세요.":"Sign in with your account to access device management.",
"백엔드 준비 중...":"Backend is starting...",
"백엔드 서비스를 시작하고 있습니다.":"Starting backend services.",
"백엔드 서비스가 준비되었습니다. 로그인할 수 있습니다.":"Backend services are ready. You can sign in.",
"백엔드에서 로그인 정보를 확인하고 있습니다.":"Verifying credentials with the backend.",
"대상에 연결되지 않았습니다.":"Could not connect to the target.",
"도메인 또는 IP[:포트] 예: 192.168.0.233:514":"Domain or IP[:port], e.g. 192.168.0.233:514",
"로그 내보내기에 실패했습니다.":"Log export failed.",
"로그 및 연결 상태 감시가 정상 동작 중입니다.":"Log and connectivity monitoring is operating normally.",
"로그 서버는 도메인 또는 IP[:포트] 형식으로 입력하세요.":"Enter the log server as a domain or IP[:port].",
"로그 원본 타임스탬프 · 표시 시간대:":"Original Log Timestamp · Display Time Zone:",
"로그 저장 공간 사용량이 경고 기준을 초과했습니다.":"Log storage usage exceeded the warning threshold.",
"로그 저장 공간이 부족합니다.":"Log storage is running low.",
"로그 저장 정책을 변경했습니다.":"Log retention policy was updated.",
"로그인 세션이 종료되었습니다. 다시 로그인하세요.":"Your login session ended. Sign in again.",
"로그인 실패 임계값":"Login Failure Threshold",
"로그인 실패 횟수가 기준을 초과하여 계정이 일시 잠겼습니다.":"The account was temporarily locked after too many failed login attempts.",
"로그인에 실패했습니다.":"Sign-in failed.",
"메일 알림 설정을 변경했습니다.":"Email alert settings were updated.",
"메일 알림 테스트를 전송했습니다.":"Email alert test was sent.",
"명령 실행 완료":"Command Completed",
"명령 실행이 거부되었습니다.":"Command execution was denied.",
"명령:":"Command:",
"명령을 실행하고 있습니다...":"Running command...",
"바이트":"Bytes",
"백업 구성을 장비에 복원하고 영구 저장했습니다.":"The backup configuration was restored and saved permanently.",
"백업 설정을 복원 대상으로 불러왔습니다.":"Backup settings were loaded for restoration.",
"백업 파일 암호는 8~64자로 입력하세요.":"Enter a backup password between 8 and 64 characters.",
"백업 파일 암호와 확인 값이 일치하지 않습니다.":"Backup password and confirmation do not match.",
"백엔드 요청에 실패했습니다.":"Backend request failed.",
"버전":"Version",
"별칭 이름":"Alias",
"보류 중인 설정을 장비 구성 파일에 영구 저장합니다.":"Permanently save pending settings to the device configuration.",
"보류된 설정 변경을 취소했습니다.":"Pending configuration changes were discarded.",
"보류된 설정을 장비에 적용했습니다.":"Pending settings were applied to the device.",
"분":"Minutes",
"비워두면 사용하지 않습니다. 예: ^X":"Leave blank to disable, e.g. ^X",
"비워두면 직접 단축키는 사용하지 않습니다. 예: ^B":"Leave blank to disable the direct shortcut, e.g. ^B",
"사용자 계정 설정을 변경했습니다.":"User account settings were updated.",
"사용자 권한 그룹 설정을 변경했습니다.":"User permission group settings were updated.",
"서명된 펌웨어 패키지를 선택하세요.":"Select a signed firmware package.",
"선택한 백업으로 장비 설정을 복원하시겠습니까?":"Restore device settings from the selected backup?",
"선택한 파일이 허용 크기를 초과했습니다.":"The selected file exceeds the allowed size.",
"선택한 펌웨어를 검증한 뒤 장비에 적용합니다. 장비가 재시작될 수 있습니다. 계속하시겠습니까?":"The selected firmware will be verified and applied. The device may restart. Continue?",
"설정 변경":"Configuration Change",
"설정 변경 이벤트: 사용자가 웹 또는 콘솔에서 장비 설정을 변경한 기록":"Configuration change events: changes made through the web UI or console",
"설정 적용이 완료되었습니다.":"Settings were applied.",
"설정을 장비에 적용하고 영구 저장했습니다.":"Settings were applied to the device and saved permanently.",
"수동 날짜와 시간을 올바르게 입력하세요.":"Enter a valid manual date and time.",
"수신 키워드는 포트 로그의 검색어로 조회할 수 있습니다.":"RX keywords can be searched in the port log.",
"수정할 때 비워두면 기존 비밀번호를 유지합니다.":"Leave blank while editing to keep the current password.",
"시리얼 데이터를 처리했습니다.":"Serial data was processed.",
"시리얼 링크 DOWN":"Serial Link DOWN",
"시리얼 명령 입력":"Serial Command Input",
"시리얼 포트 설정 변경을 준비했습니다.":"Serial port configuration changes are staged.",
"시리얼 포트의 DCD/DSR/CTS 상태 변경을 조회합니다. 수신 키워드 감지는 포트 로그에서 조회합니다.":"View DCD/DSR/CTS changes for serial ports. View RX keyword detections in the port log.",
"시스템 로그 - 로그 서버":"System Log - Log Server",
"시스템 로그 - 로그 이벤트":"System Log - Log Events",
"시스템 시작/재시작/로그인 실패, 설정 변경, 포트 운영 세션 이벤트의 저장 위치를 선택합니다.":"Select where system startup, restart, login failure, configuration change, and port session events are stored.",
"펌웨어 업데이트를 요청했습니다.":"Firmware update was requested.",
"포트 상태 요약":"Port Status Summary",
"포트 설정 > 고급 설정의 Alarm 키워드 사용":"Use Alarm Keyword under Port Settings > Advanced Settings",
"포트 설정 화면에서 선택한 채널을 백엔드에서 재시작합니다.":"Restart the channels selected on the Port Settings page through the backend.",
"포트 세션 연결 중":"Connecting Port Session",
"포트 접속 세션이 시작되었습니다.":"Port access session started.",
"포트 접속 세션이 종료되었습니다.":"Port access session ended.",
"포트 표시":"Show Port",
"포트를 생략하면 표준 Syslog 포트 514를 사용합니다.":"If omitted, standard Syslog port 514 is used.",
"포트별 시리얼 이벤트":"Serial Events by Port",
"핑 응답 타임아웃":"Ping Reply Timeout",
"핑 테스트":"Ping Test",
"핑 패킷 크기":"Ping Packet Size",
"핑 횟수":"Ping Count",
"허용 목록 적용 전 현재 PC 주소를 반드시 등록하세요":"Register the current PC address before enabling the allow list",
"허용 목록에 현재 관리 PC가 없으면 웹 접속이 즉시 차단될 수 있습니다. 적용하시겠습니까?":"If the current management PC is not on the allow list, web access may be blocked immediately. Apply?",
"허용 목록을 사용하려면 먼저 현재 관리 PC를 허용하는 규칙을 추가하세요.":"Add a rule allowing the current management PC before enabling the allow list.",
"현재 경로:":"Current Path:",
"현재 설정을 영구 저장했습니다.":"Current settings were saved permanently.",
"현재 장비의 시스템 재시작 작업을 요청합니다.":"Request a system restart for the current device.",
"현재 터미널 세션만 종료합니다.":"Close only the current terminal session.",
"Administrators (관리자)":"Administrators",
"ASCII 문자열 입력":"Enter ASCII Text",
"CSR 파일을 생성했습니다.":"CSR file was created.",
"Ctrl+] 후 T/Q/B/I/? 명령을 사용합니다.":"Press Ctrl+] followed by T/Q/B/I/? commands.",
"DCD 상태 변경":"DCD Status Change",
"DCD, DSR, CTS 또는 메시지":"DCD, DSR, CTS, or Message",
"Interface 1 장애 시 Interface 2(eth1)로 전환합니다.":"Fail over to Interface 2 (eth1) if Interface 1 fails.",
"Interface 1(eth0)을 우선 사용합니다.":"Prefer Interface 1 (eth0).",
"Interface 1과 Interface 2를 각각 독립된 네트워크 인터페이스로 사용하며 자동 전환하지 않습니다.":"Use Interface 1 and Interface 2 independently without automatic failover.",
"Interface 1을 항상 우선 사용하고 장애 감지 시 Interface 2로 전환합니다. 두 인터페이스는 서로 다른 IPv4 대역과 게이트웨이가 필요합니다.":"Always prefer Interface 1 and fail over to Interface 2 on a detected fault. The interfaces require separate IPv4 subnets and gateways.",
constportSettings=label.match(/^포트 설정 \/ Port (\d+)$/);
if(portSettings){return"Port Settings / Port "+portSettings[1];}
constportDebug=label.match(/^포트 디버그 \/ Port (\d+)$/);
if(portDebug){return"Port Debug / Port "+portDebug[1];}
returnlabel;
}
constpatterns=[
[/^시스템 이벤트 (\d+)건을 삭제했습니다\. 감사 기록은 보존됩니다\.$/,"Deleted $1 system events. Audit records are preserved."],
[/^삭제 대상: (CH\d{2}) · 저장된 통신 로그 전체$/,"Delete target: $1 · All stored communication logs"],
[/^(CH\d{2})의 저장된 포트 로그 전체를 삭제합니다\.[\s\S]+을 정확히 입력하세요\.$/,"Delete all stored port logs for $1.\nThis permanently deletes RX/TX, command, and session records regardless of date, filters, or row limit.\nExport required records first. Exports use the current filters and row limit. Configuration backups do not contain log records.\nOther ports, system logs, audit logs, and port status events are preserved. New logging continues.\nType $1 exactly to continue."],
[/^(CH\d{2}) 포트 로그 (\d+)건을 삭제했습니다\. 이후 발생하는 로그는 계속 저장됩니다\.$/,"Deleted $2 port log records for $1. New logs will continue to be recorded."],
[/^최대 (\d+)건 표시 · 전체 저장 건수가 아닙니다\.$/,"Showing up to $1 items · not the total stored."],
[/^장비 시간대를 확인할 수 없습니다\. 표시 시간대: (.+)$/,"Device time zone unavailable. Display time zone: $1"],
[/^장비 시각 정보를 일부 확인할 수 없습니다\. 표시 시간대: (.+)$/,"Device clock information is incomplete. Display time zone: $1"],
[/^(.+) 연결이 끊어졌습니다\.$/,"$1 connection was lost."],
[/^(.+) 정보를 찾을 수 없습니다\.$/,"$1 information was not found."],
[/^(.+) 포트 정보를 찾을 수 없습니다\.$/,"Port information for $1 was not found."]
];
constfragments=[
["로그 원본 타임스탬프 · 표시 시간대:","Original Log Timestamp · Display Time Zone:"],
["). 로그 날짜는 API에 저장된 원본 시각이며 브라우저 현재 날짜로 교체하지 않습니다.","). Log dates use the original API timestamp and are not replaced with the browser's current date."],
[" 그룹의 역할과 권한을 수정합니다."," Edit this group's role and permissions."],
[" 사용자의 새 비밀번호를 설정합니다. 저장하면 기존 로그인 세션이 해제됩니다."," Set a new password for this user. Saving terminates existing login sessions."],
[" 사용자의 비밀번호를 재설정했습니다."," user's password was reset."],
[" 사용자를 삭제했습니다."," user was deleted."],
[" 사용자를 추가했습니다."," user was added."],
[" 사용자 정보를 수정했습니다."," user information was updated."],
[" 그룹을 삭제했습니다."," group was deleted."],
[" 그룹을 수정했습니다."," group was updated."],
[" 그룹을 추가했습니다."," group was added."],
[" 인증서를 삭제하시겠습니까?"," Delete this certificate?"],
[" 규칙을 삭제하시겠습니까?"," Delete this rule?"],
[" 정보를 찾을 수 없습니다."," information was not found."],
[" 포트 정보를 찾을 수 없습니다."," port information was not found."],
[" 닫기"," Close"],
["%로 경고 기준 ","% of warning threshold "],
["%에 도달했습니다.","% reached."],
["기존 값을 유지하려면 비워두세요","Leave blank to keep the current value"],
["Local 인증으로 안전하게 전환","Safely fall back to local authentication"],