diff --git a/web/public/locales/ko/audio.json b/web/public/locales/ko/audio.json
index 3f0992b47..d9db04e9f 100644
--- a/web/public/locales/ko/audio.json
+++ b/web/public/locales/ko/audio.json
@@ -1,9 +1,9 @@
{
"crying": "울음",
"snoring": "코골이",
- "singing": "노래하기",
+ "singing": "노래",
"yell": "비명",
- "speech": "발표",
+ "speech": "말소리",
"babbling": "옹알이",
"bicycle": "자전거",
"a_capella": "아카펠라",
@@ -11,5 +11,62 @@
"accordion": "아코디언",
"acoustic_guitar": "어쿠스틱 기타",
"car": "차량",
- "motorcycle": "원동기"
+ "motorcycle": "원동기",
+ "bus": "버스",
+ "train": "기차",
+ "boat": "보트",
+ "bird": "새",
+ "cat": "고양이",
+ "dog": "강아지",
+ "horse": "말",
+ "sheep": "양",
+ "skateboard": "스케이트보드",
+ "door": "문",
+ "mouse": "마우스",
+ "keyboard": "키보드",
+ "sink": "싱크대",
+ "blender": "블렌더",
+ "clock": "벽시계",
+ "scissors": "가위",
+ "hair_dryer": "헤어 드라이어",
+ "toothbrush": "칫솔",
+ "vehicle": "탈 것",
+ "animal": "동물",
+ "bark": "개",
+ "goat": "염소",
+ "bellow": "포효",
+ "whoop": "환성",
+ "whispering": "속삭임",
+ "laughter": "웃음",
+ "snicker": "낄낄 웃음",
+ "sigh": "한숨",
+ "choir": "합창",
+ "yodeling": "요들링",
+ "chant": "성가",
+ "mantra": "만트라",
+ "child_singing": "어린이 노래",
+ "synthetic_singing": "Synthetic Singing",
+ "rapping": "랩",
+ "humming": "허밍",
+ "groan": "신음",
+ "grunt": "으르렁",
+ "whistling": "휘파람",
+ "breathing": "숨쉬는 소리",
+ "wheeze": "헐떡임",
+ "gasp": "헐떡임",
+ "pant": "거친숨",
+ "snort": "코골이",
+ "cough": "기침",
+ "throat_clearing": "목 긁는 소리",
+ "sneeze": "재채기",
+ "sniff": "훌쩍",
+ "run": "달리기",
+ "shuffle": "Shuffle",
+ "footsteps": "발소리",
+ "chewing": "씹는 소리",
+ "biting": "치는 소리",
+ "gargling": "가글",
+ "stomach_rumble": "배 꼬르륵",
+ "burping": "트림",
+ "camera": "카메라"
}
diff --git a/web/public/locales/ko/common.json b/web/public/locales/ko/common.json
index 29eae6ae4..e5c8ef9a9 100644
--- a/web/public/locales/ko/common.json
+++ b/web/public/locales/ko/common.json
@@ -10,18 +10,262 @@
"30minutes": "30분",
"5minutes": "5분",
"untilRestart": "재시작 될 때까지",
- "ago": "{{timeAgo}} 전"
+ "ago": "{{timeAgo}} 전",
+ "justNow": "지금 막",
+ "today": "오늘",
+ "yesterday": "어제",
+ "last7": "최근 7일",
+ "last14": "최근 14일",
+ "last30": "최근 30일",
+ "thisWeek": "이번 주",
+ "lastWeek": "저번 주",
+ "thisMonth": "이번 달",
+ "lastMonth": "저번 달",
+ "pm": "오후",
+ "am": "오전",
+ "yr": "{{time}}년",
+ "year_other": "{{time}} 년",
+ "mo": "{{time}}월",
+ "month_other": "{{time}} 월",
+ "d": "{{time}}일",
+ "day_other": "{{time}} 일",
+ "h": "{{time}}시",
+ "hour_other": "{{time}} 시",
+ "m": "{{time}}분",
+ "minute_other": "{{time}} 분",
+ "s": "{{time}}초",
+ "second_other": "{{time}} 초",
+ "formattedTimestamp": {
+ "12hour": "MMM d, h:mm:ss aaa",
+ "24hour": "MMM d, HH:mm:ss"
+ },
+ "formattedTimestamp2": {
+ "12hour": "MM/dd h:mm:ssa",
+ "24hour": "d MMM HH:mm:ss"
+ },
+ "formattedTimestampHourMinute": {
+ "12hour": "h:mm aaa",
+ "24hour": "HH:mm"
+ },
+ "formattedTimestampHourMinuteSecond": {
+ "12hour": "h:mm:ss aaa",
+ "24hour": "HH:mm:ss"
+ },
+ "formattedTimestampMonthDayHourMinute": {
+ "12hour": "MMM d, h:mm aaa",
+ "24hour": "MMM d, HH:mm"
+ },
+ "formattedTimestampMonthDayYear": {
+ "12hour": "MMM d, yyyy",
+ "24hour": "MMM d, yyyy"
+ },
+ "formattedTimestampMonthDayYearHourMinute": {
+ "12hour": "MMM d yyyy, h:mm aaa",
+ "24hour": "MMM d yyyy, HH:mm"
+ },
+ "formattedTimestampMonthDay": "MMM d",
+ "formattedTimestampFilename": {
+ "12hour": "MM-dd-yy-h-mm-ss-a",
+ "24hour": "MM-dd-yy-HH-mm-ss"
+ }
},
"notFound": {
- "title": "404"
+ "title": "404",
+ "documentTitle": "찾을 수 없음 - Frigate",
+ "desc": "페이지 찾을 수 없음"
},
"accessDenied": {
"title": "접근 거부",
- "documentTitle": "접근 거부 - Frigate"
+ "documentTitle": "접근 거부 - Frigate",
+ "desc": "이 페이지 접근 권한이 없습니다."
},
"menu": {
"user": {
- "account": "계정"
+ "account": "계정",
+ "title": "사용자",
+ "current": "현재 사용자:{{user}}",
+ "anonymous": "익명",
+ "logout": "로그아웃",
+ "setPassword": "비밀번호 설정"
+ },
+ "system": "시스템",
+ "systemMetrics": "시스템 지표",
+ "configuration": "설정",
+ "systemLogs": "시스템 로그",
+ "settings": "설정",
+ "configurationEditor": "설정 편집기",
+ "languages": "언어",
+ "language": {
+ "en": "English (English)",
+ "es": "Español (Spanish)",
+ "zhCN": "简体中文 (Simplified Chinese)",
+ "hi": "हिन्दी (Hindi)",
+ "fr": "Français (French)",
+ "ar": "العربية (Arabic)",
+ "pt": "Português (Portuguese)",
+ "ptBR": "Português brasileiro (Brazilian Portuguese)",
+ "ru": "Русский (Russian)",
+ "de": "Deutsch (German)",
+ "ja": "日本語 (Japanese)",
+ "tr": "Türkçe (Turkish)",
+ "it": "Italiano (Italian)",
+ "nl": "Nederlands (Dutch)",
+ "sv": "Svenska (Swedish)",
+ "cs": "Čeština (Czech)",
+ "nb": "Norsk Bokmål (Norwegian Bokmål)",
+ "ko": "한국어 (Korean)",
+ "vi": "Tiếng Việt (Vietnamese)",
+ "fa": "فارسی (Persian)",
+ "pl": "Polski (Polish)",
+ "uk": "Українська (Ukrainian)",
+ "he": "עברית (Hebrew)",
+ "el": "Ελληνικά (Greek)",
+ "ro": "Română (Romanian)",
+ "hu": "Magyar (Hungarian)",
+ "fi": "Suomi (Finnish)",
+ "da": "Dansk (Danish)",
+ "sk": "Slovenčina (Slovak)",
+ "yue": "粵語 (Cantonese)",
+ "th": "ไทย (Thai)",
+ "ca": "Català (Catalan)",
+ "sr": "Српски (Serbian)",
+ "sl": "Slovenščina (Slovenian)",
+ "lt": "Lietuvių (Lithuanian)",
+ "bg": "Български (Bulgarian)",
+ "gl": "Galego (Galician)",
+ "id": "Bahasa Indonesia (Indonesian)",
+ "ur": "اردو (Urdu)",
+ "withSystem": {
+ "label": "시스템 설정 언어 사용"
+ }
+ },
+ "appearance": "화면 설정",
+ "darkMode": {
+ "label": "다크 모드",
+ "light": "라이트",
+ "dark": "다크",
+ "withSystem": {
+ "label": "시스템 설정에 따라 설정"
+ }
+ },
+ "withSystem": "시스템",
+ "theme": {
+ "label": "테마",
+ "blue": "파랑",
+ "green": "녹색",
+ "nord": "노드 (Nord)",
+ "red": "빨강",
+ "highcontrast": "고 대비",
+ "default": "기본값"
+ },
+ "help": "도움말",
+ "documentation": {
+ "title": "문서",
+ "label": "Frigate 문서"
+ },
+ "restart": "Frigate 재시작",
+ "live": {
+ "title": "실시간",
+ "allCameras": "모든 카메라",
+ "cameras": {
+ "title": "카메라",
+ "count_other": "{{count}} 카메라"
+ }
+ },
+ "review": "다시보기",
+ "explore": "탐색",
+ "export": "내보내기",
+ "uiPlayground": "UI 실험장",
+ "faceLibrary": "얼굴 라이브러리"
+ },
+ "unit": {
+ "speed": {
+ "mph": "mph",
+ "kph": "km/h"
+ },
+ "length": {
+ "feet": "피트",
+ "meters": "미터"
+ },
+ "data": {
+ "kbps": "kB/s",
+ "mbps": "MB/s",
+ "gbps": "GB/s",
+ "kbph": "kB/hour",
+ "mbph": "MB/hour",
+ "gbph": "GB/hour"
}
+ },
+ "label": {
+ "back": "뒤로"
+ },
+ "button": {
+ "apply": "적용",
+ "reset": "리셋",
+ "done": "완료",
+ "enabled": "활성화됨",
+ "enable": "활성화",
+ "disabled": "비활성화됨",
+ "disable": "비활성화",
+ "save": "저장",
+ "saving": "저장 중…",
+ "cancel": "취소",
+ "close": "닫기",
+ "copy": "복사",
+ "back": "뒤로",
+ "history": "히스토리",
+ "fullscreen": "전체화면",
+ "exitFullscreen": "전체화면 나가기",
+ "pictureInPicture": "Picture in Picture",
+ "twoWayTalk": "양방향 말하기",
+ "cameraAudio": "카메라 오디오",
+ "on": "켜기",
+ "off": "끄기",
+ "edit": "편집",
+ "copyCoordinates": "코디네이트 복사",
+ "delete": "삭제",
+ "yes": "예",
+ "no": "아니오",
+ "download": "다운로드",
+ "info": "정보",
+ "suspended": "일시 정지됨",
+ "unsuspended": "재개",
+ "play": "재생",
+ "unselect": "선택 해제",
+ "export": "내보내기",
+ "deleteNow": "바로 삭제하기",
+ "next": "다음"
+ },
+ "toast": {
+ "copyUrlToClipboard": "클립보드에 URL이 복사되었습니다.",
+ "save": {
+ "title": "저장",
+ "error": {
+ "title": "설정 저장 실패: {{errorMessage}}",
+ "noMessage": "설정 저장이 실패했습니다"
+ }
+ }
+ },
+ "role": {
+ "title": "역할",
+ "admin": "관리자",
+ "viewer": "감시자",
+ "desc": "관리자는 Frigate UI에 모든 접근 권한이 있습니다. 감시자는 카메라 감시, 돌아보기, 과거 영상 조회만 가능합니다."
+ },
+ "pagination": {
+ "label": "나눠보기",
+ "previous": {
+ "title": "이전",
+ "label": "이전 페이지"
+ },
+ "next": {
+ "title": "다음",
+ "label": "다음 페이지"
+ },
+ "more": "더 많은 페이지"
+ },
+ "selectItem": "{{item}} 선택",
+ "information": {
+ "pixels": "{{area}}px"
}
}
diff --git a/web/public/locales/ko/components/auth.json b/web/public/locales/ko/components/auth.json
index d0b29a82a..65df51e36 100644
--- a/web/public/locales/ko/components/auth.json
+++ b/web/public/locales/ko/components/auth.json
@@ -1,11 +1,11 @@
{
"form": {
"user": "사용자명",
- "password": "패스워드",
+ "password": "비밀번호",
"login": "로그인",
"errors": {
"usernameRequired": "사용자명은 필수입니다",
- "passwordRequired": "패스워드는 필수입니다",
+ "passwordRequired": "비밀번호는 필수입니다",
"rateLimit": "너무 많이 시도했습니다. 다음에 다시 시도하세요.",
"loginFailed": "로그인 실패",
"unknownError": "알려지지 않은 에러. 로그를 확인하세요.",
diff --git a/web/public/locales/ko/components/camera.json b/web/public/locales/ko/components/camera.json
index a04bcaf34..67b1a2ee6 100644
--- a/web/public/locales/ko/components/camera.json
+++ b/web/public/locales/ko/components/camera.json
@@ -4,7 +4,83 @@
"add": "카메라 그룹 추가",
"edit": "카메라 그룹 편집",
"delete": {
- "label": "카메라 그룹 삭제"
+ "label": "카메라 그룹 삭제",
+ "confirm": {
+ "title": "삭제 확인",
+ "desc": "정말로 카메라 그룹을 삭제하시겠습니까 {{name}}?"
+ }
+ },
+ "name": {
+ "label": "이름",
+ "placeholder": "이름을 입력하세요…",
+ "errorMessage": {
+ "mustLeastCharacters": "카메라 그룹 이름은 최소 2자 이상 써야합니다.",
+ "exists": "이미 존재하는 카메라 그룹 이름입니다.",
+ "nameMustNotPeriod": "카메라 그룹 이름에 마침표(.)를 넣을 수 없습니다.",
+ "invalid": "설정 불가능한 카메라 그룹 이름."
+ }
+ },
+ "cameras": {
+ "label": "카메라",
+ "desc": "이 그룹에 넣을 카메라 선택하기."
+ },
+ "icon": "아이콘",
+ "success": "카메라 그룹 {{name}} 저장되었습니다.",
+ "camera": {
+ "birdseye": "버드아이",
+ "setting": {
+ "label": "카메라 스트리밍 설정",
+ "title": "{{cameraName}} 스트리밍 설정",
+ "desc": "카메라 그룹 대시보드의 실시간 스트리밍 옵션을 변경하세요. 이 설정은 기기/브라우저에 따라 다릅니다.",
+ "audioIsAvailable": "이 카메라는 오디오 기능을 사용할 수 있습니다",
+ "audioIsUnavailable": "이 카메라는 오디오 기능을 사용할 수 없습니다",
+ "audio": {
+ "tips": {
+ "title": "오디오를 출력하려면 카메라가 지원하거나 go2rtc에서 설정해야합니다."
+ }
+ },
+ "stream": "스트림",
+ "placeholder": "스트림 선택",
+ "streamMethod": {
+ "label": "스트리밍 방식",
+ "placeholder": "스트리밍 방식 선택",
+ "method": {
+ "noStreaming": {
+ "label": "스트리밍 없음",
+ "desc": "카메라 이미지는 1분에 한 번만 보여지며 라이브 스트리밍은 되지 않습니다."
+ },
+ "smartStreaming": {
+ "label": "스마트 스트리밍 (추천함)",
+ "desc": "스마트 스트리밍은 감지되는 활동이 없을 때 대역폭과 자원을 절약하기 위해 1분마다 한 번 카메라 이미지를 업데이트합니다. 활동이 감지되면, 이미지는 자동으로 라이브 스트림으로 원활하게 전환됩니다."
+ },
+ "continuousStreaming": {
+ "label": "지속적인 스트리밍",
+ "desc": {
+ "title": "활동이 감지되지 않더라도 카메라 이미지가 대시보드에서 항상 실시간 스트림됩니다.",
+ "warning": "지속적인 스트리밍은 높은 대역폭 사용과 퍼포먼스 이슈를 발생할 수 있습니다. 사용에 주의해주세요."
+ }
+ }
+ }
+ },
+ "compatibilityMode": {
+ "label": "호환 모드",
+ "desc": "이 옵션은 카메라 라이브 스트림 화면의 색상이 왜곡 되었거나 이미지 오른쪽에 대각선이 나타날때만 사용하세요."
+ }
+ }
}
+ },
+ "debug": {
+ "options": {
+ "label": "설정",
+ "title": "옵션",
+ "showOptions": "옵션 보기",
+ "hideOptions": "옵션 숨기기"
+ },
+ "boundingBox": "감지 영역 상자",
+ "timestamp": "시간 기록",
+ "zones": "구역 (Zones)",
+ "mask": "마스크",
+ "motion": "움직임",
+ "regions": "영역 (Regions)"
}
}
diff --git a/web/public/locales/ko/components/dialog.json b/web/public/locales/ko/components/dialog.json
index 9e562d24e..f701526ef 100644
--- a/web/public/locales/ko/components/dialog.json
+++ b/web/public/locales/ko/components/dialog.json
@@ -1,10 +1,92 @@
{
"restart": {
- "title": "Frigate를 정말로 다시 시작할까요?",
+ "title": "Frigate을 정말로 다시 시작할까요?",
"button": "재시작",
"restarting": {
- "title": "Frigate가 재시작 중입니다",
- "content": "이 페이지는 {{countdown}} 뒤에 새로 고침 됩니다."
+ "title": "Frigate이 재시작 중입니다",
+ "content": "이 페이지는 {{countdown}} 뒤에 새로 고침 됩니다.",
+ "button": "강제 재시작"
+ }
+ },
+ "explore": {
+ "plus": {
+ "submitToPlus": {
+ "label": "Frigate+에 등록하기"
+ },
+ "review": {
+ "question": {
+ "label": "Frigate +에 이 레이블 등록하기"
+ }
+ }
+ },
+ "video": {
+ "viewInHistory": "히스토리 보기"
+ }
+ },
+ "export": {
+ "time": {
+ "fromTimeline": "타임라인에서 선택하기",
+ "lastHour_other": "지난 시간",
+ "custom": "커스텀",
+ "start": {
+ "title": "시작 시간",
+ "label": "시작 시간 선택"
+ },
+ "end": {
+ "title": "종료 시간",
+ "label": "종료 시간 선택"
+ }
+ },
+ "name": {
+ "placeholder": "내보내기 이름"
+ },
+ "select": "선택",
+ "export": "내보내기",
+ "selectOrExport": "선택 또는 내보내기",
+ "toast": {
+ "success": "내보내기가 성공적으로 시작되었습니다. /exports 폴더에서 파일을 보실 수 있습니다.",
+ "error": {
+ "failed": "내보내기 시작 실패:{{error}}",
+ "endTimeMustAfterStartTime": "종료 시간은 시작 시간보다 뒤에 있어야합니다",
+ "noVaildTimeSelected": "유효한 시간 범위가 선택되지 않았습니다"
+ }
+ },
+ "fromTimeline": {
+ "saveExport": "내보내기 저장",
+ "previewExport": "내보내기 미리보기"
+ }
+ },
+ "streaming": {
+ "label": "스트림",
+ "restreaming": {
+ "disabled": "이 카메라는 재 스트리밍이 되지 않습니다.",
+ "desc": {
+ "title": "이 카메라를 위해 추가적인 라이브 뷰 옵션과 오디오를 go2rtc에서 설정하세요."
+ }
+ },
+ "showStats": {
+ "label": "스트림 통계 보기",
+ "desc": "이 옵션을 활성화하면 스트림 통계가 카메라 피드에 나타납니다."
+ },
+ "debugView": "디버그 뷰"
+ },
+ "search": {
+ "saveSearch": {
+ "label": "검색 저장",
+ "desc": "저장된 검색에 이름을 지정해주세요.",
+ "placeholder": "검색에 이름 입력하기",
+ "overwrite": "{{searchName}} (이/가) 이미 존재합니다. 값을 덮어 씌웁니다.",
+ "success": "{{searchName}} 검색이 저장되었습니다.",
+ "button": {
+ "save": {
+ "label": "이 검색 저장하기"
+ }
+ }
+ }
+ },
+ "recording": {
+ "confirmDelete": {
+ "title": "삭제 확인"
}
}
}
diff --git a/web/public/locales/ko/components/filter.json b/web/public/locales/ko/components/filter.json
index c0d378839..942b97c7d 100644
--- a/web/public/locales/ko/components/filter.json
+++ b/web/public/locales/ko/components/filter.json
@@ -1,3 +1,39 @@
{
- "filter": "필터"
+ "filter": "필터",
+ "labels": {
+ "label": "레이블",
+ "all": {
+ "title": "모든 레이블",
+ "short": "레이블"
+ }
+ },
+ "zones": {
+ "label": "구역",
+ "all": {
+ "title": "모든 구역",
+ "short": "구역"
+ }
+ },
+ "dates": {
+ "selectPreset": "프리셋 선택",
+ "all": {
+ "title": "모든 날짜",
+ "short": "날짜"
+ }
+ },
+ "timeRange": "시간 구역",
+ "subLabels": {
+ "label": "서브 레이블",
+ "all": "모든 서브 레이블"
+ },
+ "more": "더 많은 필터",
+ "classes": {
+ "label": "분류",
+ "all": {
+ "title": "모든 분류"
+ }
+ },
+ "reset": {
+ "label": "기본값으로 필터 초기화"
+ }
}
diff --git a/web/public/locales/ko/components/input.json b/web/public/locales/ko/components/input.json
index b697d11da..00a19b702 100644
--- a/web/public/locales/ko/components/input.json
+++ b/web/public/locales/ko/components/input.json
@@ -3,7 +3,7 @@
"downloadVideo": {
"label": "비디오 다운로드",
"toast": {
- "success": "선택한 비디오들의 다운로드가 시작되었습니다."
+ "success": "다시보기 항목 다운로드가 시작되었습니다."
}
}
}
diff --git a/web/public/locales/ko/components/player.json b/web/public/locales/ko/components/player.json
index 1d8cddaff..38ef7daac 100644
--- a/web/public/locales/ko/components/player.json
+++ b/web/public/locales/ko/components/player.json
@@ -1,7 +1,7 @@
{
"submitFrigatePlus": {
"submit": "제출",
- "title": "이 프레임을 Frigate+로 전송하시겠습니까?"
+ "title": "이 프레임을 Frigate+에 제출하시겠습니까?"
},
"stats": {
"bandwidth": {
@@ -10,17 +10,42 @@
},
"latency": {
"short": {
- "title": "지연"
+ "title": "지연",
+ "value": "{{seconds}} 초"
},
- "title": "지연:"
+ "title": "지연:",
+ "value": "{{seconds}} 초"
},
"streamType": {
"short": "종류",
"title": "스트림 종류:"
},
- "totalFrames": "총 프레임:"
+ "totalFrames": "총 프레임:",
+ "droppedFrames": {
+ "title": "손실 프레임:",
+ "short": {
+ "title": "손실됨",
+ "value": "{{droppedFrames}} 프레임"
+ }
+ },
+ "decodedFrames": "복원된 프레임:",
+ "droppedFrameRate": "프레임 손실률:"
},
- "noRecordingsFoundForThisTime": "이 시간에는 녹화본이 없습니다",
- "noPreviewFound": "미리 보기가 없습니다",
- "noPreviewFoundFor": "{{cameraName}}에 미리보기가 없습니다"
+ "noRecordingsFoundForThisTime": "이 시간대에는 녹화본이 없습니다",
+ "noPreviewFound": "미리 보기를 찾을 수 없습니다",
+ "noPreviewFoundFor": "{{cameraName}}에 미리보기를 찾을 수 없습니다",
+ "livePlayerRequiredIOSVersion": "이 라이브 스트림 방식은 iOS 17.1 이거나 높은 버전이 필요합니다.",
+ "streamOffline": {
+ "title": "스트림 오프라인",
+ "desc": "{{cameraName}} 카메라에 감지(detect) 스트림의 프레임을 얻지 못했습니다. 에러 로그를 확인하세요"
+ },
+ "cameraDisabled": "카메라를 이용할 수 없습니다",
+ "toast": {
+ "success": {
+ "submittedFrigatePlus": "Frigate+에 프레임이 성공적으로 제출됐습니다"
+ },
+ "error": {
+ "submitFrigatePlusFailed": "Frigate+에 프레임을 보내지 못했습니다"
+ }
+ }
}
diff --git a/web/public/locales/ko/objects.json b/web/public/locales/ko/objects.json
index 769a51276..e3506b15d 100644
--- a/web/public/locales/ko/objects.json
+++ b/web/public/locales/ko/objects.json
@@ -2,5 +2,119 @@
"person": "사람",
"bicycle": "자전거",
"car": "차량",
- "motorcycle": "원동기"
+ "motorcycle": "원동기",
+ "airplane": "비행기",
+ "bus": "버스",
+ "train": "기차",
+ "boat": "보트",
+ "traffic_light": "신호등",
+ "fire_hydrant": "소화전",
+ "street_sign": "도로 표지판",
+ "stop_sign": "정지 표지판",
+ "parking_meter": "주차 요금 정산기",
+ "bench": "벤치",
+ "bird": "새",
+ "cat": "고양이",
+ "dog": "강아지",
+ "horse": "말",
+ "sheep": "양",
+ "cow": "소",
+ "elephant": "코끼리",
+ "bear": "곰",
+ "zebra": "얼룩말",
+ "giraffe": "기린",
+ "hat": "모자",
+ "backpack": "백팩",
+ "umbrella": "우산",
+ "shoe": "신발",
+ "eye_glasses": "안경",
+ "handbag": "핸드백",
+ "tie": "타이",
+ "suitcase": "슈트케이스",
+ "frisbee": "프리스비",
+ "skis": "스키",
+ "snowboard": "스노우보드",
+ "sports_ball": "스포츠 볼",
+ "kite": "연",
+ "baseball_bat": "야구 방망이",
+ "baseball_glove": "야구 글로브",
+ "skateboard": "스케이트보드",
+ "surfboard": "서핑보드",
+ "tennis_racket": "테니스 라켓",
+ "bottle": "병",
+ "plate": "번호판",
+ "wine_glass": "와인잔",
+ "cup": "컵",
+ "fork": "포크",
+ "knife": "칼",
+ "spoon": "숟가락",
+ "bowl": "보울",
+ "banana": "바나나",
+ "apple": "사과",
+ "sandwich": "샌드위치",
+ "orange": "오렌지",
+ "broccoli": "브로콜리",
+ "carrot": "당근",
+ "hot_dog": "핫도그",
+ "pizza": "피자",
+ "donut": "도넛",
+ "cake": "케이크",
+ "chair": "의자",
+ "couch": "소파",
+ "potted_plant": "화분",
+ "bed": "침대",
+ "mirror": "거울",
+ "dining_table": "식탁",
+ "window": "창문",
+ "desk": "책상",
+ "toilet": "화장실",
+ "door": "문",
+ "tv": "TV",
+ "laptop": "랩탑",
+ "mouse": "마우스",
+ "remote": "리모콘",
+ "keyboard": "키보드",
+ "cell_phone": "휴대폰",
+ "microwave": "전자레인지",
+ "oven": "오븐",
+ "toaster": "토스터기",
+ "sink": "싱크대",
+ "refrigerator": "냉장고",
+ "blender": "블렌더",
+ "book": "책",
+ "clock": "벽시계",
+ "vase": "꽃병",
+ "scissors": "가위",
+ "teddy_bear": "테디베어",
+ "hair_dryer": "헤어 드라이어",
+ "toothbrush": "칫솔",
+ "hair_brush": "빗",
+ "vehicle": "탈 것",
+ "squirrel": "다람쥐",
+ "deer": "사슴",
+ "animal": "동물",
+ "bark": "개",
+ "fox": "여우",
+ "goat": "염소",
+ "rabbit": "토끼",
+ "raccoon": "라쿤",
+ "robot_lawnmower": "로봇 잔디깎기",
+ "waste_bin": "쓰레기통",
+ "on_demand": "수동",
+ "face": "얼굴",
+ "license_plate": "차량 번호판",
+ "package": "패키지",
+ "bbq_grill": "바베큐 그릴",
+ "amazon": "Amazon",
+ "usps": "USPS",
+ "ups": "UPS",
+ "fedex": "FedEx",
+ "dhl": "DHL",
+ "an_post": "An Post",
+ "purolator": "Purolator",
+ "postnl": "PostNL",
+ "nzpost": "NZPost",
+ "postnord": "PostNord",
+ "gls": "GLS",
+ "dpd": "DPD"
}
diff --git a/web/public/locales/ko/views/configEditor.json b/web/public/locales/ko/views/configEditor.json
index 30311c9b7..bb8a84c2a 100644
--- a/web/public/locales/ko/views/configEditor.json
+++ b/web/public/locales/ko/views/configEditor.json
@@ -1,5 +1,18 @@
{
"documentTitle": "설정 편집기 - Frigate",
"configEditor": "설정 편집기",
- "safeConfigEditor": "설정 편집기 (안전 모드)"
+ "safeConfigEditor": "설정 편집기 (안전 모드)",
+ "safeModeDescription": "설정 오류로 인해 Frigate가 안전 모드로 전환되었습니다.",
+ "copyConfig": "설정 복사",
+ "saveAndRestart": "저장 & 재시작",
+ "saveOnly": "저장만 하기",
+ "confirm": "저장 없이 나갈까요?",
+ "toast": {
+ "success": {
+ "copyToClipboard": "설정이 클립보드에 저장되었습니다."
+ },
+ "error": {
+ "savingError": "설정 저장 오류"
+ }
+ }
}
diff --git a/web/public/locales/ko/views/events.json b/web/public/locales/ko/views/events.json
index c5b16d90f..971494a81 100644
--- a/web/public/locales/ko/views/events.json
+++ b/web/public/locales/ko/views/events.json
@@ -1,8 +1,51 @@
{
- "alerts": "알림",
- "detections": "탐지",
+ "alerts": "경보",
+ "detections": "대상 감지",
"motion": {
- "label": "움직임",
- "only": "움직임만"
- }
+ "label": "움직임 감지",
+ "only": "움직임 감지만"
+ },
+ "allCameras": "모든 카메라",
+ "empty": {
+ "alert": "다시 볼 '경보' 영상이 없습니다",
+ "detection": "다시 볼 '대상 감지' 영상이 없습니다",
+ "motion": "움직임 감지 데이터가 없습니다"
+ },
+ "timeline": "타임라인",
+ "timeline.aria": "타임라인 선택",
+ "events": {
+ "label": "이벤트",
+ "aria": "이벤트 선택",
+ "noFoundForTimePeriod": "이 시간대에 이벤트가 없습니다."
+ },
+ "detail": {
+ "noDataFound": "다시 볼 상세 데이터가 없습니다",
+ "aria": "상세 보기",
+ "trackedObject_one": "추적 대상",
+ "trackedObject_other": "추적 대상",
+ "noObjectDetailData": "상세 보기 데이터가 없습니다."
+ },
+ "objectTrack": {
+ "trackedPoint": "추적 포인트",
+ "clickToSeek": "이 시점으로 이동"
+ },
+ "documentTitle": "다시 보기 - Frigate",
+ "recordings": {
+ "documentTitle": "녹화 - Frigate"
+ },
+ "calendarFilter": {
+ "last24Hours": "최근 24시간"
+ },
+ "markAsReviewed": "'다시 봤음'으로 표시",
+ "markTheseItemsAsReviewed": "이 영상들을 '다시 봤음'으로 표시",
+ "newReviewItems": {
+ "label": "새로운 '다시 보기' 영상 보기",
+ "button": "새로운 '다시 보기' 영상"
+ },
+ "selected_one": "{{count}} 선택됨",
+ "selected_other": "{{count}} 선택됨",
+ "camera": "카메라",
+ "detected": "감지됨",
+ "suspiciousActivity": "수상한 행동",
+ "threateningActivity": "위협적인 행동"
}
diff --git a/web/public/locales/ko/views/explore.json b/web/public/locales/ko/views/explore.json
index 17aee9232..231eade30 100644
--- a/web/public/locales/ko/views/explore.json
+++ b/web/public/locales/ko/views/explore.json
@@ -1,4 +1,31 @@
{
"documentTitle": "탐색 - Frigate",
- "generativeAI": "생성형 AI"
+ "generativeAI": "생성형 AI",
+ "exploreMore": "{{label}} 더 많은 감지 대상 탐색하기",
+ "exploreIsUnavailable": {
+ "title": "탐색을 사용할 수 없습니다",
+ "embeddingsReindexing": {
+ "context": "감지 정보 재처리가 완료되면 탐색할 수 있습니다.",
+ "startingUp": "시작 중…",
+ "estimatedTime": "예상 남은시간:",
+ "finishingShortly": "곧 완료됩니다",
+ "step": {
+ "thumbnailsEmbedded": "처리된 썸네일: ",
+ "descriptionsEmbedded": "처리된 설명: ",
+ "trackedObjectsProcessed": "처리된 추적 감지: "
+ }
+ },
+ "downloadingModels": {
+ "context": "Frigate가 시맨틱 검색 기능을 지원하기 위해 필요한 임베딩 모델을 다운로드하고 있습니다. 네트워크 연결 속도에 따라 몇 분 정도 소요될 수 있습니다.",
+ "setup": {
+ "visionModel": "Vision model",
+ "visionModelFeatureExtractor": "Vision model feature extractor",
+ "textModel": "Text model",
+ "textTokenizer": "Text tokenizer"
+ }
+ }
+ },
+ "details": {
+ "timestamp": "시간 기록"
+ }
}
diff --git a/web/public/locales/ko/views/exports.json b/web/public/locales/ko/views/exports.json
index adc9fc3b1..f4c902602 100644
--- a/web/public/locales/ko/views/exports.json
+++ b/web/public/locales/ko/views/exports.json
@@ -2,7 +2,7 @@
"documentTitle": "내보내기 - Frigate",
"search": "검색",
"noExports": "내보내기가 없습니다",
- "deleteExport": "내보내기 제거",
+ "deleteExport": "내보내기 삭제",
"deleteExport.desc": "{{exportName}}을 지우시겠습니까?",
"editExport": {
"title": "내보내기 이름 변경",
diff --git a/web/public/locales/ko/views/faceLibrary.json b/web/public/locales/ko/views/faceLibrary.json
index 09b5d1a2a..e1204d852 100644
--- a/web/public/locales/ko/views/faceLibrary.json
+++ b/web/public/locales/ko/views/faceLibrary.json
@@ -1,10 +1,84 @@
{
"description": {
"placeholder": "이 모음집의 이름을 입력해주세요",
- "addFace": "얼굴 라이브러리에 새 컬렉션 추가하는 방법을 단계별로 알아보세요.",
+ "addFace": "얼굴 라이브러리에 새 모음집 추가하는 방법을 단계별로 알아보세요.",
"invalidName": "잘못된 이름입니다. 이름은 문자, 숫자, 공백, 따옴표 ('), 밑줄 (_), 그리고 붙임표 (-)만 포함이 가능합니다."
},
"details": {
- "person": "사람"
+ "person": "사람",
+ "subLabelScore": "보조 레이블 신뢰도",
+ "face": "얼굴 상세정보",
+ "timestamp": "시간 기록",
+ "unknown": "알 수 없음"
+ },
+ "selectItem": "{{item}} 선택",
+ "documentTitle": "얼굴 라이브러리 - Frigate",
+ "uploadFaceImage": {
+ "title": "얼굴 사진 올리기"
+ },
+ "collections": "모음집",
+ "createFaceLibrary": {
+ "title": "모음집 만들기",
+ "desc": "새로운 모음집 만들기",
+ "new": "새 얼굴 만들기"
+ },
+ "steps": {
+ "faceName": "얼굴 이름 입력",
+ "uploadFace": "얼굴 사진 올리기",
+ "nextSteps": "다음 단계"
+ },
+ "train": {
+ "title": "학습",
+ "aria": "학습 선택"
+ },
+ "selectFace": "얼굴 선택",
+ "deleteFaceLibrary": {
+ "title": "이름 삭제"
+ },
+ "deleteFaceAttempts": {
+ "title": "얼굴 삭제"
+ },
+ "renameFace": {
+ "title": "얼굴 이름 바꾸기",
+ "desc": "{{name}}의 새 이름을 입력하세요"
+ },
+ "button": {
+ "deleteFaceAttempts": "얼굴 삭제",
+ "addFace": "얼굴 추가",
+ "renameFace": "얼굴 이름 바꾸기",
+ "deleteFace": "얼굴 삭제",
+ "uploadImage": "이미지 올리기",
+ "reprocessFace": "얼굴 재조정"
+ },
+ "imageEntry": {
+ "validation": {
+ "selectImage": "이미지 파일을 선택해주세요."
+ },
+ "dropActive": "여기에 이미지 놓기…",
+ "dropInstructions": "이미지를 끌어다 놓거나 여기에 붙여넣으세요. 선택할 수도 있습니다.",
+ "maxSize": "최대 용량: {{size}}MB"
+ },
+ "nofaces": "얼굴을 찾을 수 없습니다",
+ "pixels": "{{area}}px",
+ "trainFaceAs": "얼굴을 다음과 같이 훈련하기:",
+ "trainFace": "얼굴 훈련하기",
+ "toast": {
+ "success": {
+ "uploadedImage": "이미지 업로드에 성공했습니다.",
+ "addFaceLibrary": "{{name}} 을 성공적으로 얼굴 라이브러리에 추가했습니다!",
+ "deletedFace_other": "{{count}} 얼굴을 성공적으로 삭제했습니다.",
+ "renamedFace": "얼굴 이름을 {{name}} 으로 성공적으로 바꿨습니다",
+ "trainedFace": "얼굴 훈련을 성공적으로 마쳤습니다.",
+ "updatedFaceScore": "얼굴 신뢰도를 성공적으로 업데이트 했습니다."
+ },
+ "error": {
+ "uploadingImageFailed": "이미지 업로드 실패:{{errorMessage}}",
+ "addFaceLibraryFailed": "얼굴 이름 설정 실패:{{errorMessage}}",
+ "deleteFaceFailed": "삭제 실패:{{errorMessage}}",
+ "deleteNameFailed": "이름 삭제 실패:{{errorMessage}}",
+ "renameFaceFailed": "이름 바꾸기 실패:{{errorMessage}}",
+ "trainFailed": "훈련 실패:{{errorMessage}}",
+ "updateFaceScoreFailed": "얼굴 신뢰도 업데이트 실패:{{errorMessage}}"
+ }
}
}
diff --git a/web/public/locales/ko/views/live.json b/web/public/locales/ko/views/live.json
index 835a4a7f9..bfc44d18f 100644
--- a/web/public/locales/ko/views/live.json
+++ b/web/public/locales/ko/views/live.json
@@ -1,8 +1,183 @@
{
- "documentTitle": "실시간 - Frigate",
- "documentTitle.withCamera": "실시간 - {{camera}} - Frigate",
+ "documentTitle": "실시간 보기 - Frigate",
+ "documentTitle.withCamera": "{{camera}} - 실시간 보기 - Frigate",
"lowBandwidthMode": "저대역폭 모드",
"twoWayTalk": {
- "enable": "양방향 말하기 활성화"
+ "enable": "양방향 말하기 활성화",
+ "disable": "양방향 말하기 비활성화"
+ },
+ "cameraAudio": {
+ "enable": "카메라 오디오 활성화",
+ "disable": "카메라 오디오 비활성화"
+ },
+ "ptz": {
+ "move": {
+ "clickMove": {
+ "label": "클릭해서 카메라 중앙 배치",
+ "enable": "클릭해서 움직이기 기능 활성화",
+ "disable": "클릭해서 움직이기 기능 비활성화"
+ },
+ "left": {
+ "label": "PTZ 카메라 왼쪽으로 이동"
+ },
+ "up": {
+ "label": "PTZ 카메라 위로 이동"
+ },
+ "down": {
+ "label": "PTZ 카메라 아래로 이동"
+ },
+ "right": {
+ "label": "PTZ 카메라 오른쪽으로 이동"
+ }
+ },
+ "zoom": {
+ "in": {
+ "label": "PTZ 카메라 확대"
+ },
+ "out": {
+ "label": "PTZ 카메라 축소"
+ }
+ },
+ "focus": {
+ "in": {
+ "label": "PTZ 카메라 포커스 인"
+ },
+ "out": {
+ "label": "PTZ 카메라 포커스 아웃"
+ }
+ },
+ "frame": {
+ "center": {
+ "label": "클릭해서 PTZ 카메라 중앙 배치"
+ }
+ },
+ "presets": "PTZ 카메라 프리셋"
+ },
+ "camera": {
+ "enable": "카메라 활성화",
+ "disable": "카메라 비활성화"
+ },
+ "muteCameras": {
+ "enable": "모든 카메라 음소거",
+ "disable": "모든 카메라 음소거 해제"
+ },
+ "detect": {
+ "enable": "감지 활성화",
+ "disable": "감지 비활성화"
+ },
+ "recording": {
+ "enable": "녹화 활성화",
+ "disable": "녹화 비활성화"
+ },
+ "snapshots": {
+ "enable": "스냅샷 활성화",
+ "disable": "스냅샷 비활성화"
+ },
+ "audioDetect": {
+ "enable": "오디오 감지 활성화",
+ "disable": "오디오 감지 비활성화"
+ },
+ "transcription": {
+ "enable": "실시간 오디오 자막 활성화",
+ "disable": "실시간 오디오 자막 비활성화"
+ },
+ "autotracking": {
+ "enable": "자동 추적 활성화",
+ "disable": "자동 추적 비활성화"
+ },
+ "streamStats": {
+ "enable": "스트림 통계 보기",
+ "disable": "스트림 통계 숨기기"
+ },
+ "manualRecording": {
+ "title": "수동 녹화",
+ "tips": "이 카메라의 녹화 보관 설정에 따라 인스턴트 스냅샷을 다운로드하거나 수동 녹화를 시작할 수 있습니다.",
+ "playInBackground": {
+ "label": "백그라운드에서 재생",
+ "desc": "이 옵션을 활성화하면 플레이어가 숨겨져도 계속 스트리밍됩니다."
+ },
+ "showStats": {
+ "label": "통계 보기",
+ "desc": "이 옵션을 활성화하면 카메라 피드에 스트림 통계가 나타납니다."
+ },
+ "debugView": "디버그 보기",
+ "start": "수동 녹화 시작",
+ "started": "수동 녹화 시작되었습니다.",
+ "failedToStart": "수동 녹화 시작이 실패했습니다.",
+ "recordDisabledTips": "이 카메라 설정에서 녹화가 비활성화 되었거나 제한되어 있어 스냅샷만 저장됩니다.",
+ "end": "수동 녹화 종료",
+ "ended": "수동 녹화가 종료되었습니다.",
+ "failedToEnd": "수동 녹화 종료가 실패했습니다."
+ },
+ "streamingSettings": "스트리밍 설정",
+ "notifications": "알림",
+ "audio": "오디오",
+ "suspend": {
+ "forTime": "일시정지 시간: "
+ },
+ "stream": {
+ "title": "스트림",
+ "audio": {
+ "available": "이 스트림에서 오디오를 사용할 수 있습니다",
+ "unavailable": "이 스트림에서 오디오를 사용할 수 없습니다",
+ "tips": {
+ "title": "이 스트림에서 오디오를 사용하려면 카메라에서 오디오를 출력하고 go2rtc에서 설정해야 합니다."
+ }
+ },
+ "debug": {
+ "picker": "디버그 모드에선 스트림 모드를 선택할 수 없습니다. 디버그 뷰에서는 항상 감지(Detect) 역할로 설정한 스트림을 사용합니다."
+ },
+ "twoWayTalk": {
+ "tips": "양방향 말하기 기능을 사용하려면 기기에서 기능을 지원해야하며 WebRTC를 설정해야합니다.",
+ "available": "이 기기는 양방향 말하기 기능을 사용할 수 있습니다",
+ "unavailable": "이 기기는 양방향 말하기 기능을 사용할 수 없습니다"
+ },
+ "lowBandwidth": {
+ "tips": "버퍼링 또는 스트림 오류로 실시간 화면을 저대역폭 모드로 변경되었습니다.",
+ "resetStream": "스트림 리셋"
+ },
+ "playInBackground": {
+ "label": "백그라운드에서 재생",
+ "tips": "이 옵션을 활성화하면 플레이어가 숨겨져도 스트리밍이 지속됩니다."
+ }
+ },
+ "cameraSettings": {
+ "title": "{{camera}} 설정",
+ "cameraEnabled": "카메라 활성화",
+ "objectDetection": "대상 감지",
+ "recording": "녹화",
+ "snapshots": "스냅샷",
+ "audioDetection": "오디오 감지",
+ "transcription": "오디오 자막",
+ "autotracking": "자동 추적"
+ },
+ "history": {
+ "label": "이전 영상 보기"
+ },
+ "effectiveRetainMode": {
+ "modes": {
+ "all": "전체",
+ "motion": "움직임 감지",
+ "active_objects": "활성 대상"
+ },
+ "notAllTips": "{{source}} 녹화 보관 설정이 mode: {{effectiveRetainMode}}로 되어 있어, 이 수동 녹화는 {{effectiveRetainModeName}}이(가) 있는 구간만 저장됩니다."
+ },
+ "editLayout": {
+ "label": "레이아웃 편집",
+ "group": {
+ "label": "카메라 그룹 편집"
+ },
+ "exitEdit": "편집 종료"
+ },
+ "noCameras": {
+ "title": "설정된 카메라 없음",
+ "description": "카메라를 연결해 시작하세요.",
+ "buttonText": "카메라 추가"
+ },
+ "snapshot": {
+ "takeSnapshot": "인스턴트 스냅샷 다운로드",
+ "noVideoSource": "스냅샷 찍을 비디오 소스가 없습니다.",
+ "captureFailed": "스냅샷 캡쳐를 하지 못했습니다.",
+ "downloadStarted": "스냅샷 다운로드가 시작됐습니다."
}
}
diff --git a/web/public/locales/ko/views/recording.json b/web/public/locales/ko/views/recording.json
index aa2715665..2aa9934de 100644
--- a/web/public/locales/ko/views/recording.json
+++ b/web/public/locales/ko/views/recording.json
@@ -1,5 +1,12 @@
{
"filter": "필터",
"export": "내보내기",
- "calendar": "달력"
+ "calendar": "날짜",
+ "filters": "필터",
+ "toast": {
+ "error": {
+ "noValidTimeSelected": "올바른 시간 범위를 선택하세요",
+ "endTimeMustAfterStartTime": "종료 시간은 시작 시간보다 뒤에 있어야합니다"
+ }
+ }
}
diff --git a/web/public/locales/ko/views/settings.json b/web/public/locales/ko/views/settings.json
index 90d864e5d..a5b1d5580 100644
--- a/web/public/locales/ko/views/settings.json
+++ b/web/public/locales/ko/views/settings.json
@@ -24,11 +24,99 @@
"documentTitle": {
"default": "설정 - Frigate",
"authentication": "인증 설정 - Frigate",
- "camera": "카메라 설정 - Frigate"
+ "camera": "카메라 설정 - Frigate",
+ "enrichments": "고급 설정 - Frigate",
+ "masksAndZones": "마스크와 구역 편집기 - Frigate",
+ "motionTuner": "움직임 감지 조정 - Frigate",
+ "object": "디버그 - Frigate",
+ "general": "일반 설정 - Frigate",
+ "frigatePlus": "Frigate+ 설정 - Frigate",
+ "notifications": "알림 설정 - Frigate",
+ "cameraManagement": "카메라 관리 - Frigate",
+ "cameraReview": "카메라 다시보기 설정 - Frigate"
},
"users": {
"table": {
"actions": "액션"
}
+ },
+ "menu": {
+ "ui": "UI",
+ "enrichments": "고급",
+ "cameras": "카메라 설정",
+ "masksAndZones": "마스크 / 구역",
+ "motionTuner": "움직임 감지 조정",
+ "triggers": "트리거",
+ "debug": "디버그",
+ "users": "사용자",
+ "roles": "역할",
+ "notifications": "알림",
+ "frigateplus": "Frigate+",
+ "cameraManagement": "관리",
+ "cameraReview": "다시보기"
+ },
+ "dialog": {
+ "unsavedChanges": {
+ "title": "저장되지 않은 변경 사항이 있습니다.",
+ "desc": "계속하기 전에 변경 사항을 저장하시겠습니까?"
+ }
+ },
+ "cameraSetting": {
+ "camera": "카메라",
+ "noCamera": "카메라 없음"
+ },
+ "general": {
+ "title": "일반 세팅",
+ "liveDashboard": {
+ "title": "실시간 보기 대시보드",
+ "automaticLiveView": {
+ "label": "자동으로 실시간 보기 전환",
+ "desc": "활동이 감지되면 자동으로 실시간 보기로 전환합니다. 이 옵션을 끄면 대시보드의 카메라 화면은 1분마다 한 번만 갱신됩니다."
+ },
+ "playAlertVideos": {
+ "label": "경보 영상 보기",
+ "desc": "기본적으로 실시간 보기 대시보드의 최근 경보 영상을 작은 반복 영상으로 재생됩니다. 이 옵션을 끄면 이 기기(또는 브라우저)에서는 정적 이미지로만 표시됩니다."
+ }
+ },
+ "storedLayouts": {
+ "title": "저장된 레이아웃",
+ "desc": "카메라 그룹의 화면 배치는 드래그하거나 크기를 조정할 수 있습니다. 변경된 위치는 브라우저의 로컬 저장소에 저장됩니다.",
+ "clearAll": "레이아웃 지우기"
+ },
+ "cameraGroupStreaming": {
+ "title": "카메라 그룹 스트리밍 설정",
+ "desc": "각각의 카메라 그룹의 스트리밍 설정은 브라우저의 로컬 저장소에 저장됩니다.",
+ "clearAll": "스트리밍 설정 모두 지우기"
+ },
+ "recordingsViewer": {
+ "title": "녹화 영상 보기",
+ "defaultPlaybackRate": {
+ "label": "기본으로 설정된 다시보기 배속",
+ "desc": "다시보기 영상 재생할 때 기본 배속을 설정합니다."
+ }
+ },
+ "calendar": {
+ "title": "캘린더",
+ "firstWeekday": {
+ "label": "주 첫째날",
+ "desc": "다시보기 캘린더에서 주가 시작되는 첫째날을 설정합니다.",
+ "sunday": "일요일",
+ "monday": "월요일"
+ }
+ },
+ "toast": {
+ "success": {
+ "clearStoredLayout": "{{cameraName}}의 레이아웃을 지웠습니다",
+ "clearStreamingSettings": "모든 카메라 그룹 스트리밍 설정을 지웠습니다."
+ },
+ "error": {
+ "clearStoredLayoutFailed": "레이아웃 지우기에 실패했습니다:{{errorMessage}}",
+ "clearStreamingSettingsFailed": "카메라 스트리밍 설정 지우기에 실패했습니다:{{errorMessage}}"
+ }
+ }
+ },
+ "enrichments": {
+ "title": "고급 설정",
+ "unsavedChanges": "변경된 고급 설정을 저장하지 않았습니다"
}
}
diff --git a/web/public/locales/ko/views/system.json b/web/public/locales/ko/views/system.json
index b6cae8635..4ed89d1ce 100644
--- a/web/public/locales/ko/views/system.json
+++ b/web/public/locales/ko/views/system.json
@@ -1,7 +1,186 @@
{
"documentTitle": {
"cameras": "카메라 통계 - Frigate",
- "storage": "스토리지 통계 - Frigate",
- "general": "기본 통계 - Frigate"
+ "storage": "저장소 통계 - Frigate",
+ "general": "기본 통계 - Frigate",
+ "enrichments": "고급 통계 - Frigate",
+ "logs": {
+ "frigate": "Frigate 로그 -Frigate",
+ "go2rtc": "Go2RTC 로그 - Frigate",
+ "nginx": "Nginx 로그 - Frigate"
+ }
+ },
+ "title": "시스템",
+ "metrics": "시스템 통계",
+ "logs": {
+ "download": {
+ "label": "다운로드 로그"
+ },
+ "copy": {
+ "label": "클립보드에 복사하기",
+ "success": "클립보드에 로그가 복사되었습니다",
+ "error": "클립보드에 로그를 저장할 수 없습니다"
+ },
+ "type": {
+ "label": "타입",
+ "timestamp": "시간 기록",
+ "tag": "태그",
+ "message": "메시지"
+ },
+ "tips": "서버에서 로그 스트리밍 중",
+ "toast": {
+ "error": {
+ "fetchingLogsFailed": "로그 가져오기 오류: {{errorMessage}}",
+ "whileStreamingLogs": "스크리밍 로그 중 오류: {{errorMessage}}"
+ }
+ }
+ },
+ "general": {
+ "title": "기본",
+ "detector": {
+ "title": "감지기",
+ "inferenceSpeed": "감지 추론 속도",
+ "temperature": "감지기 온도",
+ "cpuUsage": "감지기 CPU 사용률",
+ "memoryUsage": "감지기 메모리 사용률",
+ "cpuUsageInformation": "감지 모델로 데이터를 입력/출력하기 위한 전처리 과정에서 사용되는 CPU 사용량입니다. GPU나 가속기를 사용하는 경우에도 추론 자체의 사용량은 포함되지 않습니다."
+ },
+ "hardwareInfo": {
+ "title": "하드웨어 정보",
+ "gpuUsage": "GPU 사용률",
+ "gpuMemory": "GPU 메모리",
+ "gpuEncoder": "GPU 인코더",
+ "gpuDecoder": "GPU 디코더",
+ "gpuInfo": {
+ "vainfoOutput": {
+ "title": "Vainfo 출력",
+ "processOutput": "프로세스 출력:",
+ "processError": "프로세스 오류:",
+ "returnCode": "리턴 코드:{{code}}"
+ },
+ "nvidiaSMIOutput": {
+ "title": "Nvidia SMI 출력",
+ "name": "이름:{{name}}",
+ "driver": "드라이버:{{driver}}",
+ "cudaComputerCapability": "CUDA Compute Capability:{{cuda_compute}}",
+ "vbios": "VBios Info: {{vbios}}"
+ },
+ "copyInfo": {
+ "label": "GPU 정보 복사"
+ },
+ "toast": {
+ "success": "GPU 정보가 클립보드에 복사되었습니다"
+ },
+ "closeInfo": {
+ "label": "GPU 정보 닫기"
+ }
+ },
+ "npuUsage": "NPU 사용률",
+ "npuMemory": "NPU 메모리"
+ },
+ "otherProcesses": {
+ "title": "다른 프로세스들",
+ "processCpuUsage": "사용중인 CPU 사용률",
+ "processMemoryUsage": "사용중인 메모리 사용률"
+ }
+ },
+ "storage": {
+ "title": "스토리지",
+ "overview": "전체 현황",
+ "recordings": {
+ "title": "녹화",
+ "tips": "이 값은 Frigate 데이터베이스의 녹화 영상이 사용 중인 전체 저장 공간입니다. Frigate는 디스크 내 다른 파일들의 저장 공간은 추적하지 않습니다.",
+ "earliestRecording": "가장 오래된 녹화 영상:"
+ },
+ "cameraStorage": {
+ "title": "카메라 저장소",
+ "camera": "카메라",
+ "unusedStorageInformation": "미사용 저장소 정보",
+ "storageUsed": "용량",
+ "percentageOfTotalUsed": "전체 대비 비율",
+ "bandwidth": "대역폭",
+ "unused": {
+ "title": "미사용",
+ "tips": "드라이브에 Frigate 녹화 영상 외에 다른 파일이 저장되어 있는 경우, 이 값은 Frigate에서 실제 사용 가능한 여유 공간을 정확히 나타내지 않을 수 있습니다. Frigate는 녹화 영상 외의 저장 공간 사용량을 추적하지 않습니다."
+ }
+ },
+ "shm": {
+ "title": "SHM (공유 메모리) 할당량",
+ "warning": "현재 SHM 사이즈가 {{total}}MB로 너무 적습니다. 최소 {{min_shm}}MB 이상 올려주세요."
+ }
+ },
+ "cameras": {
+ "title": "카메라",
+ "overview": "전체 현황",
+ "info": {
+ "aspectRatio": "종횡비",
+ "fetching": "카메라 데이터 수집 중",
+ "stream": "스트림 {{idx}}",
+ "streamDataFromFFPROBE": "스트림 데이터는 ffprobe에서 받습니다.",
+ "video": "비디오:",
+ "codec": "코덱:",
+ "resolution": "해상도:",
+ "fps": "FPS:",
+ "unknown": "알 수 없음",
+ "audio": "오디오:",
+ "error": "오류:{{error}}",
+ "cameraProbeInfo": "{{camera}} 카메라 장치 정보",
+ "tips": {
+ "title": "카메라 장치 정보"
+ }
+ },
+ "framesAndDetections": "프레임 / 감지 (Detections)",
+ "label": {
+ "camera": "카메라",
+ "detect": "감지",
+ "skipped": "건너뜀",
+ "ffmpeg": "FFmpeg",
+ "capture": "캡쳐",
+ "overallFramesPerSecond": "전체 초당 프레임",
+ "overallDetectionsPerSecond": "전체 초당 감지",
+ "overallSkippedDetectionsPerSecond": "전체 초당 건너뛴 감지",
+ "cameraFfmpeg": "{{camName}} FFmpeg",
+ "cameraCapture": "{{camName}} 캡쳐",
+ "cameraDetect": "{{camName}} 감지",
+ "cameraFramesPerSecond": "{{camName}} 초당 프레임",
+ "cameraDetectionsPerSecond": "{{camName}} 초당 감지",
+ "cameraSkippedDetectionsPerSecond": "{{camName}} 초당 건너뛴 감지"
+ },
+ "toast": {
+ "success": {
+ "copyToClipboard": "데이터 정보가 클립보드에 복사되었습니다."
+ },
+ "error": {
+ "unableToProbeCamera": "카메라 정보 알 수 없음: {{errorMessage}}"
+ }
+ }
+ },
+ "lastRefreshed": "마지막 새로고침: ",
+ "stats": {
+ "ffmpegHighCpuUsage": "{{camera}} FFmpeg CPU 사용량이 높습니다 ({{ffmpegAvg}}%)",
+ "detectHighCpuUsage": "{{camera}} 감지 CPU 사용량이 높습니다 ({{detectAvg}}%)",
+ "healthy": "시스템 정상",
+ "reindexingEmbeddings": "Reindexing embeddings ({{processed}}% complete)",
+ "cameraIsOffline": "{{camera}} 오프라인입니다",
+ "detectIsSlow": "{{detect}} (이/가) 느립니다 ({{speed}} ms)",
+ "detectIsVerySlow": "{{detect}} (이/가) 매우 느립니다 ({{speed}} ms)",
+ "shmTooLow": "/dev/shm 할당량을 ({{total}} MB) 최소 {{min}} MB 이상 증가시켜야합니다."
+ },
+ "enrichments": {
+ "title": "추가 분석 정보",
+ "infPerSecond": "초당 추론 속도",
+ "embeddings": {
+ "image_embedding": "이미지 임베딩",
+ "text_embedding": "텍스트 임베딩",
+ "face_recognition": "얼굴 인식",
+ "plate_recognition": "번호판 인식",
+ "image_embedding_speed": "이미지 임베딩 속도",
+ "face_embedding_speed": "얼굴 임베딩 속도",
+ "face_recognition_speed": "얼굴 인식 속도",
+ "plate_recognition_speed": "번호판 인식 속도",
+ "text_embedding_speed": "텍스트 임베딩 속도",
+ "yolov9_plate_detection_speed": "YOLOv9 플레이트 감지 속도",
+ "yolov9_plate_detection": "YOLOv9 플레이트 감지"
+ }
}
}