From 2f8f77cb893c018f11ce2a3d54f28338816ce6b1 Mon Sep 17 00:00:00 2001 From: X Date: Fri, 23 May 2025 21:49:17 +0900 Subject: [PATCH 1/7] =?UTF-8?q?=EB=B2=88=EC=97=AD=20=EC=B6=94=EA=B0=80,=20?= =?UTF-8?q?=EC=A0=95=EB=A0=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/i18n/locales/ko.ts | 102 ++++++++++++++++++++++++++++++++++--- 1 file changed, 94 insertions(+), 8 deletions(-) diff --git a/web/src/i18n/locales/ko.ts b/web/src/i18n/locales/ko.ts index 5533075..4509139 100644 --- a/web/src/i18n/locales/ko.ts +++ b/web/src/i18n/locales/ko.ts @@ -47,7 +47,9 @@ const ko = { finishBtn: '완료' }, screen: { + title: '화면', video: '비디오 모드', + videoDirectTips: '이 모드를 사용하려면 "설정 > 장치"에서 HTTPS를 활성화하세요', resolution: '해상도', auto: '자동 설정', autoTips: @@ -65,6 +67,7 @@ const ko = { resetHdmi: 'HDMI 초기화' }, keyboard: { + title: '키보드', paste: '붙여넣기', tips: '표준 키보드 문자 및 기호만 지원됩니다', placeholder: '입력하세요', @@ -73,6 +76,8 @@ const ko = { ctrlaltdel: 'Ctrl+Alt+Del' }, mouse: { + title: '마우스', + cursor: '커서 스타일', default: '기본 커서', pointer: '포인터 커서', cell: '셀 커서', @@ -82,8 +87,20 @@ const ko = { mode: '마우스 모드', absolute: '절대값 모드', relative: '상대값 모드', + speed: '휠 속도', + fast: '빠름', + slow: '느림', requestPointer: '상대값 모드를 사용 중입니다. 커서를 찾으려면 데스크톱을 클릭하세요.', - resetHid: 'HID 초기화' + resetHid: 'HID 초기화', + hidOnly: { + title: 'HID 전용 모드', + desc: '마우스와 키보드가 응답하지 않고 HID 초기화도 도움이 되지 않는다면, NanoKVM과 장치 간의 호환성 문제일 수 있습니다. 더 나은 호환성을 위해 HID 전용 모드를 활성화해 보세요.', + tip1: 'HID 전용 모드를 활성화하면 가상 U-디스크와 가상 네트워크가 언마운트됩니다', + tip2: 'HID 전용 모드에서는 이미지 마운트가 비활성화됩니다', + tip3: '모드 전환 후 NanoKVM이 자동으로 재부팅됩니다', + enable: 'HID 전용 모드 활성화', + disable: 'HID 전용 모드 비활성화' + } }, image: { title: '이미지', @@ -130,6 +147,16 @@ const ko = { serialPort: '시리얼 포트', serialPortPlaceholder: '시리얼 포트를 입력하세요', baudrate: 'Baud rate', + parity: '패리티', + parityNone: '없음', + parityEven: '짝수', + parityOdd: '홀수', + flowControl: '흐름 제어', + flowControlNone: '없음', + flowControlSoft: '소프트', + flowControlHard: '하드', + dataBits: '데이터 비트', + stopBits: '정지 비트', confirm: '확인' }, wol: { @@ -147,10 +174,16 @@ const ko = { }, power: { title: '전원', + showConfirm: '확인', + showConfirmTip: '전원 작업에는 추가 확인이 필요합니다', reset: '리셋', power: '전원', powerShort: '전원 (짧게 누르기)', - powerLong: '전원 (길게 누르기)' + powerLong: '전원 (길게 누르기)', + resetConfirm: '리셋 작업을 진행하시겠습니까?', + powerConfirm: '전원 작업을 진행하시겠습니까?', + okBtn: '네', + cancelBtn: '아니오' }, settings: { title: '설정', @@ -164,14 +197,23 @@ const ko = { image: '이미지 버전', imageTip: 'NanoKVM 시스템 이미지 버전', deviceKey: '장치 키', - community: '커뮤니티' + community: '커뮤니티', + hostname: '호스트명', + hostnameUpdated: '호스트명이 업데이트되었습니다. 적용하려면 재부팅하세요.', + ipType: { + Wired: '유선', + Wireless: '무선', + Other: '기타' + } }, appearance: { title: '디자인', display: '표시', language: '언어', menuBar: '메뉴 바', - menuBarDesc: '메뉴 바에 아이콘을 표시' + menuBarDesc: '메뉴 바에 아이콘을 표시', + webTitle: '웹 제목', + webTitleDesc: '웹 페이지 제목 사용자 지정' }, device: { title: '장치', @@ -197,10 +239,40 @@ const ko = { description: 'SSH 원격 접속 활성화', tip: '활성화하기 전에 강력한 비밀번호를 설정하세요. (계정 - 비밀번호 변경)' }, + tls: { + description: 'HTTPS 프로토콜 활성화', + tip: '주의: HTTPS 사용 시 특히 MJPEG 비디오 모드에서 지연 시간이 증가할 수 있습니다.' + }, + advanced: '고급 설정', + swap: { + title: '스왑', + disable: '비활성화', + description: '스왑 파일 크기 설정', + tip: '이 기능을 활성화하면 SD 카드의 수명이 단축될 수 있습니다!' + }, + mouseJiggler: { + title: '마우스 지글러', + description: '원격 호스트가 절전 모드로 진입하는 것을 방지', + disable: '비활성화', + absolute: '절대값 모드', + relative: '상대값 모드' + }, + mdns: { + description: 'mDNS 검색 서비스 활성화', + tip: '사용하지 않는 경우 끄는 것이 좋습니다' + }, + hdmi: { + description: 'HDMI/모니터 출력 활성화' + }, + hidOnly: 'HID 전용 모드', disk: '가상 디스크', diskDesc: '원격 호스트에서 가상 U-디스크를 마운트합니다.', network: '가상 네트워크', - networkDesc: '원격 호스트에서 가상 네트워크 카드를 마운트합니다.' + networkDesc: '원격 호스트에서 가상 네트워크 카드를 마운트합니다.', + reboot: '재부팅', + rebootDesc: 'NanoKVM을 재부팅하시겠습니까?', + okBtn: '네', + cancelBtn: '아니오' }, tailscale: { title: 'Tailscale', @@ -234,6 +306,7 @@ const ko = { deviceIP: '장치 IP', account: '계정', logout: '로그아웃', + logoutDesc: '정말로 로그아웃 하시겠습니까?', logout2: '정말로 로그아웃 합니까?', uninstall: 'Tailscale 제거', okBtn: '네', @@ -247,19 +320,32 @@ const ko = { available: '업데이트가 가능합니다. 정말로 업데이트 할까요?', updating: '업데이트 시작. 잠시 기다려주세요...', confirm: '확인', - cancel: '취소' + cancel: '취소', + preview: '미리보기 업데이트', + previewDesc: '새로운 기능과 개선 사항에 미리 접근하세요', + previewTip: '미리보기 버전에는 버그나 완성되지 않은 기능이 포함될 수 있으니 주의하세요!' }, account: { title: '계정', - webAccount: 'Web 계정', + webAccount: '웹 계정', password: '비밀번호', updateBtn: '업데이트', - logoutBtn: '로그아웃' + logoutBtn: '로그아웃', + logoutDesc: '정말로 로그아웃 하시겠습니까?', + okBtn: '네', + cancelBtn: '아니오' } }, error: { title: '문제가 발생했습니다.', refresh: '새로고침' + }, + fullscreen: { + toggle: '전체 화면 전환' + }, + menu: { + collapse: '메뉴 접기', + expand: '메뉴 펼치기' } } }; From 9a5ad1dff23dc0517a78572b205123e19cacafd1 Mon Sep 17 00:00:00 2001 From: kmw0410 Date: Fri, 23 May 2025 22:13:24 +0900 Subject: [PATCH 2/7] =?UTF-8?q?=EB=B2=88=EC=97=AD=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/i18n/locales/ko.ts | 272 ++++++++++++++++++------------------- 1 file changed, 129 insertions(+), 143 deletions(-) diff --git a/web/src/i18n/locales/ko.ts b/web/src/i18n/locales/ko.ts index 4509139..841622c 100644 --- a/web/src/i18n/locales/ko.ts +++ b/web/src/i18n/locales/ko.ts @@ -49,13 +49,13 @@ const ko = { screen: { title: '화면', video: '비디오 모드', - videoDirectTips: '이 모드를 사용하려면 "설정 > 장치"에서 HTTPS를 활성화하세요', + videoDirectTips: '이 모드를 사용하려면 "설정 > 장치"에서 HTTPS를 활성화하세요.', resolution: '해상도', - auto: '자동 설정', + auto: '자동', autoTips: '일부 해상도에서는 화면이 왜곡되거나 마우스 동작이 비정상적으로 나타날 수 있습니다. 원격 컴퓨터의 해상도를 변경하거나 자동 설정 대신 수동 설정을 사용해 보세요.', fps: 'FPS', - customizeFps: 'FPS 설정', + customizeFps: '사용자 지정', quality: '품질', qualityLossless: '무손실', qualityHigh: '높음', @@ -87,20 +87,8 @@ const ko = { mode: '마우스 모드', absolute: '절대값 모드', relative: '상대값 모드', - speed: '휠 속도', - fast: '빠름', - slow: '느림', requestPointer: '상대값 모드를 사용 중입니다. 커서를 찾으려면 데스크톱을 클릭하세요.', - resetHid: 'HID 초기화', - hidOnly: { - title: 'HID 전용 모드', - desc: '마우스와 키보드가 응답하지 않고 HID 초기화도 도움이 되지 않는다면, NanoKVM과 장치 간의 호환성 문제일 수 있습니다. 더 나은 호환성을 위해 HID 전용 모드를 활성화해 보세요.', - tip1: 'HID 전용 모드를 활성화하면 가상 U-디스크와 가상 네트워크가 언마운트됩니다', - tip2: 'HID 전용 모드에서는 이미지 마운트가 비활성화됩니다', - tip3: '모드 전환 후 NanoKVM이 자동으로 재부팅됩니다', - enable: 'HID 전용 모드 활성화', - disable: 'HID 전용 모드 비활성화' - } + resetHid: 'HID 초기화' }, image: { title: '이미지', @@ -134,7 +122,7 @@ const ko = { runBackground: '백그라운드에서 실행', runFailed: '실행 실패', attention: '주의', - delDesc: '이 파일을 정말로 삭제합니까?', + delDesc: '이 파일을 정말로 삭제할까요?', confirm: '네', cancel: '아니오', delete: '삭제', @@ -146,15 +134,15 @@ const ko = { serial: '시리얼 포트 터미널', serialPort: '시리얼 포트', serialPortPlaceholder: '시리얼 포트를 입력하세요', - baudrate: 'Baud rate', + baudrate: '전송 속도', parity: '패리티', parityNone: '없음', parityEven: '짝수', parityOdd: '홀수', flowControl: '흐름 제어', flowControlNone: '없음', - flowControlSoft: '소프트', - flowControlHard: '하드', + flowControlSoft: '소프트웨어', + flowControlHard: '하드웨어', dataBits: '데이터 비트', stopBits: '정지 비트', confirm: '확인' @@ -163,32 +151,32 @@ const ko = { title: 'Wake-on-LAN', sending: '패킷 전송 중...', sent: '패킷 전송 완료', - input: 'MAC주소를 입력하세요.', + input: 'MAC주소를 입력하세요', ok: '확인' }, download: { - title: '이미지 다운로드', + title: '이미지 다운로더', input: '원격 이미지 URL을 입력하세요.', ok: '확인', - disabled: '/data 파티션이 읽기 전용(RO) 상태이므로 이미지를 다운로드할 수 없습니다.' + disabled: '/data 파티션이 읽기 전용 상태이므로 이미지를 다운로드할 수 없습니다.' }, power: { title: '전원', showConfirm: '확인', - showConfirmTip: '전원 작업에는 추가 확인이 필요합니다', + showConfirmTip: '전원 작업은 추가 확인이 필요합니다', reset: '리셋', power: '전원', powerShort: '전원 (짧게 누르기)', powerLong: '전원 (길게 누르기)', - resetConfirm: '리셋 작업을 진행하시겠습니까?', - powerConfirm: '전원 작업을 진행하시겠습니까?', + resetConfirm: '리셋 작업을 진행할까요?', + powerConfirm: '전원 작업을 진행할까요?', okBtn: '네', - cancelBtn: '아니오' + cacnelBtn: '아니오', }, settings: { title: '설정', about: { - title: 'NanoKVM 정보', + title: 'NanoKVM에 대하여', information: '정보', ip: 'IP', mdns: 'mDNS', @@ -198,8 +186,8 @@ const ko = { imageTip: 'NanoKVM 시스템 이미지 버전', deviceKey: '장치 키', community: '커뮤니티', - hostname: '호스트명', - hostnameUpdated: '호스트명이 업데이트되었습니다. 적용하려면 재부팅하세요.', + hostname: '호스트 이름', + hostnameUpdated: '호스트 이름이 업데이트되었습니다. 재부팅하여 적용하세요.', ipType: { Wired: '유선', Wireless: '무선', @@ -211,9 +199,7 @@ const ko = { display: '표시', language: '언어', menuBar: '메뉴 바', - menuBarDesc: '메뉴 바에 아이콘을 표시', - webTitle: '웹 제목', - webTitleDesc: '웹 페이지 제목 사용자 지정' + menuBarDesc: '메뉴 바에 아이콘을 표시' }, device: { title: '장치', @@ -230,123 +216,123 @@ const ko = { 1800: '30분', 3600: '1시간' }, - wifi: { - title: 'Wi-Fi', - description: 'Wi-Fi 설정', - setBtn: '설정' - }, - ssh: { - description: 'SSH 원격 접속 활성화', - tip: '활성화하기 전에 강력한 비밀번호를 설정하세요. (계정 - 비밀번호 변경)' - }, - tls: { - description: 'HTTPS 프로토콜 활성화', - tip: '주의: HTTPS 사용 시 특히 MJPEG 비디오 모드에서 지연 시간이 증가할 수 있습니다.' - }, - advanced: '고급 설정', - swap: { - title: '스왑', - disable: '비활성화', - description: '스왑 파일 크기 설정', - tip: '이 기능을 활성화하면 SD 카드의 수명이 단축될 수 있습니다!' - }, - mouseJiggler: { - title: '마우스 지글러', - description: '원격 호스트가 절전 모드로 진입하는 것을 방지', - disable: '비활성화', - absolute: '절대값 모드', - relative: '상대값 모드' - }, - mdns: { - description: 'mDNS 검색 서비스 활성화', - tip: '사용하지 않는 경우 끄는 것이 좋습니다' - }, - hdmi: { - description: 'HDMI/모니터 출력 활성화' - }, - hidOnly: 'HID 전용 모드', - disk: '가상 디스크', - diskDesc: '원격 호스트에서 가상 U-디스크를 마운트합니다.', - network: '가상 네트워크', - networkDesc: '원격 호스트에서 가상 네트워크 카드를 마운트합니다.', - reboot: '재부팅', - rebootDesc: 'NanoKVM을 재부팅하시겠습니까?', - okBtn: '네', - cancelBtn: '아니오' + wifi: { + title: 'Wi-Fi', + description: 'Wi-Fi 설정', + setBtn: '설정' }, - tailscale: { - title: 'Tailscale', - memory: { - title: '메모리 최적화', - tip: '메모리 사용량이 제한을 초과하면 가비지 컬렉션이 더 적극적으로 실행되어 메모리를 확보하려고 시도합니다. Tailscale을 사용할 경우 50MB로 설정하는 것이 좋습니다. 변경 사항을 적용하려면 Tailscale을 다시 시작해야 합니다.', - disable: '비활성화' - }, - restart: '정말로 Tailscale을 다시 시작하시겠습니까?', - stop: '정말로 Tailscale을 중지하시겠습니까?', - stopDesc: 'Tailscale에서 로그아웃하고 자동 시작을 비활성화합니다.', - loading: '불러오는 중...', - notInstall: 'Tailscale이 없습니다. 설치해주세요.', - install: '설치', - installing: '설치중', - failed: '설치 실패', - retry: '새로고침하고 다시 시도하거나, 수동으로 설치하세요', - download: '다운로드 중 :', - package: '패키지 설치', - unzip: '압축 해제', - upTailscale: 'tailscale을 NanoKVM 의 다음 경로에 업로드 했습니다. : /usr/bin/', - upTailscaled: 'tailscaled을 NanoKVM 의 다음 경로에 업로드 했습니다. : /usr/sbin/', - refresh: '현재 페이지 새로고침', - notLogin: - '이 기기는 현재 연동 되지 않았습니다. 로그인해서 계정에 이 장치를 연동하세요.', - urlPeriod: '이 주소는 10분간 유효합니다.', - login: '로그인', - loginSuccess: '로그인 성공', - enable: 'Tailscale 활성화', - deviceName: '장치 이름', - deviceIP: '장치 IP', - account: '계정', - logout: '로그아웃', - logoutDesc: '정말로 로그아웃 하시겠습니까?', - logout2: '정말로 로그아웃 합니까?', - uninstall: 'Tailscale 제거', - okBtn: '네', - cancelBtn: '아니오' + ssh: { + description: 'SSH 원격 접속 활성화', + tip: '활성화하기 전에 강력한 비밀번호를 설정하세요. (계정 - 비밀번호 변경)' }, - update: { - title: '업데이트 확인', - queryFailed: '버전 확인 실패', - updateFailed: '업데이트 실패, 재시도하세요.', - isLatest: '이미 최신 버전입니다.', - available: '업데이트가 가능합니다. 정말로 업데이트 할까요?', - updating: '업데이트 시작. 잠시 기다려주세요...', - confirm: '확인', - cancel: '취소', - preview: '미리보기 업데이트', - previewDesc: '새로운 기능과 개선 사항에 미리 접근하세요', - previewTip: '미리보기 버전에는 버그나 완성되지 않은 기능이 포함될 수 있으니 주의하세요!' + tls: { + description: 'HTTPS 프로트콜 활성화', + tip: '주의: HTTPS를 사용하면 지연 시간이 늘어날 수 있으며, 특히 MJPEG 비디오 모드에서 그 영향이 클 수 있습니다.' }, - account: { - title: '계정', - webAccount: '웹 계정', - password: '비밀번호', - updateBtn: '업데이트', - logoutBtn: '로그아웃', - logoutDesc: '정말로 로그아웃 하시겠습니까?', - okBtn: '네', - cancelBtn: '아니오' - } + advanced: '고급 설정', + swap: { + title: '스왑', + disable: '비활성화', + description: '스왑 파일의 사이즈를 설정하세요', + tip: "이 기능을 활성화하면 SD카드의 수명이 단축될 수 있습니다!" + }, + mouseJiggler: { + title: '마우스 흔들기', + description: '원격 호스트가 절전 모드로 전환되는 것을 방지합니다', + disable: '비활성화', + absolute: '절대값 모드', + relative: '상대값 모드' + }, + mdns: { + description: 'mDNS 탐색 서비스 활성화', + tip: '필요하지 않은 경우 비활성화하세요.' + }, + hdmi: { + description: 'HDMI/모니터 출력 활성화' + }, + hidOnly: 'HID 전용 모드', + disk: '가상 디스크', + diskDesc: '원격 호스트에서 가상 USB를 마운트합니다.', + network: '가상 네트워크', + networkDesc: '원격 호스트에서 가상 네트워크 카드를 마운트합니다.', + reboot: '재부팅', + rebootDesc: 'NanoKVM을 재부팅 할까요?', + okBtn: '네', + cancelBtn: '아니오' }, - error: { - title: '문제가 발생했습니다.', - refresh: '새로고침' + tailscale: { + title: 'Tailscale', + memory: { + title: '메모리 최적화', + tip: '메모리 사용량이 제한을 초과하면 가비지 컬렉션이 더 적극적으로 실행되어 메모리를 확보하려고 시도합니다. Tailscale을 사용할 경우 50MB로 설정하는 것이 좋습니다. 변경 사항을 적용하려면 Tailscale을 다시 시작해야 합니다.', + disable: '비활성화' + }, + restart: '정말로 Tailscale을 다시 시작하시겠습니까?', + stop: '정말로 Tailscale을 중지하시겠습니까?', + stopDesc: 'Tailscale에서 로그아웃하고 자동 시작을 비활성화합니다.', + loading: '불러오는 중...', + notInstall: 'Tailscale이 없습니다. 설치해주세요.', + install: '설치', + installing: '설치중', + failed: '설치 실패', + retry: '새로고침하고 다시 시도하거나, 수동으로 설치하세요', + download: '다운로드 중 :', + package: '패키지 설치', + unzip: '압축 해제', + upTailscale: 'tailscale을 NanoKVM 의 다음 경로에 업로드 했습니다. : /usr/bin/', + upTailscaled: 'tailscaled을 NanoKVM 의 다음 경로에 업로드 했습니다. : /usr/sbin/', + refresh: '현재 페이지 새로고침', + notLogin: + '이 기기는 현재 연동 되지 않았습니다. 로그인해서 계정에 이 장치를 연동하세요.', + urlPeriod: '이 주소는 10분간 유효합니다.', + login: '로그인', + loginSuccess: '로그인 성공', + enable: 'Tailscale 활성화', + deviceName: '장치 이름', + deviceIP: '장치 IP', + account: '계정', + logout: '로그아웃', + logout2: '정말로 로그아웃 할까요?', + uninstall: 'Tailscale 제거', + okBtn: '네', + cancelBtn: '아니오' }, - fullscreen: { - toggle: '전체 화면 전환' + update: { + title: '업데이트 확인', + queryFailed: '버전 확인 실패', + updateFailed: '업데이트 실패, 재시도하세요.', + isLatest: '이미 최신 버전입니다.', + available: '업데이트가 가능합니다. 정말로 업데이트 할까요?', + updating: '업데이트 시작. 잠시 기다려주세요...', + confirm: '확인', + cancel: '취소', + preview: '미리보기 업데이트', + preveiwDesc: '새 기능과 개선 사항을 미리 사용해 보세요', + previewTip: + '미리보기 버전에는 버그나 불완전한 기능이 포함되어 있을 수 있습니다!' }, - menu: { - collapse: '메뉴 접기', - expand: '메뉴 펼치기' + account: { + title: '계정', + webAccount: '웹 계정 이름', + password: '비밀번호', + updateBtn: '변경', + logoutBtn: '로그아웃', + logoutDesc: '정말로 로그아웃 할까요?', + okBtn: '네', + cancelBtn: '아니오' } + }, + error: { + title: '문제가 발생했습니다.', + refresh: '새로고침' + }, + fullscreen: { + toggle: '전체 화면 전환' + }, + menu: { + collapse: '메뉴 축소', + expand: '메뉴 확장' + } } }; From 4499f9ed445429b4380594e11f7e69822c64e582 Mon Sep 17 00:00:00 2001 From: X Date: Fri, 23 May 2025 22:23:12 +0900 Subject: [PATCH 3/7] =?UTF-8?q?kmw0410,=20U-=EB=94=94=EC=8A=A4=ED=81=AC=20?= =?UTF-8?q?=EB=B2=88=EC=97=AD=20=EC=88=98=EC=A0=95=20=EB=B0=8F=20=EA=B8=B0?= =?UTF-8?q?=ED=83=80=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/i18n/locales/ko.ts | 268 +++++++++++++++++++------------------ 1 file changed, 141 insertions(+), 127 deletions(-) diff --git a/web/src/i18n/locales/ko.ts b/web/src/i18n/locales/ko.ts index 841622c..c2bbe76 100644 --- a/web/src/i18n/locales/ko.ts +++ b/web/src/i18n/locales/ko.ts @@ -49,13 +49,13 @@ const ko = { screen: { title: '화면', video: '비디오 모드', - videoDirectTips: '이 모드를 사용하려면 "설정 > 장치"에서 HTTPS를 활성화하세요.', + videoDirectTips: '이 모드를 사용하려면 "설정 > 장치"에서 HTTPS를 활성화하세요', resolution: '해상도', - auto: '자동', + auto: '자동 설정', autoTips: '일부 해상도에서는 화면이 왜곡되거나 마우스 동작이 비정상적으로 나타날 수 있습니다. 원격 컴퓨터의 해상도를 변경하거나 자동 설정 대신 수동 설정을 사용해 보세요.', fps: 'FPS', - customizeFps: '사용자 지정', + customizeFps: 'FPS 설정', quality: '품질', qualityLossless: '무손실', qualityHigh: '높음', @@ -87,8 +87,20 @@ const ko = { mode: '마우스 모드', absolute: '절대값 모드', relative: '상대값 모드', + speed: '휠 속도', + fast: '빠름', + slow: '느림', requestPointer: '상대값 모드를 사용 중입니다. 커서를 찾으려면 데스크톱을 클릭하세요.', - resetHid: 'HID 초기화' + resetHid: 'HID 초기화', + hidOnly: { + title: 'HID 전용 모드', + desc: '마우스와 키보드가 응답하지 않고 HID 초기화도 도움이 되지 않는다면, NanoKVM과 장치 간의 호환성 문제일 수 있습니다. 더 나은 호환성을 위해 HID 전용 모드를 활성화해 보세요.', + tip1: 'HID 전용 모드를 활성화하면 가상 USB와 가상 네트워크가 언마운트됩니다', + tip2: 'HID 전용 모드에서는 이미지 마운트가 비활성화됩니다', + tip3: '모드 전환 후 NanoKVM이 자동으로 재부팅됩니다', + enable: 'HID 전용 모드 활성화', + disable: 'HID 전용 모드 비활성화' + } }, image: { title: '이미지', @@ -122,7 +134,7 @@ const ko = { runBackground: '백그라운드에서 실행', runFailed: '실행 실패', attention: '주의', - delDesc: '이 파일을 정말로 삭제할까요?', + delDesc: '이 파일을 정말로 삭제합니까?', confirm: '네', cancel: '아니오', delete: '삭제', @@ -141,8 +153,8 @@ const ko = { parityOdd: '홀수', flowControl: '흐름 제어', flowControlNone: '없음', - flowControlSoft: '소프트웨어', - flowControlHard: '하드웨어', + flowControlSoft: '소프트', + flowControlHard: '하드', dataBits: '데이터 비트', stopBits: '정지 비트', confirm: '확인' @@ -151,32 +163,32 @@ const ko = { title: 'Wake-on-LAN', sending: '패킷 전송 중...', sent: '패킷 전송 완료', - input: 'MAC주소를 입력하세요', + input: 'MAC주소를 입력하세요.', ok: '확인' }, download: { - title: '이미지 다운로더', + title: '이미지 다운로드', input: '원격 이미지 URL을 입력하세요.', ok: '확인', - disabled: '/data 파티션이 읽기 전용 상태이므로 이미지를 다운로드할 수 없습니다.' + disabled: '/data 파티션이 읽기 전용(RO) 상태이므로 이미지를 다운로드할 수 없습니다.' }, power: { title: '전원', showConfirm: '확인', - showConfirmTip: '전원 작업은 추가 확인이 필요합니다', + showConfirmTip: '전원 작업에는 추가 확인이 필요합니다', reset: '리셋', power: '전원', powerShort: '전원 (짧게 누르기)', powerLong: '전원 (길게 누르기)', - resetConfirm: '리셋 작업을 진행할까요?', - powerConfirm: '전원 작업을 진행할까요?', + resetConfirm: '리셋 작업을 진행하시겠습니까?', + powerConfirm: '전원 작업을 진행하시겠습니까?', okBtn: '네', - cacnelBtn: '아니오', + cancelBtn: '아니오' }, settings: { title: '설정', about: { - title: 'NanoKVM에 대하여', + title: 'NanoKVM 정보', information: '정보', ip: 'IP', mdns: 'mDNS', @@ -187,7 +199,7 @@ const ko = { deviceKey: '장치 키', community: '커뮤니티', hostname: '호스트 이름', - hostnameUpdated: '호스트 이름이 업데이트되었습니다. 재부팅하여 적용하세요.', + hostnameUpdated: '호스트 이름이 업데이트되었습니다. 적용하려면 재부팅하세요.', ipType: { Wired: '유선', Wireless: '무선', @@ -199,7 +211,9 @@ const ko = { display: '표시', language: '언어', menuBar: '메뉴 바', - menuBarDesc: '메뉴 바에 아이콘을 표시' + menuBarDesc: '메뉴 바에 아이콘을 표시', + webTitle: '웹 제목', + webTitleDesc: '웹 페이지 제목 사용자 지정' }, device: { title: '장치', @@ -216,123 +230,123 @@ const ko = { 1800: '30분', 3600: '1시간' }, - wifi: { - title: 'Wi-Fi', - description: 'Wi-Fi 설정', - setBtn: '설정' - }, - ssh: { - description: 'SSH 원격 접속 활성화', - tip: '활성화하기 전에 강력한 비밀번호를 설정하세요. (계정 - 비밀번호 변경)' - }, - tls: { - description: 'HTTPS 프로트콜 활성화', - tip: '주의: HTTPS를 사용하면 지연 시간이 늘어날 수 있으며, 특히 MJPEG 비디오 모드에서 그 영향이 클 수 있습니다.' - }, - advanced: '고급 설정', - swap: { - title: '스왑', - disable: '비활성화', - description: '스왑 파일의 사이즈를 설정하세요', - tip: "이 기능을 활성화하면 SD카드의 수명이 단축될 수 있습니다!" - }, - mouseJiggler: { - title: '마우스 흔들기', - description: '원격 호스트가 절전 모드로 전환되는 것을 방지합니다', - disable: '비활성화', - absolute: '절대값 모드', - relative: '상대값 모드' + wifi: { + title: 'Wi-Fi', + description: 'Wi-Fi 설정', + setBtn: '설정' + }, + ssh: { + description: 'SSH 원격 접속 활성화', + tip: '활성화하기 전에 강력한 비밀번호를 설정하세요. (계정 - 비밀번호 변경)' + }, + tls: { + description: 'HTTPS 프로토콜 활성화', + tip: '주의: HTTPS 사용 시 특히 MJPEG 비디오 모드에서 지연 시간이 증가할 수 있습니다.' + }, + advanced: '고급 설정', + swap: { + title: '스왑', + disable: '비활성화', + description: '스왑 파일 크기 설정', + tip: '이 기능을 활성화하면 SD 카드의 수명이 단축될 수 있습니다!' + }, + mouseJiggler: { + title: '마우스 흔들기', + description: '원격 호스트가 절전 모드로 진입하는 것을 방지', + disable: '비활성화', + absolute: '절대값 모드', + relative: '상대값 모드' + }, + mdns: { + description: 'mDNS 검색 서비스 활성화', + tip: '사용하지 않는 경우 끄는 것이 좋습니다' + }, + hdmi: { + description: 'HDMI/모니터 출력 활성화' + }, + hidOnly: 'HID 전용 모드', + disk: '가상 디스크', + diskDesc: '원격 호스트에서 가상 USB를 마운트합니다.', + network: '가상 네트워크', + networkDesc: '원격 호스트에서 가상 네트워크 카드를 마운트합니다.', + reboot: '재부팅', + rebootDesc: 'NanoKVM을 재부팅하시겠습니까?', + okBtn: '네', + cancelBtn: '아니오' }, - mdns: { - description: 'mDNS 탐색 서비스 활성화', - tip: '필요하지 않은 경우 비활성화하세요.' + tailscale: { + title: 'Tailscale', + memory: { + title: '메모리 최적화', + tip: '메모리 사용량이 제한을 초과하면 가비지 컬렉션이 더 적극적으로 실행되어 메모리를 확보하려고 시도합니다. Tailscale을 사용할 경우 50MB로 설정하는 것이 좋습니다. 변경 사항을 적용하려면 Tailscale을 다시 시작해야 합니다.', + disable: '비활성화' + }, + restart: '정말로 Tailscale을 다시 시작하시겠습니까?', + stop: '정말로 Tailscale을 중지하시겠습니까?', + stopDesc: 'Tailscale에서 로그아웃하고 자동 시작을 비활성화합니다.', + loading: '불러오는 중...', + notInstall: 'Tailscale이 없습니다. 설치해주세요.', + install: '설치', + installing: '설치중', + failed: '설치 실패', + retry: '새로고침하고 다시 시도하거나, 수동으로 설치하세요', + download: '다운로드 중 :', + package: '패키지 설치', + unzip: '압축 해제', + upTailscale: 'tailscale을 NanoKVM 의 다음 경로에 업로드 했습니다. : /usr/bin/', + upTailscaled: 'tailscaled을 NanoKVM 의 다음 경로에 업로드 했습니다. : /usr/sbin/', + refresh: '현재 페이지 새로고침', + notLogin: + '이 기기는 현재 연동 되지 않았습니다. 로그인해서 계정에 이 장치를 연동하세요.', + urlPeriod: '이 주소는 10분간 유효합니다.', + login: '로그인', + loginSuccess: '로그인 성공', + enable: 'Tailscale 활성화', + deviceName: '장치 이름', + deviceIP: '장치 IP', + account: '계정', + logout: '로그아웃', + logoutDesc: '정말로 로그아웃 하시겠습니까?', + logout2: '정말로 로그아웃 합니까?', + uninstall: 'Tailscale 제거', + okBtn: '네', + cancelBtn: '아니오' }, - hdmi: { - description: 'HDMI/모니터 출력 활성화' + update: { + title: '업데이트 확인', + queryFailed: '버전 확인 실패', + updateFailed: '업데이트 실패, 재시도하세요.', + isLatest: '이미 최신 버전입니다.', + available: '업데이트가 가능합니다. 정말로 업데이트 할까요?', + updating: '업데이트 시작. 잠시 기다려주세요...', + confirm: '확인', + cancel: '취소', + preview: '미리보기 업데이트', + previewDesc: '새로운 기능과 개선 사항에 미리 접근하세요', + previewTip: '미리보기 버전에는 버그나 완성되지 않은 기능이 포함될 수 있으니 주의하세요!' }, - hidOnly: 'HID 전용 모드', - disk: '가상 디스크', - diskDesc: '원격 호스트에서 가상 USB를 마운트합니다.', - network: '가상 네트워크', - networkDesc: '원격 호스트에서 가상 네트워크 카드를 마운트합니다.', - reboot: '재부팅', - rebootDesc: 'NanoKVM을 재부팅 할까요?', - okBtn: '네', - cancelBtn: '아니오' + account: { + title: '계정', + webAccount: '웹 계정', + password: '비밀번호', + updateBtn: '업데이트', + logoutBtn: '로그아웃', + logoutDesc: '정말로 로그아웃 하시겠습니까?', + okBtn: '네', + cancelBtn: '아니오' + } }, - tailscale: { - title: 'Tailscale', - memory: { - title: '메모리 최적화', - tip: '메모리 사용량이 제한을 초과하면 가비지 컬렉션이 더 적극적으로 실행되어 메모리를 확보하려고 시도합니다. Tailscale을 사용할 경우 50MB로 설정하는 것이 좋습니다. 변경 사항을 적용하려면 Tailscale을 다시 시작해야 합니다.', - disable: '비활성화' - }, - restart: '정말로 Tailscale을 다시 시작하시겠습니까?', - stop: '정말로 Tailscale을 중지하시겠습니까?', - stopDesc: 'Tailscale에서 로그아웃하고 자동 시작을 비활성화합니다.', - loading: '불러오는 중...', - notInstall: 'Tailscale이 없습니다. 설치해주세요.', - install: '설치', - installing: '설치중', - failed: '설치 실패', - retry: '새로고침하고 다시 시도하거나, 수동으로 설치하세요', - download: '다운로드 중 :', - package: '패키지 설치', - unzip: '압축 해제', - upTailscale: 'tailscale을 NanoKVM 의 다음 경로에 업로드 했습니다. : /usr/bin/', - upTailscaled: 'tailscaled을 NanoKVM 의 다음 경로에 업로드 했습니다. : /usr/sbin/', - refresh: '현재 페이지 새로고침', - notLogin: - '이 기기는 현재 연동 되지 않았습니다. 로그인해서 계정에 이 장치를 연동하세요.', - urlPeriod: '이 주소는 10분간 유효합니다.', - login: '로그인', - loginSuccess: '로그인 성공', - enable: 'Tailscale 활성화', - deviceName: '장치 이름', - deviceIP: '장치 IP', - account: '계정', - logout: '로그아웃', - logout2: '정말로 로그아웃 할까요?', - uninstall: 'Tailscale 제거', - okBtn: '네', - cancelBtn: '아니오' + error: { + title: '문제가 발생했습니다.', + refresh: '새로고침' }, - update: { - title: '업데이트 확인', - queryFailed: '버전 확인 실패', - updateFailed: '업데이트 실패, 재시도하세요.', - isLatest: '이미 최신 버전입니다.', - available: '업데이트가 가능합니다. 정말로 업데이트 할까요?', - updating: '업데이트 시작. 잠시 기다려주세요...', - confirm: '확인', - cancel: '취소', - preview: '미리보기 업데이트', - preveiwDesc: '새 기능과 개선 사항을 미리 사용해 보세요', - previewTip: - '미리보기 버전에는 버그나 불완전한 기능이 포함되어 있을 수 있습니다!' + fullscreen: { + toggle: '전체 화면 전환' }, - account: { - title: '계정', - webAccount: '웹 계정 이름', - password: '비밀번호', - updateBtn: '변경', - logoutBtn: '로그아웃', - logoutDesc: '정말로 로그아웃 할까요?', - okBtn: '네', - cancelBtn: '아니오' + menu: { + collapse: '메뉴 접기', + expand: '메뉴 펼치기' } - }, - error: { - title: '문제가 발생했습니다.', - refresh: '새로고침' - }, - fullscreen: { - toggle: '전체 화면 전환' - }, - menu: { - collapse: '메뉴 축소', - expand: '메뉴 확장' - } } }; From 7f7e31bae9ffa4b19dfeaae7e373a3e7bc029728 Mon Sep 17 00:00:00 2001 From: X Date: Fri, 23 May 2025 22:29:49 +0900 Subject: [PATCH 4/7] =?UTF-8?q?=ED=84=B0=EB=AF=B8=EB=84=90=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/i18n/locales/ko.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web/src/i18n/locales/ko.ts b/web/src/i18n/locales/ko.ts index c2bbe76..115cdf0 100644 --- a/web/src/i18n/locales/ko.ts +++ b/web/src/i18n/locales/ko.ts @@ -55,7 +55,7 @@ const ko = { autoTips: '일부 해상도에서는 화면이 왜곡되거나 마우스 동작이 비정상적으로 나타날 수 있습니다. 원격 컴퓨터의 해상도를 변경하거나 자동 설정 대신 수동 설정을 사용해 보세요.', fps: 'FPS', - customizeFps: 'FPS 설정', + customizeFps: '사용자 지정', quality: '품질', qualityLossless: '무손실', qualityHigh: '높음', @@ -153,8 +153,8 @@ const ko = { parityOdd: '홀수', flowControl: '흐름 제어', flowControlNone: '없음', - flowControlSoft: '소프트', - flowControlHard: '하드', + flowControlSoft: '소프트웨어', + flowControlHard: '하드웨어', dataBits: '데이터 비트', stopBits: '정지 비트', confirm: '확인' From dcb87d0d89922943d0b93ae390009cf348688a88 Mon Sep 17 00:00:00 2001 From: kmw0410 Date: Sun, 25 May 2025 14:17:28 +0900 Subject: [PATCH 5/7] add korean readme --- README.md | 2 +- README_JA.md | 2 +- README_KO.md | 155 +++++++++++++++++++++++++++++++++++++++++++++++++++ README_ZH.md | 2 +- 4 files changed, 158 insertions(+), 3 deletions(-) create mode 100644 README_KO.md diff --git a/README.md b/README.md index 2a4e135..503878c 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ NanoKVM Hardware -English | [中文](./README_ZH.md) | [日本語](./README_JA.md) +English | [中文](./README_ZH.md) | [日本語](./README_JA.md) | [한국어](./README_KO.md) diff --git a/README_JA.md b/README_JA.md index d3512e1..b880048 100644 --- a/README_JA.md +++ b/README_JA.md @@ -11,7 +11,7 @@ NanoKVM ハードウェア -[English](./README.md) | [中文](./README_ZH.md) | 日本語 +[English](./README.md) | [中文](./README_ZH.md) | 日本語 | [한국어](./README_KO.md) diff --git a/README_KO.md b/README_KO.md new file mode 100644 index 0000000..bf3df98 --- /dev/null +++ b/README_KO.md @@ -0,0 +1,155 @@ +NanoKVM +====== + +
+ +![](https://wiki.sipeed.com/hardware/assets/NanoKVM/introduce/NanoKVM_3.png) + +

+ 빠른 시작 + | + 하드웨어 +

+ +[English](./README.md) | [中文](./README_ZH.md) | [日本語](./README_JA.md) | 한국어 + +
+ +> NanoKVM은 [RISC-V](https://en.wikipedia.org/wiki/RISC-V)에 의해 구동됩니다! +> 이슈나 제안이 있는 경우, 여기에서 이슈를 생성하거나 [MaixHub Discussion](https://maixhub.com/discussion/nanokvm)에서 말해주세요. + +## 소개 + +Lichee NanoKVM은 LicheeRV Nano를 기반으로 하는 IP-KVM 제품이며, LicheeRV Nano의 극단적인 크기와 강력한 기능을 상속받습니다. + +Lichee NanoKVM은 세 가지 버전으로 제공됩니다: + +* NanoKVM-Cube Lite는 일정 수준의 DIY 능력을 갖춘 개인 사용자나 대량 수요가 있는 기업 사용자에게 적합한 구성입니다. + +* NanoKVM-Cube Full은 정교한 케이스와 액세서리, 부팅 시 바로 사용할 수 있는 시스템 미러 카드가 포함된 전체 구성으로, 개인 사용자에게 권장됩니다. + +* NanoKVM-PCle는 케이스 내부에 고정할 수 있는 PCIe 브래킷이 내장된 새로운 형태입니다. NanoKVM-PCIe는 NanoKVM Cube를 기반으로 WiFi와 PoE 기능을 선택적으로 추가할 수 있으며, 자체 PCIe 슬롯을 통해 메인보드에서 전원을 공급받을 수 있습니다. 또한 유선 연결(ETH)이 더 안정적이여서 전문적인 요구를 충족할 수 있습니다. + +
+ +![NanoKVM-Cube](https://wiki.sipeed.com/hardware/zh/kvm/assets/NanoKVM/1_intro/NanoKVM_1.jpg) + +![NanoKVM-PCIe](https://wiki.sipeed.com/hardware/assets/NanoKVM/introduce/NanoKVM-PCIe.png) + +
+ +> 보안에 대해 우려하는 사용자는 이 이슈([#301](https://github.com/sipeed/NanoKVM/issues/301))를 읽어볼 수 있습니다. 모든 보안 관련 우려에 대한 설명을 확인할 수 있습니다. +> GitHub는 개방적이고 투명한 플랫폼으로서, 이론바 "백도어" 문제에 대해 논의할 수 있는 공간을 제공합니다. 오픈 소스는 제품을 더 안전하게 만듭니다! + +## 프로젝트 구조 + +``` shell +├── kvmapp # APP 업데이트 패키지 +│ ├── jpg_stream # 매우 오래된 버전에서도 직접 업데이트 가능하도록 호환됨 +│ ├── kvm_new_app # kvm_system 업데이트에 필요한 구성 요소를 트리거함 +│ ├── kvm_system # kvm_system 애플리케이션 +│ ├── server # NanoKVM 프론트 엔드와 백엔드 애플리케이션 +│ └── system # 필요한 시스템 구성 요소 +├── web # NanoKVM 프론트 엔드 +├── server # NanoKVM 백엔드 +├── support # 보조 기능 (이미지 하위 시스템, 시스템 상태, 시스템 업데이트, 화면, 키, 기타.) +│ ├── sg2002 # NanoKVM-Lite/Full/PCIe +│ └── h618 # NanoKVM-Pro +├── ... +``` + +## 기술 사양 + +| 제품 | NanoKVM (Lite) | NanoKVM (Full) | PiKVM V4 | +|------------------- |-------------------------------------- |---------------------------------- |----------------------------------- | +| 컴퓨팅 단위 | LicheeRV Nano(RISCV) | LicheeRV Nano(RISCV) | CM4 (ARM) | +| 해상도 | 1080P @ 60fps | 1080P @ 60fps | 1080P @ 60fps | +| 비디오 인코딩 | MJPEG, H264 | MJPEG, H264 | MJPEG, H264 | +| 비디오 지연 시간 | 90~230ms | 90~230ms | 100~230ms | +| UEFI/BIOS | ✓ | ✓ | ✓ | +| 가상 HID | ✓ | ✓ | ✓ | +| 가상 CD-ROM | ✓ | ✓ | ✓ | +| IPMI | ✓ | ✓ | ✓ | +| Wake-on-LAN | ✓ | ✓ | ✓ | +| 이더넷 | 100M/10M | 100M/10M | 1000M/100M/10M | +| ATX 전원 조작 | 없음,사용자 소유 장비 연결 가능 | USB 인터페이스 IO 제어 보드 | RJ-45 인터페이스 IO 제어 보드 | +| OLED | 없음,사용자 소유 장비 연결 가능 | 128x64 0.96" 하얀색 | 128x32 0.91" 하얀색 | +| UART | 2 | 2 | 1 | +| TF 카드 | 없음 | ✓ | ✓ | +| 확장 | 없음 | PoE | WiFi/LTE | +| 전력 소모 | 0.2A@5V | 0.2A@5V | Peak 2.6A@5V | +| 전원 입력 | PC USB can be powered | PC USB 또는 보조 전원 공급 장치 | DC 5V 3A 전원 공급 장치 | +| 냉각 | 무소음 팬리스 | 무소음 팬리스 | 팬 냉각 | +| 크기 | 23x37x15mm ~1/30 PiKVM V4 크기 | 40x36x36mm ~1/7 PiKVM V4 크기 | 120x68x44mm | + +![NanoKVM PCB Pinout](https://wiki.sipeed.com/hardware/zh/kvm/assets/NanoKVM/1_intro/NanoKVM_2.jpg) + +## NanoKVM 하드웨어 플랫폼 + +NanoKVM은 Sipped [LicheeRV Nano](https://wiki.sipeed.com/hardware/zh/lichee/RV_Nano/1_intro.html)의 기반으로 하며, 사양, 도식, 치수 도면은 [여기](http://cn.dl.sipeed.com/shareURL/LICHEE/LicheeRV_Nano)에 있습니다. + +NanoKVM Lite는 LicheeRV Nano와 HDMItoCSI 보드로 구성되어 있으며, NanoKVM FULL은 NanoKVM Lite에 NasnoKVM-A/B 보드와 케이스를 추가한 구성입니다. HDMItoCSI 보드는 HDMI 신호를 변환하는 역할을 하고 NanoKVM-A는 OLED, ATX 전원 출력 (USB Type-C 인터페이스), 보조 전원 공급 장치, ATX 전원 켜기/끄기 및 리셋 버튼을 포함합니다. NanoKVM-B는 한쪽 끝이 컴퓨터와 연결되고 다른 한쪽 끝은 컴퓨터의 ATX 핀에 연결되어 컴퓨터의 전원을 원격으로 제어하는 데 사용됩니다. + +NanoKVM 이미지는 LicheeRV Nano SDK와 MaixCDK로 구축되었으며, LicheeRV Nano를 사용하는 자재와 호환됩니다. 반면에 KVM 소프트웨어는 LicheeRV Nano나 다른 SG2002 제품과 함께 사용할 수 없습니다. 만약 LicheeRV Nano나 MaixCam에서 HDMI 입력 애플리케이션을 구축하고 싶으시다면, 기술 지원에 문의해 주세요. + +참고: SG2002의 256MB 메모리 중에 158MB는 멀티미디어 하위 폴더에 할당되어 있으며, NanoKVM은 비디오 이미지 획득과 처리에 사용됩니다. + +* [NanoKVM-A 도식](https://cn.dl.sipeed.com/fileList/KVM/nanoKVM/HDK/02_Schematic/SCH_RV_Nano_KVM_A_30111.pdf) +* [NanoKVM-B 도식](https://cn.dl.sipeed.com/fileList/KVM/nanoKVM/HDK/02_Schematic/SCH_RV_Nano_KVM_B_30131.pdf) +* [NanoKVM 이미지](https://github.com/sipeed/NanoKVM/releases/tag/NanoKVM) + +## 로드맵 + +**개선 사항:** + +* [x] HDMI 모듈 재구성과 libmaixcam_lib.so 종속성 삭제 +* [x] 기본적으로 SSH를 비활성화 하고 웹 UI에 활성화/비활성화 토글을 추가 +* [x] 기본적으로 Tailscale을 비활성화 하고 웹 UI에 활성화/비활성화 토글을 추가 +* [x] 구성 파일에 JWT 구성 옵션 추가 +* [x] bcrypt로 안전한 비밀번호 저장 + +**배포:** + +* [x] GitHub에 애플리케이션 배포 +* [x] 온라인 업데이트에 대한 무결성 검사 구현 +* [ ] 오프라인 업데이트 지원 + +**버그 수정:** + +* [x] DNS 문제 해결 +* [x] CSRF 취약점 + +**기능** + +* [ ] [79](https://github.com/sipeed/NanoKVM/issues/79) Zerotier 지원 +* [ ] [99](https://github.com/sipeed/NanoKVM/issues/99) WireGuard 지원 +* [ ] [249](https://github.com/sipeed/NanoKVM/issues/249) 마우스 흔들기 추가 + +## 기여 + +1. 레포지토리를 포크하세요 +2. 기능 브랜치를 만드세요 +3. 변경한 것을 커밋하세요 +4. 브랜치로 푸시하세요 +5. 풀 리퀘스트를 생성하세요 + +NanoKVM에 관심을 가져주셔서 감사합니다! + +작고 핵심적인 내용으로 풀 리퀘스트를 유지해 주세요. 이렇게 하면 검토하고 병합하기가 쉬워집니다. + +> 고품질 풀 리퀘스트를 기여한 개발자들은 감사의 표시로 NanoKVM Cube, PCIe 또는 Pro를 받게 됩니다. + +## 구매처 + +* [Aliexpress(미국&러시아를 제외한 전 세계)](https://www.aliexpress.com/item/1005007369816019.html) +* [淘宝](https://item.taobao.com/item.htm?id=811206560480) +* [사전 주문 (Aliexpress나 Taobao를 지원하지 않는 국가)](https://sipeed.com/nanokvm) + +## 커뮤니티 + +* [MaixHub Discussion](https://maixhub.com/discussion/nanokvm) +* QQ 그룹: 703230713 + +## 라이센스 + +이 프로젝트는 GPL-3.0 라이센스에 따라 라이센스가 부여됩니다. 자세한 사항은 LICENSE 파일을 참조하세요. diff --git a/README_ZH.md b/README_ZH.md index c2e2ad1..478c16c 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -11,7 +11,7 @@ NanoKVM Hardware -[English](./README.md) | 中文 | [日本語](./README_JA.md) +[English](./README.md) | 中文 | [日本語](./README_JA.md) | [한국어](./README_KO.md) From 9d6cf49c3f3c7246a4d3867f4ac39dda0e091db8 Mon Sep 17 00:00:00 2001 From: kmw_ <128137094+kmw0410@users.noreply.github.com> Date: Sun, 25 May 2025 14:26:02 +0900 Subject: [PATCH 6/7] fix missed translations --- README_KO.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README_KO.md b/README_KO.md index bf3df98..f32f1ce 100644 --- a/README_KO.md +++ b/README_KO.md @@ -77,8 +77,8 @@ Lichee NanoKVM은 세 가지 버전으로 제공됩니다: | UART | 2 | 2 | 1 | | TF 카드 | 없음 | ✓ | ✓ | | 확장 | 없음 | PoE | WiFi/LTE | -| 전력 소모 | 0.2A@5V | 0.2A@5V | Peak 2.6A@5V | -| 전원 입력 | PC USB can be powered | PC USB 또는 보조 전원 공급 장치 | DC 5V 3A 전원 공급 장치 | +| 전력 소모 | 0.2A@5V | 0.2A@5V | 최대 2.6A@5V | +| 전원 입력 | PC USB 전원 공급 가능 | PC USB 또는 보조 전원 공급 장치 | DC 5V 3A 전원 공급 장치 | | 냉각 | 무소음 팬리스 | 무소음 팬리스 | 팬 냉각 | | 크기 | 23x37x15mm ~1/30 PiKVM V4 크기 | 40x36x36mm ~1/7 PiKVM V4 크기 | 120x68x44mm | From 8591aecb9c181b370be6f6e3da829951d324bdb1 Mon Sep 17 00:00:00 2001 From: kmw_ <128137094+kmw0410@users.noreply.github.com> Date: Sun, 1 Jun 2025 20:14:02 +0900 Subject: [PATCH 7/7] update korean readme updated to include the addition of nanokvm-pro --- README_KO.md | 146 +++++++++++++++++++++++---------------------------- 1 file changed, 65 insertions(+), 81 deletions(-) diff --git a/README_KO.md b/README_KO.md index f32f1ce..8860573 100644 --- a/README_KO.md +++ b/README_KO.md @@ -6,42 +6,77 @@ NanoKVM ![](https://wiki.sipeed.com/hardware/assets/NanoKVM/introduce/NanoKVM_3.png)

- 빠른 시작 - | - 하드웨어 + 🚀 빠른 시작 + | + 🛠️ 하드웨어 정보 + | + 💾 펌웨어 릴리즈

[English](./README.md) | [中文](./README_ZH.md) | [日本語](./README_JA.md) | 한국어 -> NanoKVM은 [RISC-V](https://en.wikipedia.org/wiki/RISC-V)에 의해 구동됩니다! -> 이슈나 제안이 있는 경우, 여기에서 이슈를 생성하거나 [MaixHub Discussion](https://maixhub.com/discussion/nanokvm)에서 말해주세요. +## 🌟 NanoKVM이 무엇인가요? -## 소개 +NanoKVM은 소형 오픈 소스 IP-KVM 장치 시리즈입니다. LicheeRV Nano(RISC-V)를 기반으로 구축된 NanoKVM을 사용하면 마치 컴퓨터 앞에 바로 앉아있는 것처럼 원격으로 컴퓨터에 접근하고 제어할 수 있어 서버, 임베디드 시스템 또는 모든 헤드리스 머신을 관리하는 데 완벽합니다. -Lichee NanoKVM은 LicheeRV Nano를 기반으로 하는 IP-KVM 제품이며, LicheeRV Nano의 극단적인 크기와 강력한 기능을 상속받습니다. +## 📦 제품군 -Lichee NanoKVM은 세 가지 버전으로 제공됩니다: +다양한 요구를 충족할 수 있도록 여러 NanoKVM 버전을 제공합니다: -* NanoKVM-Cube Lite는 일정 수준의 DIY 능력을 갖춘 개인 사용자나 대량 수요가 있는 기업 사용자에게 적합한 구성입니다. +* **NanoKVM-Cube Lite:** DIY 사용자 및 대량 배포가 필요한 기업용을 위한 최소 구성 키트입니다. +* **NanoKVM-Cube Full:** 세련된 케이스, 액세서리, 사전 플래시된 시스템 SD 카드가 포함된 완전 구성 패키지입니다. 개봉 후 즉시 사용할 수 있어 개인 사용자에게 적합합니다. +* **NanoKVM-PCIe:** 독특한 폼팩터로, PCIe 브래킷을 통해 섀시 내부에 장착하며, 전원인 PCIe 슬롯에서 직접 공급받습니다. 선택적으로 WiFi와 PoE 기능을 추가할 수 있습니다. -* NanoKVM-Cube Full은 정교한 케이스와 액세서리, 부팅 시 바로 사용할 수 있는 시스템 미러 카드가 포함된 전체 구성으로, 개인 사용자에게 권장됩니다. +### 🚀 NanoKVM-Pro: 4K를 위한 파워 머신 -* NanoKVM-PCle는 케이스 내부에 고정할 수 있는 PCIe 브래킷이 내장된 새로운 형태입니다. NanoKVM-PCIe는 NanoKVM Cube를 기반으로 WiFi와 PoE 기능을 선택적으로 추가할 수 있으며, 자체 PCIe 슬롯을 통해 메인보드에서 전원을 공급받을 수 있습니다. 또한 유선 연결(ETH)이 더 안정적이여서 전문적인 요구를 충족할 수 있습니다. +대중적인 수요를 기반으로, NanoKVM을 **NanoKVM-Pro**로 업그레이드했습니다: -
+* **해상도 업그레이드:** 1080P에서 놀라운 **4K@30fps / 2K@60fps**까지. +* **네트워크 업그레이드:** 초고속 **GbE + PoE + WiFi 6** (100M 이더넷 대비 향상). +* **지연 시간 업그레이드:** 인코더 가속 지연시간이 100-150ms에서 **50-100ms**로 감소. + +> NanoKVM-Pro가 예약 판매 중입니다! [제품 세부 정보는 여기를 클릭하세요](https://sipeed.com/nanokvm/pro). -![NanoKVM-Cube](https://wiki.sipeed.com/hardware/zh/kvm/assets/NanoKVM/1_intro/NanoKVM_1.jpg) +
-![NanoKVM-PCIe](https://wiki.sipeed.com/hardware/assets/NanoKVM/introduce/NanoKVM-PCIe.png) +![NanoKVM Product Family](https://cdn.sipeed.com/public/nanokvm-products.jpg)
-> 보안에 대해 우려하는 사용자는 이 이슈([#301](https://github.com/sipeed/NanoKVM/issues/301))를 읽어볼 수 있습니다. 모든 보안 관련 우려에 대한 설명을 확인할 수 있습니다. -> GitHub는 개방적이고 투명한 플랫폼으로서, 이론바 "백도어" 문제에 대해 논의할 수 있는 공간을 제공합니다. 오픈 소스는 제품을 더 안전하게 만듭니다! - -## 프로젝트 구조 +## 🛠️ 기술 사양 + +| 제품 | NanoKVM-Pro | NanoKVM (Cube/PCIe) | GxxKVM | JxxKVM | +|------------------- |-------------------------------------- |---------------------------------- |----------------------------------- |------------------------------------ | +| 코어 | AX631 2xA53 1.5G | SG2002 1xC906 1.0G | RV1126 4xA7 1.5G | RV1106 1xA7 1.2G | +| 메모리 & 저장 공간 | 1G LPDDR4X + 32G eMMC | 256M DDR3 + 32G microSD | 1G DDR3 + 8G eMMc | 256M DDR3 + 16G eMMC | +| 시스템 | NanoKVM / PiKVM | NanoKVM | GxxKVM | JxxKVM | +| 해상도 | 4K@30fps / 2K@60fps | 1080P@60fps | 4K@30fps / 2K@60fps | 1080P@60fps | +| HDMI 루프아웃 | 4K 루프아웃 | x | x | x | +| 영상 인코딩 | MJPEG / H.264 / H.265 | MJPEG / H264 | MJPEG / H264 | MJPEG / H264 | +| 오디오 전송 | ✓ | x | ✓ | x | +| UEFI / BIOS | ✓ | ✓ | ✓ | ✓ | +| USB 키보드 & 마우스 에뮬레이션 | ✓ | ✓ | ✓ | ✓ | +| USB ISO 에뮬레이션 | ✓ | ✓ | ✓ | ✓ | +| IPMI | ✓ | ✓ | ✓ | x | +| Wake-on-LAN | ✓ | ✓ | ✓ | ✓ | +| 웹 터미널 | ✓ | ✓ | ✓ | ✓ | +| 시리얼 터미널 | 3 채널 | 2 채널 | x | 1 채널 | +| 사용자 정의 스크립트 | ✓ | ✓ | x | x | +| 저장 공간 | 32G eMMC 300MB/s | 32G MicroSD 12MB/s | 8G eMMC 120MB/s | 8G eMMC 60MB/s | +| 이더넷 | 1000M | 100M | 1000M | 100M | +| PoE | 옵션 | 옵션 | x | x | +| WiFi | WiFi6 옵션 | WiFi6 옵션 | x | x | +| ATX 전원 조작 | ✓ | ✓ | $15 추가 | $10 추가 | +| 디스플레이 | 1.47" 320x172 LCD / 0.96" 128x64 OLED | 0.96" 128x64 OLED | - | 1.68" 280x240 | +| 기타 기능 | LED 줄 동기화 / 스마트 어시스턴트 | - | - | - | +| 전력 소비량 | 0.4A@5V | 0.2A@5V | 0.4A@5V | 0.2A@5V | +| 전원 입력 | USB-C 또는 PoE | USB-C | USB-C | USB-C | +| 크기 | 65x65x26mm | 40x36x36mm | 80x60x17.5mm | 60x43x(24~31)mm | +| 가격 | ~~$79~~ $69 ATX / ~~$89~~ $79 Desk | $25 Lite / $50 Full(with ATX) | ATX 미사용 시 $89 / ATX 사용 시 $102 | ATX 미사용 시 $69 / ATX 사용 시 $79 | + +## 📂 프로젝트 구조 ``` shell ├── kvmapp # APP 업데이트 패키지 @@ -50,7 +85,7 @@ Lichee NanoKVM은 세 가지 버전으로 제공됩니다: │ ├── kvm_system # kvm_system 애플리케이션 │ ├── server # NanoKVM 프론트 엔드와 백엔드 애플리케이션 │ └── system # 필요한 시스템 구성 요소 -├── web # NanoKVM 프론트 엔드 +├── web # NanoKVM 프론트엔드 ├── server # NanoKVM 백엔드 ├── support # 보조 기능 (이미지 하위 시스템, 시스템 상태, 시스템 업데이트, 화면, 키, 기타.) │ ├── sg2002 # NanoKVM-Lite/Full/PCIe @@ -58,35 +93,9 @@ Lichee NanoKVM은 세 가지 버전으로 제공됩니다: ├── ... ``` -## 기술 사양 - -| 제품 | NanoKVM (Lite) | NanoKVM (Full) | PiKVM V4 | -|------------------- |-------------------------------------- |---------------------------------- |----------------------------------- | -| 컴퓨팅 단위 | LicheeRV Nano(RISCV) | LicheeRV Nano(RISCV) | CM4 (ARM) | -| 해상도 | 1080P @ 60fps | 1080P @ 60fps | 1080P @ 60fps | -| 비디오 인코딩 | MJPEG, H264 | MJPEG, H264 | MJPEG, H264 | -| 비디오 지연 시간 | 90~230ms | 90~230ms | 100~230ms | -| UEFI/BIOS | ✓ | ✓ | ✓ | -| 가상 HID | ✓ | ✓ | ✓ | -| 가상 CD-ROM | ✓ | ✓ | ✓ | -| IPMI | ✓ | ✓ | ✓ | -| Wake-on-LAN | ✓ | ✓ | ✓ | -| 이더넷 | 100M/10M | 100M/10M | 1000M/100M/10M | -| ATX 전원 조작 | 없음,사용자 소유 장비 연결 가능 | USB 인터페이스 IO 제어 보드 | RJ-45 인터페이스 IO 제어 보드 | -| OLED | 없음,사용자 소유 장비 연결 가능 | 128x64 0.96" 하얀색 | 128x32 0.91" 하얀색 | -| UART | 2 | 2 | 1 | -| TF 카드 | 없음 | ✓ | ✓ | -| 확장 | 없음 | PoE | WiFi/LTE | -| 전력 소모 | 0.2A@5V | 0.2A@5V | 최대 2.6A@5V | -| 전원 입력 | PC USB 전원 공급 가능 | PC USB 또는 보조 전원 공급 장치 | DC 5V 3A 전원 공급 장치 | -| 냉각 | 무소음 팬리스 | 무소음 팬리스 | 팬 냉각 | -| 크기 | 23x37x15mm ~1/30 PiKVM V4 크기 | 40x36x36mm ~1/7 PiKVM V4 크기 | 120x68x44mm | +## 🔩 하드웨어 플랫폼 (NanoKVM Cube/PCIe) -![NanoKVM PCB Pinout](https://wiki.sipeed.com/hardware/zh/kvm/assets/NanoKVM/1_intro/NanoKVM_2.jpg) - -## NanoKVM 하드웨어 플랫폼 - -NanoKVM은 Sipped [LicheeRV Nano](https://wiki.sipeed.com/hardware/zh/lichee/RV_Nano/1_intro.html)의 기반으로 하며, 사양, 도식, 치수 도면은 [여기](http://cn.dl.sipeed.com/shareURL/LICHEE/LicheeRV_Nano)에 있습니다. +NanoKVM은 Sipeed [LicheeRV Nano](https://wiki.sipeed.com/hardware/zh/lichee/RV_Nano/1_intro.html)를 기반으로 하며,[여기](http://cn.dl.sipeed.com/shareURL/LICHEE/LicheeRV_Nano)에서 사양, 도식, 치수, 도면은 여기에서 찾을 수 있습니다. NanoKVM Lite는 LicheeRV Nano와 HDMItoCSI 보드로 구성되어 있으며, NanoKVM FULL은 NanoKVM Lite에 NasnoKVM-A/B 보드와 케이스를 추가한 구성입니다. HDMItoCSI 보드는 HDMI 신호를 변환하는 역할을 하고 NanoKVM-A는 OLED, ATX 전원 출력 (USB Type-C 인터페이스), 보조 전원 공급 장치, ATX 전원 켜기/끄기 및 리셋 버튼을 포함합니다. NanoKVM-B는 한쪽 끝이 컴퓨터와 연결되고 다른 한쪽 끝은 컴퓨터의 ATX 핀에 연결되어 컴퓨터의 전원을 원격으로 제어하는 데 사용됩니다. @@ -98,34 +107,11 @@ NanoKVM 이미지는 LicheeRV Nano SDK와 MaixCDK로 구축되었으며, LicheeR * [NanoKVM-B 도식](https://cn.dl.sipeed.com/fileList/KVM/nanoKVM/HDK/02_Schematic/SCH_RV_Nano_KVM_B_30131.pdf) * [NanoKVM 이미지](https://github.com/sipeed/NanoKVM/releases/tag/NanoKVM) -## 로드맵 - -**개선 사항:** - -* [x] HDMI 모듈 재구성과 libmaixcam_lib.so 종속성 삭제 -* [x] 기본적으로 SSH를 비활성화 하고 웹 UI에 활성화/비활성화 토글을 추가 -* [x] 기본적으로 Tailscale을 비활성화 하고 웹 UI에 활성화/비활성화 토글을 추가 -* [x] 구성 파일에 JWT 구성 옵션 추가 -* [x] bcrypt로 안전한 비밀번호 저장 - -**배포:** - -* [x] GitHub에 애플리케이션 배포 -* [x] 온라인 업데이트에 대한 무결성 검사 구현 -* [ ] 오프라인 업데이트 지원 - -**버그 수정:** - -* [x] DNS 문제 해결 -* [x] CSRF 취약점 - -**기능** +![NanoKVM PCB Pinout](https://wiki.sipeed.com/hardware/zh/kvm/assets/NanoKVM/1_intro/NanoKVM_2.jpg) -* [ ] [79](https://github.com/sipeed/NanoKVM/issues/79) Zerotier 지원 -* [ ] [99](https://github.com/sipeed/NanoKVM/issues/99) WireGuard 지원 -* [ ] [249](https://github.com/sipeed/NanoKVM/issues/249) 마우스 흔들기 추가 +## 🤝 기여 -## 기여 +여러분의 기여를 환영합니다! 도움을 줄 수 있는 방법은 다음과 같습니다: 1. 레포지토리를 포크하세요 2. 기능 브랜치를 만드세요 @@ -133,23 +119,21 @@ NanoKVM 이미지는 LicheeRV Nano SDK와 MaixCDK로 구축되었으며, LicheeR 4. 브랜치로 푸시하세요 5. 풀 리퀘스트를 생성하세요 -NanoKVM에 관심을 가져주셔서 감사합니다! - -작고 핵심적인 내용으로 풀 리퀘스트를 유지해 주세요. 이렇게 하면 검토하고 병합하기가 쉬워집니다. +Please keep your pull requests small and focused to facilitate easier review and merging. -> 고품질 풀 리퀘스트를 기여한 개발자들은 감사의 표시로 NanoKVM Cube, PCIe 또는 Pro를 받게 됩니다. +> 🎁 **고품질 풀 리퀘스트를 제출한 기여자는 감사의 표시로 NanoKVM Cube, PCIe, 또는 Pro를 받을 수 있습니다!** -## 구매처 +## 🛒 어디서 구매하나요? * [Aliexpress(미국&러시아를 제외한 전 세계)](https://www.aliexpress.com/item/1005007369816019.html) * [淘宝](https://item.taobao.com/item.htm?id=811206560480) * [사전 주문 (Aliexpress나 Taobao를 지원하지 않는 국가)](https://sipeed.com/nanokvm) -## 커뮤니티 +## 💬 커뮤니티 & 지원 * [MaixHub Discussion](https://maixhub.com/discussion/nanokvm) -* QQ 그룹: 703230713 +* QQ group: 703230713 -## 라이센스 +## 📜 라이센스 이 프로젝트는 GPL-3.0 라이센스에 따라 라이센스가 부여됩니다. 자세한 사항은 LICENSE 파일을 참조하세요.