diff --git a/web/public/locales/yue-Hant/common.json b/web/public/locales/yue-Hant/common.json new file mode 100644 index 000000000..46ecdac30 --- /dev/null +++ b/web/public/locales/yue-Hant/common.json @@ -0,0 +1,240 @@ +{ + "time": { + "untilForTime": "直到 {{time}}", + "untilRestart": "直到重新啟動", + "yesterday": "昨日", + "last7": "過去7日", + "last14": "過去14日", + "last30": "過去30日", + "thisWeek": "今個星期", + "lastMonth": "上個月", + "10minutes": "10分鐘", + "12hours": "12 小時", + "24hours": "24 小時", + "am": "上午", + "year_other": "{{time}}年", + "mo": "{{time}}月", + "m": "{{time}}分鐘", + "minute_other": "{{time}}分鐘", + "formattedTimestamp": { + "12hour": "M月d日 ah:mm:ss", + "24hour": "M月d日 HH:mm:ss" + }, + "formattedTimestampHourMinute": { + "12hour": "a h:mm", + "24hour": "HH:mm" + }, + "formattedTimestampHourMinuteSecond": { + "12hour": "ah:mm:ss", + "24hour": "HH:mm:ss" + }, + "formattedTimestampFilename": { + "24hour": "yy年MM月dd日 HH時mm分ss秒", + "12hour": "yy年MM月dd日 ah時mm分ss秒" + }, + "s": "{{time}}秒", + "formattedTimestamp2": { + "12hour": "MM月dd日 ah:mm:ss", + "24hour": "MM月dd日 HH:mm:ss" + }, + "thisMonth": "今個月", + "pm": "下午", + "formattedTimestampMonthDayHourMinute": { + "24hour": "M月d日 HH:mm", + "12hour": "M月d日 ah:mm" + }, + "justNow": "剛剛", + "day_other": "{{time}}日", + "hour_other": "{{time}}小時", + "30minutes": "30分鐘", + "5minutes": "5分鐘", + "yr": "{{time}}年", + "today": "今日", + "month_other": "{{time}}月", + "second_other": "{{time}}秒", + "untilForRestart": "直到 Frigate 重新啟動。", + "ago": "{{timeAgo}} 前", + "d": "{{time}}日", + "lastWeek": "上個星期", + "formattedTimestampMonthDayYearHourMinute": { + "12hour": "yyyy年M月d日 ah:mm", + "24hour": "yyyy年M月d日 HH:mm" + }, + "1hour": "1 小時", + "h": "{{time}}小時", + "formattedTimestampMonthDay": "M月d日" + }, + "unit": { + "speed": { + "mph": "英里/小時", + "kph": "公里/小時" + } + }, + "label": { + "back": "返回" + }, + "button": { + "apply": "套用", + "reset": "重置", + "done": "完成", + "enabled": "已啟用", + "enable": "啟用", + "disabled": "已停用", + "disable": "停用", + "save": "儲存", + "saving": "儲存中…", + "cancel": "取消", + "close": "關閉", + "copy": "複製", + "back": "返回", + "history": "歷史記錄", + "fullscreen": "全螢幕", + "exitFullscreen": "離開全螢幕", + "pictureInPicture": "畫中畫", + "twoWayTalk": "雙向通話", + "cameraAudio": "鏡頭音訊", + "suspended": "已暫停", + "export": "匯出", + "deleteNow": "立即刪除", + "next": "下一步", + "play": "播放", + "no": "否", + "copyCoordinates": "複製座標", + "delete": "刪除", + "off": "關閉", + "edit": "編輯", + "on": "開啟", + "yes": "是", + "info": "資訊", + "download": "下載", + "unsuspended": "取消暫停", + "unselect": "取消選取" + }, + "menu": { + "system": "系統", + "systemMetrics": "系統指標", + "configuration": "設定", + "systemLogs": "系統日誌", + "settings": "設定", + "configurationEditor": "設定編輯器", + "languages": "語言", + "language": { + "en": "English (英文)", + "es": "Español (西班牙文)", + "zhCN": "简体中文 (簡體中文)", + "hi": "हिन्दी (印地文)", + "fr": "Français (法文)", + "de": "Deutsch (德文)", + "ja": "日本語 (日文)", + "it": "Italiano (意大利文)", + "tr": "Türkçe (土耳其文)", + "nl": "Nederlands (荷蘭文)", + "cs": "Čeština (捷克文)", + "nb": "Norsk Bokmål (挪威文)", + "ko": "한국어 (韓文)", + "vi": "Tiếng Việt (越南文)", + "fa": "فارسی (波斯文)", + "pl": "Polski (波蘭文)", + "el": "Ελληνικά (希臘文)", + "ro": "Română (羅馬尼亞文)", + "hu": "Magyar (匈牙利文)", + "fi": "Suomi (芬蘭文)", + "da": "Dansk (丹麥文)", + "sk": "Slovenčina (斯洛伐克文)", + "withSystem": { + "label": "使用系統語言設定" + }, + "ru": "Русский (俄文)", + "sv": "Svenska (瑞典文)", + "ar": "العربية (阿拉伯文)", + "pt": "Português (葡萄牙文)", + "uk": "Українська (烏克蘭文)", + "he": "עברית (希伯來文)" + }, + "appearance": "外觀", + "darkMode": { + "label": "深色模式", + "light": "淺色", + "dark": "深色", + "withSystem": { + "label": "使用系統模式設定" + } + }, + "withSystem": "系統", + "theme": { + "label": "主題", + "blue": "藍色", + "green": "綠色", + "nord": "北歐風", + "red": "紅色", + "default": "預設", + "contrast": "高對比" + }, + "documentation": { + "title": "文件", + "label": "Frigate 文件" + }, + "restart": "重新啟動 Frigate", + "live": { + "title": "即時", + "allCameras": "所有鏡頭", + "cameras": { + "title": "鏡頭", + "count_other": "{{count}} 個鏡頭" + } + }, + "review": "審查", + "explore": "瀏覽", + "export": "匯出", + "uiPlayground": "UI 測試場", + "faceLibrary": "臉部資料庫", + "user": { + "title": "使用者", + "logout": "登出", + "account": "帳戶", + "current": "當前使用者:{{user}}", + "anonymous": "匿名", + "setPassword": "設定密碼" + }, + "help": "幫助" + }, + "role": { + "admin": "管理員", + "viewer": "檢視者", + "desc": "管理員擁有 Frigate UI 全功能存取權限。檢視者只能查看鏡頭、審查項目和歷史影像。", + "title": "角色" + }, + "pagination": { + "label": "分頁", + "previous": { + "title": "上一頁", + "label": "前往上一頁" + }, + "next": { + "title": "下一頁", + "label": "前往下一頁" + }, + "more": "更多頁數" + }, + "accessDenied": { + "title": "拒絕存取", + "documentTitle": "拒絕存取 - Frigate", + "desc": "你無權查看此頁面。" + }, + "selectItem": "選擇 {{item}}", + "toast": { + "save": { + "error": { + "noMessage": "儲存設定變更失敗", + "title": "儲存設定變更失敗:{{errorMessage}}" + }, + "title": "儲存" + }, + "copyUrlToClipboard": "已複製 URL 到剪貼簿。" + }, + "notFound": { + "documentTitle": "找不到頁面 - Frigate", + "desc": "找不到頁面", + "title": "404" + } +} diff --git a/web/public/locales/yue-Hant/components/camera.json b/web/public/locales/yue-Hant/components/camera.json new file mode 100644 index 000000000..80646f1ac --- /dev/null +++ b/web/public/locales/yue-Hant/components/camera.json @@ -0,0 +1,83 @@ +{ + "group": { + "camera": { + "setting": { + "audio": { + "tips": { + "title": "此串流必須從你的鏡頭輸出音訊並在 go2rtc 中設定。", + "document": "閱讀文件 " + } + }, + "streamMethod": { + "method": { + "continuousStreaming": { + "desc": { + "warning": "持續串流可能導致高頻寬使用及效能問題,請小心使用。", + "title": "即使沒有偵測到活動,只要在控制台上可見,鏡頭影像也會一直保持即時串流。" + }, + "label": "持續串流" + }, + "smartStreaming": { + "label": "智能串流(建議)", + "desc": "當沒有偵測到活動時,智能串流會每分鐘更新一次鏡頭影像以節省頻寬和資源。當偵測到活動時,影像會無縫切換到即時串流。" + }, + "noStreaming": { + "label": "不串流", + "desc": "鏡頭影像每分鐘只會更新一次,不會進行即時串流。" + } + }, + "label": "串流方式" + }, + "compatibilityMode": { + "label": "相容模式", + "desc": "只有當你的鏡頭串流出現色彩異常及右側有斜線時,才啟用此選項。" + }, + "label": "鏡頭串流設定", + "title": "{{cameraName}} 串流設定", + "desc": "更改此鏡頭群組控制台的即時串流選項。這些設定是裝置/瀏覽器專屬的。", + "audioIsAvailable": "此串流有提供音訊", + "audioIsUnavailable": "此串流沒有音訊" + } + }, + "delete": { + "confirm": { + "title": "確認刪除", + "desc": "你確定要刪除鏡頭群組 {{name}} 嗎?" + }, + "label": "刪除鏡頭群組" + }, + "name": { + "errorMessage": { + "exists": "鏡頭群組名稱已存在。", + "invalid": "鏡頭群組名稱無效。", + "mustLeastCharacters": "鏡頭群組名稱必須至少包含兩個字元。", + "nameMustNotPeriod": "鏡頭群組名稱不能包含句號。" + }, + "placeholder": "請輸入名稱…", + "label": "名稱" + }, + "icon": "圖標", + "cameras": { + "desc": "為此群組選擇鏡頭。", + "label": "鏡頭" + }, + "label": "鏡頭群組", + "add": "新增鏡頭群組", + "edit": "編輯鏡頭群組", + "success": "鏡頭群組({{name}})已儲存。" + }, + "debug": { + "options": { + "label": "設定", + "title": "選項", + "showOptions": "顯示選項", + "hideOptions": "隱藏選項" + }, + "mask": "遮罩", + "boundingBox": "框選區", + "motion": "移動", + "regions": "大區域", + "timestamp": "時間戳記", + "zones": "區域" + } +} diff --git a/web/public/locales/yue-Hant/components/dialog.json b/web/public/locales/yue-Hant/components/dialog.json new file mode 100644 index 000000000..f676ce245 --- /dev/null +++ b/web/public/locales/yue-Hant/components/dialog.json @@ -0,0 +1,108 @@ +{ + "restart": { + "title": "你確定要重新啟動 Frigate 嗎?", + "button": "重新啟動", + "restarting": { + "title": "Frigate 正在重新啟動", + "content": "此頁面將在 {{countdown}} 秒後重新載入。", + "button": "立即強制重新載入" + } + }, + "explore": { + "plus": { + "submitToPlus": { + "label": "提交到 Frigate+", + "desc": "位於你想避免的區域的物件並不是誤判。提交這些作為誤判會令模型混淆。" + }, + "review": { + "question": { + "label": "確認此標籤給 Frigate Plus", + "ask_a": "此物件是 {{label}} 嗎?", + "ask_an": "此物件是 {{label}} 嗎?", + "ask_full": "此物件是 {{untranslatedLabel}}({{translatedLabel}})嗎?" + }, + "state": { + "submitted": "已提交" + } + } + }, + "video": { + "viewInHistory": "在歷史記錄中查看" + } + }, + "export": { + "time": { + "fromTimeline": "從時間線選取", + "lastHour_other": "最后{{count}}小時", + "end": { + "label": "選擇結束時間", + "title": "結束時間" + }, + "custom": "自訂", + "start": { + "title": "開始時間", + "label": "選擇開始時間" + } + }, + "name": { + "placeholder": "為匯出命名" + }, + "select": "選取", + "export": "匯出", + "selectOrExport": "選取或匯出", + "toast": { + "error": { + "failed": "無法開始匯出:{{error}}", + "noVaildTimeSelected": "沒有選取有效的時間範圍", + "endTimeMustAfterStartTime": "結束時間必須在開始時間之後" + }, + "success": "成功開始匯出。請到 /exports 資料夾查看檔案。" + }, + "fromTimeline": { + "saveExport": "儲存匯出", + "previewExport": "預覽匯出" + } + }, + "streaming": { + "label": "串流", + "restreaming": { + "disabled": "此鏡頭未啟用重串流。", + "desc": { + "title": "設定 go2rtc 以啟用此鏡頭的更多即時預覽選項及音訊。", + "readTheDocumentation": "閱讀文件" + } + }, + "showStats": { + "desc": "啟用此選項可在鏡頭畫面上顯示串流統計資料。", + "label": "顯示串流統計資料" + }, + "debugView": "除錯檢視" + }, + "search": { + "saveSearch": { + "label": "儲存搜尋", + "desc": "請為這個已儲存的搜尋輸入名稱。", + "placeholder": "請輸入搜尋名稱", + "overwrite": "{{searchName}} 已存在。儲存將會覆蓋現有資料。", + "button": { + "save": { + "label": "儲存此搜尋" + } + }, + "success": "搜尋({{searchName}})已儲存。" + } + }, + "recording": { + "confirmDelete": { + "title": "確認刪除", + "desc": { + "selected": "你確定要刪除與此審查項目相關的所有錄影嗎?

按住 Shift 鍵可略過未來此對話框。" + } + }, + "button": { + "export": "匯出", + "markAsReviewed": "標記為已審查", + "deleteNow": "立即刪除" + } + } +} diff --git a/web/public/locales/yue-Hant/components/filter.json b/web/public/locales/yue-Hant/components/filter.json new file mode 100644 index 000000000..dc87bdb2c --- /dev/null +++ b/web/public/locales/yue-Hant/components/filter.json @@ -0,0 +1,125 @@ +{ + "reset": { + "label": "重設篩選條件為預設值" + }, + "subLabels": { + "all": "所有子標籤", + "label": "子標籤" + }, + "score": "分數", + "features": { + "label": "特徵", + "hasSnapshot": "有快照", + "hasVideoClip": "有影片片段", + "submittedToFrigatePlus": { + "label": "已提交到 Frigate+", + "tips": "你必須先篩選出有快照的追蹤物件。

沒有快照的追蹤物件無法提交到 Frigate+。" + } + }, + "sort": { + "label": "排序", + "dateAsc": "日期(由舊到新)", + "dateDesc": "日期(由新到舊)", + "scoreAsc": "物件分數(由細到大)", + "scoreDesc": "物件分數(由大到細)", + "speedAsc": "預計速度(由慢到快)", + "speedDesc": "預計速度(由快到慢)", + "relevance": "相關性" + }, + "cameras": { + "label": "鏡頭篩選", + "all": { + "title": "所有鏡頭", + "short": "鏡頭" + } + }, + "review": { + "showReviewed": "顯示已審查" + }, + "motion": { + "showMotionOnly": "只顯示有移動" + }, + "explore": { + "settings": { + "title": "設定", + "defaultView": { + "summary": "摘要", + "unfilteredGrid": "未篩選網格", + "desc": "當未選取篩選條件時,顯示每個標籤最近追蹤物件的摘要,或顯示未篩選的網格。", + "title": "預設檢視" + }, + "gridColumns": { + "title": "網格欄數", + "desc": "選擇網格檢視中的欄數。" + }, + "searchSource": { + "label": "搜尋來源", + "desc": "選擇搜尋追蹤物件的縮圖還是描述。", + "options": { + "thumbnailImage": "縮圖", + "description": "描述" + } + } + }, + "date": { + "selectDateBy": { + "label": "選擇日期進行篩選" + } + } + }, + "logSettings": { + "filterBySeverity": "依嚴重程度篩選日誌", + "loading": { + "desc": "當日誌窗格捲動到底部時,新日誌將自動串流顯示。", + "title": "載入中" + }, + "label": "篩選日誌等級", + "allLogs": "所有日誌", + "disableLogStreaming": "停用日誌串流" + }, + "trackedObjectDelete": { + "title": "確認刪除", + "toast": { + "success": "成功刪除追蹤物件。", + "error": "刪除追蹤物件失敗:{{errorMessage}}" + }, + "desc": "刪除這 {{objectLength}} 個追蹤物件將會移除快照、儲存的嵌入資料,以及相關的物件生命週期記錄。歷史檢視中的錄影檔案不會被刪除。

你確定要繼續嗎?

按住 Shift 鍵可略過未來此對話框。" + }, + "recognizedLicensePlates": { + "loading": "載入已識別車牌中…", + "noLicensePlatesFound": "找不到車牌。", + "selectPlatesFromList": "從列表中選取一個或多個車牌。", + "placeholder": "輸入以搜尋車牌...", + "title": "已識別車牌", + "loadFailed": "載入已識別車牌失敗。" + }, + "estimatedSpeed": "預計速度({{unit}})", + "labels": { + "label": "標籤", + "count_one": "{{count}} 個標籤", + "all": { + "title": "所有標籤", + "short": "標籤" + }, + "count_other": "{{count}} 個標籤" + }, + "zoneMask": { + "filterBy": "按區域遮罩篩選" + }, + "zones": { + "label": "區域", + "all": { + "short": "區域", + "title": "所有區域" + } + }, + "filter": "篩選", + "dates": { + "all": { + "title": "所有日期", + "short": "日期" + } + }, + "more": "更多篩選條件", + "timeRange": "時間範圍" +} diff --git a/web/public/locales/yue-Hant/components/player.json b/web/public/locales/yue-Hant/components/player.json new file mode 100644 index 000000000..4fe43d29f --- /dev/null +++ b/web/public/locales/yue-Hant/components/player.json @@ -0,0 +1,51 @@ +{ + "noRecordingsFoundForThisTime": "此時間段內沒有錄影", + "noPreviewFound": "找不到預覽", + "submitFrigatePlus": { + "submit": "提交", + "title": "提交此畫面至 Frigate+?" + }, + "streamOffline": { + "desc": "{{cameraName}} 的 detect 串流未接收到任何畫面,請檢查錯誤日誌", + "title": "串流已離線" + }, + "cameraDisabled": "鏡頭已停用", + "stats": { + "bandwidth": { + "short": "頻寬", + "title": "頻寬:" + }, + "latency": { + "value": "{{seconds}} 秒", + "short": { + "value": "{{seconds}} 秒", + "title": "延遲" + }, + "title": "延遲:" + }, + "totalFrames": "總畫面數:", + "droppedFrames": { + "short": { + "title": "已丟棄", + "value": "{{droppedFrames}} 個畫面" + }, + "title": "丟棄畫面數:" + }, + "decodedFrames": "解碼畫面數:", + "droppedFrameRate": "畫面丟棄率:", + "streamType": { + "title": "串流類型:", + "short": "類型" + } + }, + "toast": { + "success": { + "submittedFrigatePlus": "成功提交畫面至 Frigate+" + }, + "error": { + "submitFrigatePlusFailed": "提交畫面至 Frigate+ 失敗" + } + }, + "noPreviewFoundFor": "找不到 {{cameraName}} 的預覽", + "livePlayerRequiredIOSVersion": "此串流類型需要 iOS 17.1 或以上版本。" +} diff --git a/web/public/locales/yue-Hant/views/explore.json b/web/public/locales/yue-Hant/views/explore.json new file mode 100644 index 000000000..bf35cacde --- /dev/null +++ b/web/public/locales/yue-Hant/views/explore.json @@ -0,0 +1,198 @@ +{ + "documentTitle": "瀏覽 - Frigate", + "generativeAI": "生成式人工智能", + "exploreIsUnavailable": { + "title": "無法使用瀏覽功能", + "embeddingsReindexing": { + "startingUp": "啟動中…", + "estimatedTime": "預計剩餘時間:", + "finishingShortly": "即將完成", + "step": { + "thumbnailsEmbedded": "已嵌入縮圖: ", + "descriptionsEmbedded": "已嵌入描述: ", + "trackedObjectsProcessed": "已處理的追蹤物件: " + }, + "context": "完成重新索引追蹤物件的嵌入後即可使用瀏覽功能。" + }, + "downloadingModels": { + "tips": { + "context": "下載完成後,你可能需要重新索引追蹤物件的嵌入。", + "documentation": "閱讀文件" + }, + "error": "發生錯誤。請檢查 Frigate 日誌。", + "context": "Frigate 正在下載必要的嵌入模型以支援語意搜尋功能。這可能需要幾分鐘,視乎你的網絡速度。", + "setup": { + "textTokenizer": "文字分詞器", + "textModel": "文字模型", + "visionModelFeatureExtractor": "視覺模型特徵提取器", + "visionModel": "視覺模型" + } + } + }, + "trackedObjectDetails": "追蹤物件詳情", + "type": { + "details": "詳情", + "snapshot": "快照", + "video": "影片", + "object_lifecycle": "物件生命周期" + }, + "objectLifecycle": { + "title": "物件生命周期", + "noImageFound": "此時間點找不到圖像。", + "createObjectMask": "建立物件遮罩", + "lifecycleItemDesc": { + "active": "{{label}} 變為活躍", + "stationary": "{{label}} 變為靜止", + "attribute": { + "faceOrLicense_plate": "偵測到 {{label}} 的 {{attribute}}", + "other": "{{label}} 被識別為 {{attribute}}" + }, + "header": { + "zones": "區域", + "ratio": "比例", + "area": "區域範圍" + }, + "heard": "聽到 {{label}}", + "entered_zone": "{{label}} 進入了 {{zones}}", + "gone": "{{label}} 離開了", + "visible": "偵測到 {{label}}", + "external": "偵測到 {{label}}" + }, + "annotationSettings": { + "title": "註解設定", + "showAllZones": { + "title": "顯示所有區域", + "desc": "在物件進入區域的畫面上總是顯示區域。" + }, + "offset": { + "tips": "提示:試想像有一段事件片段,當中有人由左行到右。如果事件時間線上的方框一直偏向人物的左邊,則應該減少數值。相反,如果有人由左行到右,而方框一直走在人物前面,則應該增加數值。", + "desc": "此資料來自鏡頭的偵測串流,但覆蓋在錄影串流的畫面上。兩個串流通常無法完全同步。因此邊界框和影片可能無法完全對齊。不過可以使用 annotation_offset 欄位來調整。", + "label": "註解偏移量", + "documentation": "閱讀文件 ", + "millisecondsToOffset": "偵測註解的偏移毫秒數。預設:0" + } + }, + "carousel": { + "previous": "上一張", + "next": "下一張" + }, + "adjustAnnotationSettings": "調整註解設定", + "scrollViewTips": "滾動以查看此物件生命周期中的重要時刻。", + "autoTrackingTips": "自動追蹤鏡頭的邊界框位置可能不準確。" + }, + "details": { + "item": { + "title": "審查項目詳情", + "desc": "審查項目詳情", + "button": { + "share": "分享此審查項目", + "viewInExplore": "在瀏覽中查看" + }, + "tips": { + "mismatch_other": "偵測到 {{count}} 個不可用的物件並包含在此審查項目中。這些物件可能未符合警報或偵測標準,或已被清除/刪除。", + "hasMissingObjects": "如果你想讓 Frigate 保存下列標籤的追蹤物件,請調整設定:{{objects}}" + }, + "toast": { + "success": { + "updatedSublabel": "成功更新子標籤。", + "updatedLPR": "成功更新車牌號碼。", + "regenerate": "已從 {{provider}} 請求新的描述。根據提供者的速度,生成新的描述可能需要一些時間。" + }, + "error": { + "regenerate": "呼叫 {{provider}} 以獲取新描述失敗:{{errorMessage}}", + "updatedSublabelFailed": "更新子標籤失敗:{{errorMessage}}", + "updatedLPRFailed": "更新車牌號碼失敗:{{errorMessage}}" + } + } + }, + "label": "標籤", + "recognizedLicensePlate": "已識別車牌", + "estimatedSpeed": "預計速度", + "objects": "物件", + "camera": "鏡頭", + "zones": "區域", + "timestamp": "時間戳記", + "tips": { + "descriptionSaved": "成功保存描述", + "saveDescriptionFailed": "更新描述失敗:{{errorMessage}}" + }, + "regenerateFromSnapshot": "從快照重新生成", + "button": { + "regenerate": { + "label": "重新生成追蹤物件描述", + "title": "重新生成" + }, + "findSimilar": "尋找相似項目" + }, + "description": { + "label": "描述", + "placeholder": "追蹤物件的描述", + "aiTips": "Frigate 會等到追蹤物件生命周期結束後,才向你的生成式 AI 提供者請求描述。" + }, + "editLPR": { + "descNoLabel": "為此追蹤物件輸入新的車牌號碼", + "title": "編輯車牌號碼", + "desc": "為此 {{label}} 輸入新的車牌號碼" + }, + "topScore": { + "label": "最高分數", + "info": "最高分數是追蹤物件的最高中位分數,因此可能與搜尋結果縮圖上顯示的分數不同。" + }, + "editSubLabel": { + "desc": "為此 {{label}} 輸入新的子標籤", + "title": "編輯子標籤", + "descNoLabel": "為此追蹤物件輸入新的子標籤" + }, + "snapshotScore": { + "label": "快照分數" + }, + "expandRegenerationMenu": "展開重新生成選單", + "regenerateFromThumbnails": "從縮圖重新生成" + }, + "itemMenu": { + "downloadVideo": { + "label": "下載影片", + "aria": "下載影片" + }, + "downloadSnapshot": { + "label": "下載快照", + "aria": "下載快照" + }, + "viewObjectLifecycle": { + "label": "查看物件生命周期", + "aria": "顯示物件生命周期" + }, + "findSimilar": { + "label": "尋找相似項目", + "aria": "尋找相似追蹤物件" + }, + "submitToPlus": { + "label": "提交到 Frigate+", + "aria": "提交到 Frigate Plus" + }, + "viewInHistory": { + "label": "在歷史記錄中查看", + "aria": "在歷史記錄中查看" + }, + "deleteTrackedObject": { + "label": "刪除此追蹤物件" + } + }, + "dialog": { + "confirmDelete": { + "title": "確認刪除", + "desc": "刪除此追蹤物件會移除快照、所有已保存的嵌入,以及相關的物件生命周期記錄。歷史記錄中的錄影不會被刪除。

你確定要繼續嗎?" + } + }, + "noTrackedObjects": "找不到追蹤物件", + "fetchingTrackedObjectsFailed": "取得追蹤物件時出錯:{{errorMessage}}", + "searchResult": { + "deleteTrackedObject": { + "toast": { + "success": "追蹤物件已成功刪除。", + "error": "刪除追蹤物件失敗:{{errorMessage}}" + } + } + }, + "trackedObjectsCount_other": "{{count}} 個追蹤物件 " +} diff --git a/web/public/locales/yue-Hant/views/exports.json b/web/public/locales/yue-Hant/views/exports.json new file mode 100644 index 000000000..48d839717 --- /dev/null +++ b/web/public/locales/yue-Hant/views/exports.json @@ -0,0 +1,17 @@ +{ + "documentTitle": "匯出 - Frigate", + "search": "搜尋", + "noExports": "未找到匯出項目", + "deleteExport": "刪除匯出", + "editExport": { + "title": "重新命名匯出", + "desc": "請輸入新的匯出名稱。", + "saveExport": "儲存匯出" + }, + "toast": { + "error": { + "renameExportFailed": "重新命名匯出失敗:{{errorMessage}}" + } + }, + "deleteExport.desc": "你確定要刪除 {{exportName}} 嗎?" +} diff --git a/web/public/locales/yue-Hant/views/faceLibrary.json b/web/public/locales/yue-Hant/views/faceLibrary.json new file mode 100644 index 000000000..a55a0de0a --- /dev/null +++ b/web/public/locales/yue-Hant/views/faceLibrary.json @@ -0,0 +1,82 @@ +{ + "selectItem": "選擇 {{item}}", + "details": { + "timestamp": "時間戳記", + "person": "人", + "confidence": "信心指數", + "face": "人臉詳細資料", + "faceDesc": "人臉及相關物件的詳細資料" + }, + "description": { + "addFace": "逐步了解如何新增一個人臉庫的集合。", + "placeholder": "請輸入此集合的名稱" + }, + "documentTitle": "人臉庫 - Frigate", + "uploadFaceImage": { + "title": "上傳人臉圖片", + "desc": "上傳圖片以掃描人臉並納入 {{pageToggle}}" + }, + "createFaceLibrary": { + "title": "建立集合", + "desc": "建立新集合", + "new": "建立新的人臉", + "nextSteps": "建立穩固基礎:
  • 使用訓練分頁,為每位偵測到的人物選擇並訓練圖片。
  • 以正面照片為主,避免用側面或傾斜角度的人臉作訓練。
  • " + }, + "steps": { + "faceName": "請輸入人臉名稱", + "uploadFace": "上傳人臉圖片", + "nextSteps": "下一步" + }, + "train": { + "title": "訓練", + "aria": "選擇訓練" + }, + "selectFace": "選擇人臉", + "deleteFaceLibrary": { + "title": "刪除名稱", + "desc": "你確定要刪除集合 {{name}} 嗎?這將永久刪除所有相關的人臉資料。" + }, + "renameFace": { + "title": "重新命名人臉", + "desc": "請輸入 {{name}} 的新名稱" + }, + "button": { + "uploadImage": "上傳圖片", + "reprocessFace": "重新處理人臉", + "deleteFace": "刪除人臉", + "addFace": "新增人臉", + "deleteFaceAttempts": "刪除人臉嘗試記錄", + "renameFace": "重新命名人臉" + }, + "imageEntry": { + "validation": { + "selectImage": "請選擇一個圖片檔案。" + }, + "dropActive": "將圖片拖到這裡…", + "dropInstructions": "拖放圖片到此處,或點擊選取", + "maxSize": "最大檔案大小:{{size}}MB" + }, + "readTheDocs": "閱讀文件", + "trainFaceAs": "將人臉訓練為:", + "trainFace": "訓練人臉", + "toast": { + "success": { + "uploadedImage": "成功上傳圖片。", + "renamedFace": "成功將人臉重新命名為 {{name}}", + "trainedFace": "成功訓練人臉。", + "updatedFaceScore": "成功更新人臉分數。", + "deletedFace_other": "成功刪除 {{count}} 個人臉。", + "addFaceLibrary": "{{name}} 已成功加入人臉庫!", + "deletedName_other": "成功刪除 {{count}} 個人臉。" + }, + "error": { + "uploadingImageFailed": "上傳圖片失敗:{{errorMessage}}", + "addFaceLibraryFailed": "設定人臉名稱失敗:{{errorMessage}}", + "deleteFaceFailed": "刪除失敗:{{errorMessage}}", + "deleteNameFailed": "刪除名稱失敗:{{errorMessage}}", + "renameFaceFailed": "重新命名人臉失敗:{{errorMessage}}", + "trainFailed": "訓練失敗:{{errorMessage}}", + "updateFaceScoreFailed": "更新人臉分數失敗:{{errorMessage}}" + } + } +} diff --git a/web/public/locales/yue-Hant/views/live.json b/web/public/locales/yue-Hant/views/live.json new file mode 100644 index 000000000..d9dda2630 --- /dev/null +++ b/web/public/locales/yue-Hant/views/live.json @@ -0,0 +1,158 @@ +{ + "documentTitle": "即時畫面 - Frigate", + "cameraAudio": { + "disable": "停用鏡頭音訊", + "enable": "啟用鏡頭音訊" + }, + "ptz": { + "move": { + "clickMove": { + "label": "點擊畫面以置中鏡頭", + "enable": "啟用點擊移動", + "disable": "停用點擊移動" + }, + "up": { + "label": "移動 PTZ 鏡頭向上" + }, + "right": { + "label": "移動 PTZ 鏡頭向右" + }, + "left": { + "label": "移動 PTZ 鏡頭向左" + }, + "down": { + "label": "移動 PTZ 鏡頭向下" + } + }, + "frame": { + "center": { + "label": "點擊畫面以置中 PTZ 鏡頭" + } + }, + "presets": "PTZ 鏡頭預設位置", + "zoom": { + "in": { + "label": "放大 PTZ 鏡頭" + }, + "out": { + "label": "縮小 PTZ 鏡頭" + } + } + }, + "twoWayTalk": { + "enable": "啟用雙向通話", + "disable": "停用雙向通話" + }, + "lowBandwidthMode": "低頻寬模式", + "documentTitle.withCamera": "{{camera}} - 即時畫面 - Frigate", + "recording": { + "disable": "停用錄影", + "enable": "啟用錄影" + }, + "snapshots": { + "enable": "啟用快照", + "disable": "停用快照" + }, + "audioDetect": { + "enable": "啟用音訊偵測", + "disable": "停用音訊偵測" + }, + "autotracking": { + "enable": "啟用自動追蹤", + "disable": "停用自動追蹤" + }, + "streamStats": { + "enable": "顯示串流統計資料", + "disable": "隱藏串流統計資料" + }, + "manualRecording": { + "title": "按需錄影", + "tips": "根據此鏡頭的錄影保留設定手動啟動事件。", + "debugView": "除錯視圖", + "start": "開始按需錄影", + "showStats": { + "label": "顯示統計資料", + "desc": "啟用此選項可在鏡頭畫面上疊加串流統計資料。" + }, + "playInBackground": { + "desc": "啟用此選項可在播放器隱藏時繼續串流播放。", + "label": "背景播放" + }, + "started": "已開始手動按需錄影。", + "end": "結束按需錄影", + "ended": "已結束手動按需錄影。", + "failedToEnd": "無法結束手動按需錄影。", + "failedToStart": "無法開始手動按需錄影。", + "recordDisabledTips": "由於此鏡頭的設定已停用或限制錄影,因此只會儲存快照。" + }, + "camera": { + "enable": "啟用鏡頭", + "disable": "停用鏡頭" + }, + "muteCameras": { + "enable": "所有鏡頭靜音", + "disable": "所有鏡頭取消靜音" + }, + "detect": { + "disable": "停用偵測", + "enable": "啟用偵測" + }, + "streamingSettings": "串流設定", + "notifications": "通知", + "audio": "音訊", + "suspend": { + "forTime": "暫停時間: " + }, + "stream": { + "title": "串流", + "audio": { + "tips": { + "documentation": "閱讀文件 ", + "title": "音訊必須從你的鏡頭輸出,並在 go2rtc 中正確設定此串流。" + }, + "available": "此串流支援音訊", + "unavailable": "此串流不支援音訊" + }, + "twoWayTalk": { + "tips.documentation": "閱讀文件 ", + "available": "此串流支援雙向通話", + "unavailable": "此串流不支援雙向通話", + "tips": "你的裝置必須支援此功能,且需設定 WebRTC 才能使用雙向通話。" + }, + "lowBandwidth": { + "tips": "因緩衝或串流錯誤,即時畫面已切換至低頻寬模式。", + "resetStream": "重置串流" + }, + "playInBackground": { + "tips": "啟用此選項可在播放器隱藏時繼續串流播放。", + "label": "背景播放" + } + }, + "cameraSettings": { + "cameraEnabled": "鏡頭已啟用", + "objectDetection": "物件偵測", + "recording": "錄影", + "snapshots": "快照", + "autotracking": "自動追蹤", + "audioDetection": "音訊偵測", + "title": "{{camera}} 設定" + }, + "history": { + "label": "顯示歷史影像" + }, + "effectiveRetainMode": { + "modes": { + "all": "全部", + "motion": "移動", + "active_objects": "活躍物件" + }, + "notAllTips": "你的 {{source}} 錄影保留設定為 mode: {{effectiveRetainMode}},因此此按需錄影只會保留{{effectiveRetainModeName}}的片段。" + }, + "editLayout": { + "label": "編輯版面配置", + "group": { + "label": "編輯鏡頭群組" + }, + "exitEdit": "結束編輯" + } +} diff --git a/web/public/locales/yue-Hant/views/search.json b/web/public/locales/yue-Hant/views/search.json new file mode 100644 index 000000000..fea893191 --- /dev/null +++ b/web/public/locales/yue-Hant/views/search.json @@ -0,0 +1,72 @@ +{ + "search": "搜尋", + "savedSearches": "已儲存的搜尋", + "searchFor": "搜尋 {{inputValue}}", + "button": { + "clear": "清除搜尋", + "save": "儲存搜尋", + "delete": "刪除已儲存的搜尋", + "filterInformation": "篩選資料", + "filterActive": "篩選中" + }, + "trackedObjectId": "追蹤物件編號", + "filter": { + "label": { + "labels": "標籤", + "zones": "區域", + "search_type": "搜尋類型", + "time_range": "時間範圍", + "after": "之後", + "recognized_license_plate": "已辨識車牌", + "has_clip": "有片段", + "has_snapshot": "有快照", + "min_score": "最低分數", + "before": "之前", + "max_score": "最高分數", + "max_speed": "最高速度", + "min_speed": "最低速度", + "cameras": "鏡頭", + "sub_labels": "子標籤" + }, + "searchType": { + "thumbnail": "縮圖", + "description": "描述" + }, + "toast": { + "error": { + "beforeDateBeLaterAfter": "「結束」日期必須遲於「開始」日期。", + "afterDatebeEarlierBefore": "「開始」日期必須早於「結束」日期。", + "minScoreMustBeLessOrEqualMaxScore": "「最低分數」必須少於或等於「最高分數」。", + "maxScoreMustBeGreaterOrEqualMinScore": "「最高分數」必須多於或等於「最低分數」。", + "maxSpeedMustBeGreaterOrEqualMinSpeed": "「最高速度」必須多於或等於「最低速度」。", + "minSpeedMustBeLessOrEqualMaxSpeed": "「最低速度」必須少於或等於「最高速度」。" + } + }, + "tips": { + "title": "如何使用文字篩選", + "desc": { + "step1": "輸入篩選鍵名後加上冒號(例如:\"cameras:\")。", + "step2": "從建議中選擇一個值,或者自行輸入。", + "step3": "可以用空格隔開,連續使用多個篩選條件。", + "step4": "日期篩選(before: 同 after:)要用 {{DateFormat}} 格式。", + "step5": "時間範圍篩選要用 {{exampleTime}} 格式。", + "step6": "點擊旁邊的「x」就可以移除篩選條件。", + "text": "篩選可以幫你縮窄搜尋結果。以下係使用方法:", + "exampleLabel": "例子:" + } + }, + "header": { + "activeFilters": "啟用中的篩選條件", + "noFilters": "篩選條件", + "currentFilterType": "篩選數值" + } + }, + "similaritySearch": { + "title": "相似搜尋", + "active": "正在進行相似搜尋", + "clear": "清除相似搜尋" + }, + "placeholder": { + "search": "搜尋…" + } +} diff --git a/web/public/locales/yue-Hant/views/settings.json b/web/public/locales/yue-Hant/views/settings.json new file mode 100644 index 000000000..6855b7ffd --- /dev/null +++ b/web/public/locales/yue-Hant/views/settings.json @@ -0,0 +1,591 @@ +{ + "documentTitle": { + "default": "設定 - Frigate", + "authentication": "認證設定 - Frigate", + "camera": "鏡頭設定 - Frigate", + "classification": "分類設定 - Frigate", + "masksAndZones": "遮罩與區域編輯器 - Frigate", + "motionTuner": "移動調校器 - Frigate", + "object": "物件設定 - Frigate", + "general": "一般設定 - Frigate", + "frigatePlus": "Frigate+ 設定 - Frigate" + }, + "menu": { + "ui": "介面", + "classification": "分類", + "cameras": "鏡頭設定", + "masksAndZones": "遮罩/區域", + "motionTuner": "移動調校器", + "debug": "除錯", + "users": "用戶", + "notifications": "通知", + "frigateplus": "Frigate+" + }, + "dialog": { + "unsavedChanges": { + "title": "你有未儲存的更改。", + "desc": "你想在繼續前儲存更改嗎?" + } + }, + "cameraSetting": { + "camera": "鏡頭", + "noCamera": "沒有鏡頭" + }, + "general": { + "title": "一般設定", + "liveDashboard": { + "playAlertVideos": { + "label": "播放警報影片", + "desc": "預設情況下,即時儀表板上的最近警報會以小型循環影片形式播放。停用此選項後,只會在此裝置/瀏覽器上顯示警報的靜態圖片。" + }, + "automaticLiveView": { + "label": "自動即時檢視", + "desc": "當偵測到活動時,自動切換到該鏡頭的即時畫面。若停用此選項,即時儀表板上的鏡頭靜態畫面將每分鐘只更新一次。" + }, + "title": "即時儀表板" + }, + "storedLayouts": { + "title": "儲存的版面配置", + "clearAll": "清除所有版面配置", + "desc": "鏡頭群組內的鏡頭佈局可以拖動或調整大小。位置會儲存在你瀏覽器的本機儲存空間內。" + }, + "cameraGroupStreaming": { + "title": "鏡頭群組串流設定", + "clearAll": "清除所有串流設定", + "desc": "每個鏡頭群組的串流設定會儲存在你瀏覽器的本機儲存空間內。" + }, + "recordingsViewer": { + "defaultPlaybackRate": { + "desc": "錄影播放的預設播放速度。", + "label": "預設播放速度" + }, + "title": "錄影瀏覽器" + }, + "calendar": { + "title": "日曆", + "firstWeekday": { + "label": "每星期的第一天", + "sunday": "星期日", + "monday": "星期一", + "desc": "審查日曆中每星期開始的日子。" + } + }, + "toast": { + "success": { + "clearStoredLayout": "已清除 {{cameraName}} 的儲存版面配置", + "clearStreamingSettings": "已清除所有鏡頭群組的串流設定。" + }, + "error": { + "clearStoredLayoutFailed": "清除儲存版面配置失敗:{{errorMessage}}", + "clearStreamingSettingsFailed": "清除串流設定失敗:{{errorMessage}}" + } + } + }, + "classification": { + "birdClassification": { + "desc": "鳥類分類會使用量化 Tensorflow 模型識別已知鳥類。當辨識到已知鳥類時,牠的常見名稱會加到子標籤上。此資訊會顯示在介面、篩選器及通知中。", + "title": "鳥類分類" + }, + "semanticSearch": { + "title": "語意搜尋", + "desc": "Frigate 的語意搜尋功能讓你可以利用影像本身、自訂文字描述,或自動產生的描述,在審查項目中尋找已追蹤的物件。", + "readTheDocumentation": "閱讀文件", + "reindexNow": { + "label": "立即重建索引", + "confirmTitle": "確認重建索引", + "confirmButton": "重建索引", + "success": "重建索引已成功開始。", + "alreadyInProgress": "重建索引已在進行中。", + "error": "啟動重建索引失敗:{{errorMessage}}", + "confirmDesc": "你確定要重建索引所有已追蹤物件的嵌入向量嗎?這個過程會在背景運行,但可能會用盡你的 CPU,而且需要一定時間。你可以在「瀏覽」頁面查看進度。", + "desc": "重建索引會為所有已追蹤物件重新生成嵌入向量。這個過程會在背景運行,可能會用盡你的 CPU,所需時間取決於已追蹤物件的數量。" + }, + "modelSize": { + "label": "模型大小", + "desc": "用於語意搜尋的模型大小。", + "small": { + "title": "小型", + "desc": "使用小型模型會採用量化版本,較少佔用 RAM,在 CPU 上運行更快,而嵌入品質的差異非常細微。" + }, + "large": { + "title": "大型", + "desc": "使用大型模型會採用完整的 Jina 模型,並在適用情況下自動於 GPU 上運行。" + } + } + }, + "faceRecognition": { + "modelSize": { + "small": { + "title": "小型", + "desc": "使用小型模型會採用 FaceNet 臉部嵌入模型,在大多數 CPU 上能有效運行。" + }, + "large": { + "title": "大型", + "desc": "使用大型模型會採用 ArcFace 臉部嵌入模型,並在適用情況下自動於 GPU 上運行。" + }, + "label": "模型大小", + "desc": "用於人臉識別的模型大小。" + }, + "readTheDocumentation": "閱讀文件", + "title": "人臉識別", + "desc": "人臉識別功能允許為人物分配名字,當辨識到他們的臉孔時,Frigate 會將名字加到子標籤上。此資訊會顯示於介面、篩選器及通知中。" + }, + "licensePlateRecognition": { + "title": "車牌識別", + "readTheDocumentation": "閱讀文件", + "desc": "Frigate 可以識別車輛上的車牌,自動將偵測到的字元加到已辨識車牌欄位,或將已知名稱加到屬於車輛類型的物件的子標籤上。常見用途包括讀取駛入車道或在街道上駛過的車輛的車牌。" + }, + "restart_required": "需要重新啟動(分類設定已變更)", + "toast": { + "error": "儲存設定變更失敗:{{errorMessage}}", + "success": "分類設定已儲存。請重新啟動 Frigate 以套用你的更改。" + }, + "title": "分類設定" + }, + "camera": { + "title": "鏡頭設定", + "streams": { + "title": "串流", + "desc": "停用鏡頭會完全停止 Frigate 處理此鏡頭的串流。將會無法使用偵測、錄影和除錯功能。
    注意:這不會停用 go2rtc 的轉播功能。" + }, + "review": { + "title": "審查", + "desc": "啟用或停用此鏡頭的警報和偵測。停用後,將不會產生新的審查項目。", + "alerts": "警報 ", + "detections": "偵測 " + }, + "reviewClassification": { + "readTheDocumentation": "閱讀文件", + "noDefinedZones": "此鏡頭未定義任何區域。", + "zoneObjectAlertsTips": "在{{cameraName}}的{{zone}}區域偵測到的所有{{alertsLabels}}物件將會顯示為警報。", + "objectDetectionsTips": "無論位於哪個區域,在{{cameraName}}上所有未分類的{{detectionsLabels}}物件將會顯示為偵測結果。", + "objectAlertsTips": "在{{cameraName}}上所有{{alertsLabels}}物件將會顯示為警報。", + "zoneObjectDetectionsTips": { + "text": "在{{cameraName}}的{{zone}}區域內所有未分類的{{detectionsLabels}}物件將會顯示為偵測結果。", + "regardlessOfZoneObjectDetectionsTips": "無論位於哪個區域,在{{cameraName}}上所有未分類的{{detectionsLabels}}物件將會顯示為偵測結果。", + "notSelectDetections": "無論位於哪個區域,在{{cameraName}}的{{zone}}區域偵測到、但未分類為警報的{{detectionsLabels}}物件將會顯示為偵測結果。" + }, + "selectDetectionsZones": "選擇偵測的區域", + "limitDetections": "限制偵測至特定區域", + "title": "審查分類", + "desc": "Frigate會將審查項目分類為「警報」同「偵測」。預設情況下,所有 的物件都會被視為警報。你可以透過設定所需區域,細分審查項目分類。", + "selectAlertsZones": "選擇警報的區域", + "toast": { + "success": "審查分類設定已儲存。請重新啟動Frigate以套用更改。" + } + } + }, + "masksAndZones": { + "toast": { + "error": { + "copyCoordinatesFailed": "無法將座標複製到剪貼簿。" + }, + "success": { + "copyCoordinates": "已將{{polyName}}的座標複製到剪貼簿。" + } + }, + "form": { + "zoneName": { + "error": { + "mustBeAtLeastTwoCharacters": "區域名稱必須至少有2個字元。", + "mustNotBeSameWithCamera": "區域名稱不得與鏡頭名稱相同。", + "alreadyExists": "此鏡頭已存在相同名稱的區域。", + "mustNotContainPeriod": "區域名稱不可包含句號。", + "hasIllegalCharacter": "區域名稱包含非法字元。" + } + }, + "distance": { + "error": { + "mustBeFilled": "必須填寫所有距離欄位,才能使用速度估算功能。", + "text": "距離必須大於或等於0.1。" + } + }, + "inertia": { + "error": { + "mustBeAboveZero": "慣性值必須大於0。" + } + }, + "loiteringTime": { + "error": { + "mustBeGreaterOrEqualZero": "逗留時間必須大於或等於0。" + } + }, + "polygonDrawing": { + "removeLastPoint": "移除最後一個點", + "delete": { + "title": "確認刪除", + "desc": "確定要刪除{{type}} {{name}}嗎?", + "success": "已刪除{{name}}。" + }, + "error": { + "mustBeFinished": "必須完成多邊形繪製後才能儲存。" + }, + "snapPoints": { + "false": "不對齊點", + "true": "對齊點" + }, + "reset": { + "label": "清除所有點" + } + } + }, + "zones": { + "label": "區域", + "add": "新增區域", + "edit": "編輯區域", + "point_other": "{{count}}個點", + "clickDrawPolygon": "在圖片上點擊以繪製多邊形。", + "name": { + "title": "名稱", + "inputPlaceHolder": "請輸入名稱...", + "tips": "名稱必須至少有2個字元,且不可與鏡頭或其他區域同名。" + }, + "inertia": { + "title": "慣性", + "desc": "指定物件需在區域內停留多少個畫格,才會被視為進入該區域。預設:3" + }, + "loiteringTime": { + "desc": "設定物件必須於區域內停留的最少秒數,以觸發動作。預設:0", + "title": "逗留時間" + }, + "objects": { + "title": "物件", + "desc": "此區域適用的物件列表。" + }, + "allObjects": "所有物件", + "speedEstimation": { + "title": "速度估算", + "desc": "啟用此區域內物件的速度估算。區域必須正好有4個點。" + }, + "speedThreshold": { + "title": "速度門檻 ({{unit}})", + "desc": "指定物件於此區域被視為有效時所需的最小速度。", + "toast": { + "error": { + "loiteringTimeError": "設有逗留時間大於0的區域,不應同時使用速度估算功能。", + "pointLengthError": "此區域已停用速度估算功能。啟用速度估算的區域必須正好有4個點。" + } + } + }, + "toast": { + "success": "區域({{zoneName}})已儲存。請重新啟動Frigate以套用更改。" + }, + "desc": { + "title": "區域可讓你定義畫面中的特定範圍,以判斷物件是否進入該範圍。", + "documentation": "文件" + }, + "documentTitle": "編輯區域 - Frigate" + }, + "motionMasks": { + "label": "移動遮罩", + "documentTitle": "編輯移動遮罩 - Frigate", + "desc": { + "title": "移動遮罩可防止不需要的移動觸發偵測。遮罩過多會令物件追蹤變得困難。", + "documentation": "文件" + }, + "edit": "編輯移動遮罩", + "point_other": "{{count}}個點", + "clickDrawPolygon": "在圖片上點擊以繪製多邊形。", + "polygonAreaTooLarge": { + "title": "移動遮罩覆蓋了鏡頭畫面{{polygonArea}}%。建議不要使用過大的遮罩。", + "tips": "移動遮罩無法阻止物件被偵測,應使用必要區域來限制範圍。", + "documentation": "閱讀文件" + }, + "context": { + "title": "移動遮罩用於防止某些不需要的移動(如樹枝晃動、鏡頭時間戳記)觸發偵測。移動遮罩應該非常謹慎使用,過度遮罩會令物件追蹤更加困難。", + "documentation": "閱讀文件" + }, + "add": "新增移動遮罩", + "toast": { + "success": { + "title": "{{polygonName}}已儲存。請重新啟動Frigate以套用更改。", + "noName": "移動遮罩已儲存。請重新啟動Frigate以套用更改。" + } + } + }, + "objectMasks": { + "label": "物件遮罩", + "desc": { + "documentation": "文件", + "title": "物件過濾遮罩根據位置,過濾指定物件類型的誤判偵測。" + }, + "add": "新增物件遮罩", + "context": "物件過濾遮罩根據位置,過濾指定物件類型的誤判偵測。", + "point_other": "{{count}}個點", + "clickDrawPolygon": "在圖片上點擊以繪製多邊形。", + "objects": { + "title": "物件", + "desc": "此物件遮罩適用的物件類型。", + "allObjectTypes": "所有物件類型" + }, + "toast": { + "success": { + "title": "{{polygonName}}已儲存。請重新啟動Frigate以套用更改。", + "noName": "物件遮罩已儲存。請重新啟動Frigate以套用更改。" + } + }, + "documentTitle": "編輯物件遮罩 - Frigate", + "edit": "編輯物件遮罩" + }, + "filter": { + "all": "所有遮罩與區域" + }, + "restart_required": "需要重新啟動(遮罩/區域已變更)" + }, + "motionDetectionTuner": { + "title": "移動偵測調校器", + "desc": { + "title": "Frigate首先利用移動偵測作初步篩選,以判斷畫面中是否出現值得進行物件偵測的情況。", + "documentation": "閱讀移動調整指南" + }, + "Threshold": { + "title": "門檻", + "desc": "門檻值決定像素亮度變化多少才會被視為移動。預設:30" + }, + "contourArea": { + "title": "輪廓面積", + "desc": "輪廓面積值用來決定哪些變化像素群符合移動標準。預設:10" + }, + "improveContrast": { + "title": "改善對比度", + "desc": "改善黑暗場景的對比度。預設:開啟" + }, + "toast": { + "success": "移動設定已儲存。" + } + }, + "debug": { + "title": "除錯", + "objectList": "物件列表", + "noObjects": "沒有物件", + "boundingBoxes": { + "title": "邊框框線", + "colors": { + "info": "
  • 啟動時,系統會為每個物件標籤指派不同顏色
  • 深藍色幼線代表目前沒有偵測到該物件
  • 灰色幼線代表該物件被偵測為靜止狀態
  • 粗線代表該物件正被自動追蹤(若已啟用)
  • ", + "label": "物件邊框顏色" + }, + "desc": "顯示追蹤物件周圍的邊框" + }, + "zones": { + "title": "區域", + "desc": "顯示所有已定義區域的輪廓" + }, + "motion": { + "title": "移動方框", + "desc": "顯示偵測到移動的區域方框", + "tips": "

    移動方框

    畫面中偵測到移動的地方將會顯示亮紅色方框

    " + }, + "regions": { + "desc": "顯示屬於物件偵測器感興趣範圍的方框", + "title": "偵測區", + "tips": "

    偵測區方框

    畫面中屬於物件偵測器感興趣的地方將會顯示亮綠色方框,並且進行分析

    " + }, + "desc": "除錯畫面會即時顯示追蹤到的物件及統計資料。物件列表則顯示偵測到物件的延遲總結。", + "timestamp": { + "title": "時間戳記", + "desc": "在圖片上疊加時間戳記" + }, + "detectorDesc": "Frigate 使用你的偵測器({{detectors}})來偵測鏡頭影片串流中的物件。", + "debugging": "除錯中", + "mask": { + "title": "移動遮罩", + "desc": "顯示移動遮罩多邊形" + }, + "objectShapeFilterDrawing": { + "title": "物件形狀篩選繪圖", + "document": "閱讀文件 ", + "score": "分數", + "area": "面積", + "ratio": "比例", + "desc": "在圖片上畫矩形以查看面積與比例詳情", + "tips": "啟用此選項後,會於鏡頭畫面上繪製矩形,以顯示其面積及比例。這些數值可用於設定物件形狀過濾參數。" + } + }, + "users": { + "management": { + "desc": "管理此Frigate個體的用戶帳戶。", + "title": "用戶管理" + }, + "addUser": "新增用戶", + "updatePassword": "更新密碼", + "toast": { + "success": { + "createUser": "成功建立用戶{{user}}", + "deleteUser": "成功刪除用戶{{user}}", + "roleUpdated": "成功更新{{user}}的角色", + "updatePassword": "成功更新密碼。" + }, + "error": { + "createUserFailed": "建立用戶失敗:{{errorMessage}}", + "roleUpdateFailed": "更新角色失敗:{{errorMessage}}", + "setPasswordFailed": "儲存密碼失敗:{{errorMessage}}", + "deleteUserFailed": "刪除用戶失敗:{{errorMessage}}" + } + }, + "table": { + "username": "用戶名稱", + "role": "角色", + "noUsers": "找不到用戶。", + "changeRole": "更改用戶角色", + "password": "密碼", + "deleteUser": "刪除用戶", + "actions": "操作" + }, + "dialog": { + "form": { + "user": { + "title": "用戶名稱", + "desc": "只允許使用字母、數字、句號及底線。", + "placeholder": "輸入用戶名稱" + }, + "password": { + "title": "密碼", + "placeholder": "輸入密碼", + "confirm": { + "placeholder": "確認密碼", + "title": "確認密碼" + }, + "strength": { + "title": "密碼強度: ", + "weak": "弱", + "medium": "中等", + "strong": "強", + "veryStrong": "非常強" + }, + "match": "密碼相符", + "notMatch": "密碼不相符" + }, + "newPassword": { + "confirm": { + "placeholder": "重新輸入新密碼" + }, + "title": "新密碼", + "placeholder": "輸入新密碼" + }, + "usernameIsRequired": "必須輸入用戶名稱" + }, + "createUser": { + "title": "建立新用戶", + "desc": "新增用戶帳戶,並指定可存取Frigate介面各區域的角色。", + "usernameOnlyInclude": "用戶名稱只可包含字母、數字、句號或底線" + }, + "deleteUser": { + "title": "刪除用戶", + "desc": "此操作無法還原,將會永久刪除用戶帳戶及所有相關資料。", + "warn": "確定要刪除{{username}}嗎?" + }, + "changeRole": { + "title": "更改用戶角色", + "desc": "更新{{username}}的權限", + "roleInfo": { + "intro": "為此用戶選擇合適的角色:", + "adminDesc": "可使用所有功能。", + "viewer": "觀看者", + "viewerDesc": "只限使用即時儀表板、審查、瀏覽及匯出功能。", + "admin": "管理員" + } + }, + "passwordSetting": { + "setPassword": "設定密碼", + "updatePassword": "更新{{username}}的密碼", + "desc": "建立強密碼以保障此帳戶安全。" + } + }, + "title": "用戶" + }, + "notification": { + "title": "通知", + "notificationSettings": { + "title": "通知設定", + "desc": "Frigate可原生向你的裝置推送通知,無論在瀏覽器中運行或安裝為PWA。", + "documentation": "閱讀文件" + }, + "notificationUnavailable": { + "title": "無法使用通知功能", + "desc": "網頁推送通知需在安全環境下運作(https://...),這是瀏覽器的限制。請透過安全連線存取Frigate以使用通知功能。", + "documentation": "閱讀文件" + }, + "globalSettings": { + "title": "全域設定", + "desc": "暫停所有已註冊裝置上特定鏡頭的通知。" + }, + "email": { + "placeholder": "例如:example@email.com", + "desc": "需要提供有效的電郵地址,若推送服務出現問題,將會透過此地址通知你。", + "title": "電郵地址" + }, + "cameras": { + "title": "鏡頭", + "noCameras": "沒有可用鏡頭", + "desc": "選擇啟用通知功能的鏡頭。" + }, + "deviceSpecific": "裝置專屬設定", + "registerDevice": "登記此裝置", + "unregisterDevice": "取消登記此裝置", + "sendTestNotification": "發送測試通知", + "active": "通知功能已啟用", + "suspended": "通知功能已暫停{{time}}", + "suspendTime": { + "10minutes": "暫停10分鐘", + "12hours": "暫停12小時", + "30minutes": "暫停30分鐘", + "24hours": "暫停24小時", + "5minutes": "暫停5分鐘", + "1hour": "暫停1小時", + "untilRestart": "暫停至重新啟動" + }, + "toast": { + "error": { + "registerFailed": "儲存通知登記失敗。" + }, + "success": { + "registered": "成功登記通知功能。必須重新啟動Frigate後,才能發送任何通知(包括測試通知)。", + "settingSaved": "通知設定已儲存。" + } + }, + "cancelSuspension": "取消暫停" + }, + "frigatePlus": { + "title": "Frigate+設定", + "apiKey": { + "title": "Frigate+ API金鑰", + "validated": "已偵測並驗證Frigate+ API金鑰", + "notValidated": "未偵測到Frigate+ API金鑰或驗證失敗", + "desc": "Frigate+ API金鑰可啟用與Frigate+服務的整合功能。", + "plusLink": "了解更多Frigate+資料" + }, + "snapshotConfig": { + "title": "快照設定", + "documentation": "閱讀文件", + "table": { + "camera": "鏡頭", + "snapshots": "快照", + "cleanCopySnapshots": "clean_copy 快照" + }, + "cleanCopyWarning": "部分鏡頭已啟用快照,但未啟用乾淨副本。你必須於快照設定中啟用clean_copy,才能從這些鏡頭提交影像至Frigate+。", + "desc": "提交至Frigate+需要在設定中同時啟用快照及clean_copy快照功能。" + }, + "modelInfo": { + "title": "模型資料", + "modelType": "模型類型", + "trainDate": "訓練日期", + "baseModel": "基礎模型", + "plusModelType": { + "baseModel": "基礎模型", + "userModel": "微調" + }, + "supportedDetectors": "支援的偵測器", + "cameras": "鏡頭", + "availableModels": "可用模型", + "loadingAvailableModels": "正在載入可用模型...", + "modelSelect": "可於此選擇你在Frigate+上的可用模型。請注意,只能選擇與當前偵測器設定相容的模型。", + "loading": "正在載入模型資料...", + "error": "載入模型資料失敗" + }, + "toast": { + "error": "儲存設定變更失敗:{{errorMessage}}", + "success": "Frigate+設定已儲存。請重新啟動Frigate以套用更改。" + }, + "restart_required": "需要重新啟動(已更改Frigate+模型)" + } +} diff --git a/web/public/locales/yue-Hant/views/system.json b/web/public/locales/yue-Hant/views/system.json new file mode 100644 index 000000000..70a7369e1 --- /dev/null +++ b/web/public/locales/yue-Hant/views/system.json @@ -0,0 +1,169 @@ +{ + "documentTitle": { + "cameras": "鏡頭統計 - Frigate", + "storage": "儲存統計 - Frigate", + "general": "一般統計 - Frigate", + "enrichments": "強化統計 - Frigate", + "logs": { + "frigate": "Frigate 日誌 - Frigate", + "nginx": "Nginx 日誌 - Frigate", + "go2rtc": "Go2RTC 日誌 - Frigate" + } + }, + "title": "系統", + "metrics": "系統指標", + "logs": { + "download": { + "label": "下載日誌" + }, + "type": { + "timestamp": "時間戳記", + "tag": "標籤", + "message": "訊息", + "label": "類型" + }, + "tips": "正在從伺服器串流日誌", + "toast": { + "error": { + "fetchingLogsFailed": "擷取日誌時出錯:{{errorMessage}}", + "whileStreamingLogs": "串流日誌時出錯:{{errorMessage}}" + } + }, + "copy": { + "error": "無法將日誌複製到剪貼簿", + "label": "複製到剪貼簿", + "success": "已將日誌複製到剪貼簿" + } + }, + "general": { + "detector": { + "inferenceSpeed": "偵測器推理速度", + "memoryUsage": "偵測器記憶體使用量", + "title": "偵測器", + "cpuUsage": "偵測器 CPU 使用率" + }, + "hardwareInfo": { + "gpuUsage": "GPU 使用率", + "gpuInfo": { + "vainfoOutput": { + "processOutput": "程序輸出:", + "processError": "程序錯誤:", + "title": "Vainfo 輸出", + "returnCode": "返回代碼:{{code}}" + }, + "nvidiaSMIOutput": { + "title": "Nvidia SMI 輸出", + "vbios": "VBios 資訊:{{vbios}}", + "cudaComputerCapability": "CUDA 計算能力:{{cuda_compute}}", + "name": "名稱:{{name}}", + "driver": "驅動程式:{{driver}}" + }, + "closeInfo": { + "label": "關閉 GPU 資訊" + }, + "toast": { + "success": "已將 GPU 資訊複製到剪貼簿" + }, + "copyInfo": { + "label": "複製 GPU 資訊" + } + }, + "title": "硬件資訊", + "npuUsage": "NPU 使用率", + "gpuMemory": "GPU 記憶體", + "gpuEncoder": "GPU 編碼器", + "gpuDecoder": "GPU 解碼器", + "npuMemory": "NPU 記憶體" + }, + "otherProcesses": { + "title": "其他程序", + "processCpuUsage": "程序 CPU 使用率", + "processMemoryUsage": "程序記憶體使用量" + }, + "title": "一般" + }, + "storage": { + "title": "儲存裝置", + "overview": "概覽", + "recordings": { + "title": "錄影檔案", + "earliestRecording": "最早可用錄影檔案:", + "tips": "此數值代表 Frigate 資料庫中錄影檔案的總儲存使用量。Frigate 不會追蹤磁碟上所有檔案的儲存使用量。" + }, + "cameraStorage": { + "camera": "鏡頭", + "unusedStorageInformation": "未使用儲存資訊", + "storageUsed": "已使用儲存", + "bandwidth": "每小時使用量", + "unused": { + "tips": "若您的磁碟中存有其他檔案,該數值可能無法準確反映 Frigate 可用的空間。Frigate 只追蹤其錄影檔案的儲存使用量。", + "title": "未使用" + }, + "title": "鏡頭儲存", + "percentageOfTotalUsed": "佔總量百分比" + } + }, + "cameras": { + "info": { + "streamDataFromFFPROBE": "串流資料是透過 ffprobe 取得。", + "fetching": "正在取得鏡頭資料", + "video": "影片:", + "codec": "編碼器:", + "resolution": "解像度:", + "tips": { + "title": "鏡頭詳細資訊" + }, + "stream": "串流 {{idx}}", + "audio": "音訊:", + "fps": "每秒影格數 (FPS):", + "unknown": "未知", + "error": "錯誤:{{error}}", + "cameraProbeInfo": "{{camera}} 鏡頭詳細資訊" + }, + "framesAndDetections": "畫面 / 偵測", + "label": { + "camera": "鏡頭", + "detect": "偵測", + "skipped": "略過", + "ffmpeg": "ffmpeg", + "capture": "讀取影像" + }, + "title": "鏡頭", + "overview": "概覽", + "toast": { + "success": { + "copyToClipboard": "已將鏡頭資料複製到剪貼簿。" + }, + "error": { + "unableToProbeCamera": "無法取得鏡頭資料:{{errorMessage}}" + } + } + }, + "lastRefreshed": "最後更新: ", + "stats": { + "detectIsSlow": "{{detect}} 偵測速度慢 ({{speed}} 毫秒)", + "detectIsVerySlow": "{{detect}} 偵測速度非常慢 ({{speed}} 毫秒)", + "cameraIsOffline": "{{camera}} 已離線", + "detectHighCpuUsage": "{{camera}} 的偵測 CPU 使用率過高 ({{detectAvg}}%)", + "healthy": "系統運作正常", + "ffmpegHighCpuUsage": "{{camera}} 的 FFMPEG CPU 使用率過高 ({{ffmpegAvg}}%)", + "reindexingEmbeddings": "重新索引嵌入資料 (已完成 {{processed}}%)" + }, + "enrichments": { + "title": "強化功能", + "infPerSecond": "每秒推理次數", + "embeddings": { + "image_embedding": "圖片嵌入", + "face_embedding_speed": "人臉嵌入速度", + "face_recognition_speed": "人臉辨識速度", + "plate_recognition_speed": "車牌辨識速度", + "face_recognition": "人臉辨識", + "text_embedding": "文字嵌入", + "yolov9_plate_detection": "YOLOv9 車牌偵測", + "text_embedding_speed": "文字嵌入速度", + "yolov9_plate_detection_speed": "YOLOv9 車牌偵測速度", + "plate_recognition": "車牌辨識", + "image_embedding_speed": "圖片嵌入速度" + } + } +} diff --git a/web/public/locales/yue_Hant/audio.json b/web/public/locales/yue_Hant/audio.json new file mode 100644 index 000000000..8d29100d5 --- /dev/null +++ b/web/public/locales/yue_Hant/audio.json @@ -0,0 +1,429 @@ +{ + "speech": "講話", + "babbling": "牙牙學語", + "yell": "大嗌", + "bellow": "咆哮", + "whoop": "歡呼聲", + "whispering": "細細聲", + "laughter": "笑聲", + "sigh": "歎氣聲", + "crying": "喊聲", + "yodeling": "山歌", + "choir": "合唱", + "snicker": "偷笑聲", + "mantra": "咒語", + "singing": "歌聲", + "chant": "唸經", + "breathing": "呼吸聲", + "child_singing": "兒童歌聲", + "rapping": "饒舌", + "humming": "哼歌", + "whistling": "口哨聲", + "synthetic_singing": "人造歌聲", + "groan": "呻吟聲", + "grunt": "哼聲", + "snort": "哼哼聲", + "throat_clearing": "清喉嚨", + "wheeze": "氣喘聲", + "snoring": "鼻鼾聲", + "gasp": "喘氣", + "pant": "急促喘氣", + "cough": "咳嗽", + "sneeze": "打乞嚏", + "shuffle": "拖步行", + "sniff": "嗅嗅聲", + "footsteps": "腳步聲", + "chewing": "咀嚼聲", + "biting": "咬嘢聲", + "gargling": "漱口聲", + "run": "跑步", + "stomach_rumble": "肚餓聲", + "burping": "打嗝聲", + "clapping": "掌聲", + "children_playing": "兒童玩耍聲", + "applause": "掌聲", + "heartbeat": "心跳", + "growling": "狗咆哮聲", + "bow_wow": "狗汪汪聲", + "caterwaul": "貓嚎叫", + "howl": "狗慘叫聲", + "livestock": "牲畜", + "clip_clop": "馬蹄聲", + "cattle": "牛", + "horse": "馬", + "heart_murmur": "心臟雜音", + "fart": "放屁", + "hands": "手", + "cheering": "歡呼聲", + "dog": "狗", + "bark": "樹皮", + "yip": "狗尖叫聲", + "chatter": "嘈雜聲", + "purr": "貓呼嚕聲", + "whimper_dog": "狗嗚咽聲", + "hiccup": "打嗝聲", + "finger_snapping": "彈手指聲", + "crowd": "人群聲", + "animal": "動物", + "pets": "寵物", + "cat": "貓", + "meow": "貓喵喵聲", + "hiss": "貓嘶嘶聲", + "neigh": "馬嘶聲", + "cowbell": "牛鈴", + "moo": "牛哞哞聲", + "gobble": "火雞叫聲", + "turkey": "火雞", + "chicken": "雞", + "cluck": "雞咯咯聲", + "fowl": "家禽", + "sheep": "羊", + "duck": "鴨子", + "goat": "山羊", + "pig": "豬", + "oink": "豬哼聲", + "bleat": "咩咩聲", + "cock_a_doodle_doo": "公雞叫聲", + "honk": "鵝叫聲", + "quack": "鴨叫聲", + "goose": "鵝", + "wild_animals": "野生動物", + "crow": "烏鴉", + "coo": "白鴿咕咕聲", + "pigeon": "白鴿", + "roaring_cats": "貓咆哮聲", + "roar": "咆哮聲", + "bird": "鳥", + "chirp": "鳥啾啾聲", + "squawk": "鳥嘎嘎聲", + "caw": "烏鴉呱呱聲", + "mouse": "滑鼠", + "owl": "貓頭鷹", + "rats": "大老鼠", + "hoot": "貓頭鷹咕咕聲", + "patter": "老鼠腳步聲", + "flapping_wings": "拍打翅膀聲", + "dogs": "狗", + "snake": "蛇", + "insect": "昆蟲", + "whale_vocalization": "鯨魚叫聲", + "rattle": "蛇叫聲", + "fly": "蒼蠅", + "croak": "青蛙呱呱聲", + "mosquito": "蚊", + "music": "音樂", + "frog": "青蛙", + "cricket": "蟋蟀", + "buzz": "嗡嗡聲", + "musical_instrument": "樂器", + "steel_guitar": "鋼弦結他", + "tapping": "拍擊", + "guitar": "結他", + "strum": "撥弦聲", + "electric_guitar": "電結他", + "plucked_string_instrument": "撥弦樂器", + "bass_guitar": "低音結他", + "banjo": "班祖琴", + "acoustic_guitar": "原聲結他", + "piano": "鋼琴", + "synthesizer": "合成器", + "keyboard": "鍵盤", + "organ": "風琴", + "sitar": "錫塔琴", + "mandolin": "曼陀鈴", + "zither": "齊特琴", + "ukulele": "烏克麗麗", + "sampler": "採樣器", + "hammond_organ": "哈蒙德風琴", + "electric_piano": "電子鋼琴", + "electronic_organ": "電子風琴", + "rimshot": "鼓邊敲擊", + "bass_drum": "低音鼓", + "drum_kit": "鼓套", + "drum_machine": "鼓機", + "drum": "鼓", + "snare_drum": "小鼓", + "timpani": "定音鼓", + "drum_roll": "鼓聲", + "harpsichord": "大鍵琴", + "percussion": "打擊樂器", + "trumpet": "小號", + "cymbal": "銅鈸", + "french_horn": "法國號", + "string_section": "弦樂組", + "saxophone": "色士風", + "marimba": "馬林巴琴", + "mallet_percussion": "鎚擊樂器", + "maraca": "沙槌", + "harp": "豎琴", + "orchestra": "管弦樂團", + "violin": "小提琴", + "gong": "鑼", + "flute": "長笛", + "bowed_string_instrument": "弓弦樂器", + "vibraphone": "顫音琴", + "tabla": "塔布拉鼓", + "trombone": "長號", + "tambourine": "鈴鼓", + "double_bass": "低音提琴", + "brass_instrument": "銅管樂器", + "cello": "大提琴", + "clarinet": "單簧管", + "pizzicato": "撥奏", + "hi_hat": "高帽鈸", + "wood_block": "木魚", + "tubular_bells": "管鐘", + "glockenspiel": "鐘琴", + "steelpan": "鋼鼓", + "wind_instrument": "管樂器", + "bell": "鐘", + "bicycle_bell": "單車鈴", + "wind_chime": "風鈴", + "church_bell": "教堂鐘聲", + "chime": "鈴聲", + "tuning_fork": "音叉", + "jingle_bell": "鈴鐺", + "accordion": "手風琴", + "bagpipes": "風笛", + "didgeridoo": "迪吉里杜管", + "theremin": "特雷門琴", + "singing_bowl": "頌缽", + "scratching": "抓碟聲", + "pop_music": "流行音樂", + "hip_hop_music": "嘻哈音樂", + "harmonica": "口琴", + "beatboxing": "人聲節奏", + "country": "鄉村音樂", + "water": "水", + "scary_music": "恐怖音樂", + "music_of_asia": "亞洲音樂", + "dance_music": "舞曲", + "video_game_music": "電子遊戲音樂", + "thunderstorm": "雷雨", + "bluegrass": "藍草音樂", + "train_wheels_squealing": "火車車輪聲", + "techno": "電子舞曲", + "new-age_music": "新世紀音樂", + "background_music": "背景音樂", + "theme_music": "主題音樂", + "jingle": "鈴聲", + "bus": "巴士", + "emergency_vehicle": "緊急車輛", + "aircraft": "飛機", + "ice_cream_truck": "雪糕車", + "dubstep": "杜步音樂", + "aircraft_engine": "飛機引擎聲", + "funk": "放克音樂", + "lullaby": "搖籃曲", + "rain": "雨", + "happy_music": "快樂音樂", + "music_of_latin_america": "拉丁美洲音樂", + "soundtrack_music": "配樂", + "rock_music": "搖滾樂", + "rock_and_roll": "搖滾樂", + "psychedelic_rock": "迷幻搖滾", + "rhythm_and_blues": "節奏藍調", + "soul_music": "靈魂音樂", + "reggae": "雷鬼音樂", + "folk_music": "民謠音樂", + "middle_eastern_music": "中東音樂", + "jazz": "爵士樂", + "disco": "迪斯可音樂", + "classical_music": "古典音樂", + "opera": "歌劇", + "electronic_music": "電子音樂", + "house_music": "浩室音樂", + "electronic_dance_music": "電子舞曲", + "ambient_music": "環境音樂", + "trance_music": "迷幻音樂", + "salsa_music": "薩爾薩音樂", + "flamenco": "佛朗明哥", + "blues": "藍調音樂", + "music_for_children": "兒童音樂", + "vocal_music": "聲樂", + "a_capella": "無伴奏合唱", + "music_of_africa": "非洲音樂", + "afrobeat": "非洲節拍", + "christian_music": "基督教音樂", + "gospel_music": "福音音樂", + "music_of_bollywood": "寶萊塢音樂", + "ska": "斯卡音樂", + "traditional_music": "傳統音樂", + "independent_music": "獨立音樂", + "song": "歌曲", + "raindrop": "雨點聲", + "rain_on_surface": "雨打地面聲", + "stream": "小溪", + "waterfall": "瀑布", + "ocean": "海洋", + "waves": "波浪", + "steam": "蒸氣", + "gurgling": "咕嚕聲", + "fire": "火", + "crackle": "劈啪聲", + "vehicle": "車輛", + "boat": "船", + "sailboat": "帆船", + "rowboat": "划艇", + "motorboat": "機動船", + "ship": "船", + "motor_vehicle": "機動車", + "car": "車", + "toot": "汽車響咹聲", + "car_alarm": "汽車防盜器", + "power_windows": "電動車窗", + "skidding": "車胎打滑聲", + "tire_squeal": "車胎尖叫聲", + "car_passing_by": "車駛過聲", + "race_car": "賽車", + "truck": "貨車", + "air_brake": "煞車聲", + "air_horn": "空氣喇叭", + "police_car": "警車", + "ambulance": "救護車", + "fire_engine": "消防車", + "motorcycle": "電單車", + "rail_transport": "鐵路運輸", + "train_whistle": "火車汽笛聲", + "train_horn": "火車喇叭聲", + "railroad_car": "火車車廂", + "propeller": "螺旋槳", + "helicopter": "直升機", + "fixed-wing_aircraft": "固定翼飛機", + "bicycle": "單車", + "skateboard": "滑板", + "engine": "引擎", + "light_engine": "小型引擎", + "dental_drill's_drill": "牙科鑽機", + "lawn_mower": "剪草機", + "chainsaw": "電鋸", + "medium_engine": "中型引擎", + "heavy_engine": "大型引擎", + "engine_knocking": "引擎敲擊聲", + "engine_starting": "引擎啟動聲", + "idling": "引擎空轉聲", + "accelerating": "加速聲", + "door": "門", + "doorbell": "門鈴", + "ding-dong": "叮咚聲", + "sliding_door": "趟門", + "knock": "敲門", + "tap": "輕敲門", + "squeak": "吱吱聲", + "cupboard_open_or_close": "櫃門開關聲", + "drawer_open_or_close": "抽屜開關聲", + "dishes": "餐具聲", + "cutlery": "刀叉", + "chopping": "切菜聲", + "frying": "炒煮", + "microwave_oven": "微波爐", + "water_tap": "水龍頭", + "electric_toothbrush": "電動牙刷", + "vacuum_cleaner": "吸塵機", + "zipper": "拉鍊", + "keys_jangling": "鎖匙碰撞聲", + "coin": "硬幣", + "scissors": "剪刀", + "electric_shaver": "電鬚刨", + "shuffling_cards": "洗牌", + "typing": "打字", + "computer_keyboard": "電腦鍵盤", + "telephone": "電話", + "telephone_bell_ringing": "電話鈴聲", + "siren": "警報聲", + "steam_whistle": "蒸氣汽笛", + "mechanisms": "機械聲", + "ratchet": "棘輪聲", + "clock": "時鐘", + "tick": "滴答聲", + "tick-tock": "滴答滴答聲", + "sewing_machine": "衣車", + "mechanical_fan": "機械風扇", + "printer": "印表機", + "camera": "鏡頭", + "single-lens_reflex_camera": "單反相機", + "tools": "工具", + "hammer": "鎚仔", + "sawing": "鋸", + "filing": "銼", + "sanding": "打磨", + "power_tool": "電動工具", + "drill": "鑽", + "explosion": "爆炸", + "fusillade": "連環射擊", + "artillery_fire": "火砲", + "cap_gun": "玩具槍", + "fireworks": "煙花", + "firecracker": "炮仗", + "burst": "爆裂", + "eruption": "爆發", + "wood": "木頭", + "chop": "劈木聲", + "splinter": "木刺聲", + "crack": "裂聲", + "shatter": "破碎聲", + "silence": "寂靜", + "sound_effect": "音效", + "white_noise": "白噪音", + "pink_noise": "粉紅噪音", + "television": "電視", + "radio": "收音機", + "field_recording": "現場錄音", + "angry_music": "憤怒音樂", + "sad_music": "悲傷音樂", + "wind": "風", + "wind_noise": "風聲", + "drum_and_bass": "鼓和貝斯", + "wedding_music": "婚禮音樂", + "progressive_rock": "前衛搖滾", + "grunge": "垃圾搖滾", + "punk_rock": "朋克搖滾", + "christmas_music": "聖誕音樂", + "subway": "地鐵", + "thunder": "雷聲", + "carnatic_music": "卡納蒂克音樂", + "traffic_noise": "交通噪音", + "train": "火車", + "slam": "砰門聲", + "tender_music": "溫柔音樂", + "reversing_beeps": "倒車提示聲", + "heavy_metal": "重金屬音樂", + "jet_engine": "噴射機引擎聲", + "rustling_leaves": "樹葉沙沙聲", + "electronica": "電子樂", + "swing_music": "搖擺音樂", + "exciting_music": "刺激音樂", + "ringtone": "鈴聲", + "pulleys": "滑輪", + "jackhammer": "風鑽", + "writing": "寫作", + "toilet_flush": "沖廁", + "whistle": "哨子聲", + "gunshot": "槍聲", + "alarm_clock": "鬧鐘", + "dial_tone": "電話按號聲", + "boom": "轟隆", + "typewriter": "打字機", + "blender": "攪拌機", + "toothbrush": "牙刷", + "cash_register": "收銀機", + "civil_defense_siren": "民防警報", + "machine_gun": "機關槍", + "sink": "洗手盆", + "fire_alarm": "火警鐘", + "bathtub": "浴缸", + "busy_signal": "線路繁忙聲", + "smoke_detector": "煙霧偵測器", + "hair_dryer": "吹風機", + "alarm": "警報", + "gears": "齒輪", + "telephone_dialing": "電話撥號聲", + "foghorn": "霧號", + "buzzer": "蜂鳴器聲", + "air_conditioning": "冷氣機", + "glass": "玻璃", + "chink": "碰撞聲", + "environmental_noise": "環境噪音", + "static": "靜電聲", + "scream": "尖叫聲" +} diff --git a/web/public/locales/yue_Hant/components/auth.json b/web/public/locales/yue_Hant/components/auth.json new file mode 100644 index 000000000..ebc3b8df7 --- /dev/null +++ b/web/public/locales/yue_Hant/components/auth.json @@ -0,0 +1,15 @@ +{ + "form": { + "errors": { + "webUnknownError": "未知錯誤。請檢查控制台日誌。", + "rateLimit": "超過速率限制。請稍後再試。", + "usernameRequired": "必須填寫用戶名", + "passwordRequired": "必須填寫密碼", + "loginFailed": "登入失敗", + "unknownError": "未知錯誤。請檢查日誌。" + }, + "user": "用戶名", + "password": "密碼", + "login": "登入" + } +} diff --git a/web/public/locales/yue_Hant/components/icons.json b/web/public/locales/yue_Hant/components/icons.json new file mode 100644 index 000000000..467858b8d --- /dev/null +++ b/web/public/locales/yue_Hant/components/icons.json @@ -0,0 +1,8 @@ +{ + "iconPicker": { + "selectIcon": "選擇圖示", + "search": { + "placeholder": "搜尋圖示…" + } + } +} diff --git a/web/public/locales/yue_Hant/components/input.json b/web/public/locales/yue_Hant/components/input.json new file mode 100644 index 000000000..ed7eee77c --- /dev/null +++ b/web/public/locales/yue_Hant/components/input.json @@ -0,0 +1,10 @@ +{ + "button": { + "downloadVideo": { + "label": "下載影片", + "toast": { + "success": "你的審查項目影片已開始下載。" + } + } + } +} diff --git a/web/public/locales/yue_Hant/objects.json b/web/public/locales/yue_Hant/objects.json new file mode 100644 index 000000000..b0838d796 --- /dev/null +++ b/web/public/locales/yue_Hant/objects.json @@ -0,0 +1,120 @@ +{ + "vehicle": "車輛", + "car": "車", + "boat": "船", + "bus": "巴士", + "motorcycle": "電單車", + "train": "火車", + "bicycle": "單車", + "skateboard": "滑板", + "door": "門", + "blender": "攪拌機", + "sink": "洗手盆", + "scissors": "剪刀", + "clock": "時鐘", + "toothbrush": "牙刷", + "hair_dryer": "吹風機", + "person": "人", + "airplane": "飛機", + "traffic_light": "紅綠燈", + "fire_hydrant": "消防栓", + "street_sign": "街道標誌", + "stop_sign": "停車標誌", + "parking_meter": "咪錶", + "bench": "長凳", + "bird": "鳥", + "cat": "貓", + "sheep": "羊", + "cow": "牛", + "elephant": "大象", + "bear": "熊", + "zebra": "斑馬", + "giraffe": "長頸鹿", + "backpack": "背囊", + "tie": "領呔", + "suitcase": "行李箱", + "frisbee": "飛碟", + "skis": "滑雪板", + "snowboard": "單板滑雪板", + "sports_ball": "運動球", + "kite": "風箏", + "baseball_bat": "棒球棍", + "baseball_glove": "棒球手套", + "surfboard": "衝浪板", + "tennis_racket": "網球拍", + "bottle": "樽", + "plate": "碟", + "wine_glass": "酒杯", + "cup": "杯", + "fork": "叉", + "bowl": "碗", + "banana": "香蕉", + "apple": "蘋果", + "sandwich": "三文治", + "orange": "橙", + "carrot": "紅蘿蔔", + "hot_dog": "熱狗", + "pizza": "薄餅", + "donut": "甜甜圈", + "cake": "蛋糕", + "chair": "凳", + "couch": "梳化", + "laptop": "手提電腦", + "mouse": "滑鼠", + "remote": "遙控器", + "keyboard": "鍵盤", + "cell_phone": "手機", + "microwave": "微波爐", + "oven": "焗爐", + "toaster": "多士爐", + "refrigerator": "雪櫃", + "book": "書", + "vase": "花瓶", + "teddy_bear": "泰迪熊", + "hair_brush": "梳", + "squirrel": "松鼠", + "deer": "鹿", + "animal": "動物", + "bark": "樹皮", + "fox": "狐狸", + "goat": "山羊", + "rabbit": "兔", + "raccoon": "浣熊", + "robot_lawnmower": "自動剪草機", + "waste_bin": "垃圾桶", + "license_plate": "車牌", + "bbq_grill": "燒烤爐", + "amazon": "亞馬遜", + "usps": "美國郵政", + "ups": "UPS", + "postnl": "荷蘭郵政", + "nzpost": "新西蘭郵政", + "postnord": "北歐郵政", + "gls": "GLS", + "dpd": "DPD", + "broccoli": "西蘭花", + "umbrella": "雨傘", + "eye_glasses": "眼鏡", + "dog": "狗", + "desk": "書枱", + "tv": "電視", + "horse": "馬", + "mirror": "鏡", + "spoon": "匙羹", + "hat": "帽", + "shoe": "鞋", + "potted_plant": "盆栽植物", + "fedex": "聯邦快遞", + "handbag": "手袋", + "dining_table": "飯枱", + "an_post": "愛爾蘭郵政", + "knife": "刀", + "window": "窗", + "bed": "床", + "toilet": "廁所", + "purolator": "Purolator", + "on_demand": "按需要提供", + "face": "人臉", + "package": "包裹", + "dhl": "DHL" +} diff --git a/web/public/locales/yue_Hant/views/configEditor.json b/web/public/locales/yue_Hant/views/configEditor.json new file mode 100644 index 000000000..9e2836915 --- /dev/null +++ b/web/public/locales/yue_Hant/views/configEditor.json @@ -0,0 +1,15 @@ +{ + "documentTitle": "設定編輯器 - Frigate", + "configEditor": "設定編輯器", + "copyConfig": "複製設定", + "saveAndRestart": "儲存並重新啟動", + "saveOnly": "只儲存", + "toast": { + "success": { + "copyToClipboard": "設定已複製到剪貼簿。" + }, + "error": { + "savingError": "儲存設定時出錯" + } + } +} diff --git a/web/public/locales/yue_Hant/views/events.json b/web/public/locales/yue_Hant/views/events.json new file mode 100644 index 000000000..1e1039c93 --- /dev/null +++ b/web/public/locales/yue_Hant/views/events.json @@ -0,0 +1,37 @@ +{ + "camera": "鏡頭", + "alerts": "警報", + "empty": { + "alert": "沒有警報需要審查", + "detection": "沒有偵測到的項目需要審查", + "motion": "找不到移動數據" + }, + "timeline": "時間線", + "events": { + "label": "事件", + "noFoundForTimePeriod": "此時段內沒有找到事件。", + "aria": "選擇事件" + }, + "recordings": { + "documentTitle": "錄影 - Frigate" + }, + "calendarFilter": { + "last24Hours": "過去24小時" + }, + "markAsReviewed": "標記為已審查", + "markTheseItemsAsReviewed": "將這些項目標記為已審查", + "newReviewItems": { + "label": "查看新的審查項目", + "button": "有新的審查項目" + }, + "selected_one": "已選擇 {{count}} 項", + "selected_other": "已選擇 {{count}} 項", + "allCameras": "所有鏡頭", + "documentTitle": "審查 - Frigate", + "motion": { + "only": "只顯示移動", + "label": "移動" + }, + "detections": "偵測", + "timeline.aria": "選擇時間線" +} diff --git a/web/public/locales/yue_Hant/views/recording.json b/web/public/locales/yue_Hant/views/recording.json new file mode 100644 index 000000000..34473d299 --- /dev/null +++ b/web/public/locales/yue_Hant/views/recording.json @@ -0,0 +1,12 @@ +{ + "filter": "篩選", + "export": "匯出", + "calendar": "日曆", + "filters": "篩選條件", + "toast": { + "error": { + "noValidTimeSelected": "未選擇有效的時間範圍", + "endTimeMustAfterStartTime": "結束時間必須在開始時間之後" + } + } +}