diff --git a/README.md b/README.md
index 5b67c86c3..b15bb5c2f 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,8 @@
# Frigate - NVR With Realtime Object Detection for IP Cameras
+\[English\] | [简体中文](https://github.com/blakeblackshear/frigate/README_CN.md)
+
A complete and local NVR designed for [Home Assistant](https://www.home-assistant.io) with AI object detection. Uses OpenCV and Tensorflow to perform realtime object detection locally for IP cameras.
Use of a [Google Coral Accelerator](https://coral.ai/products/) is optional, but highly recommended. The Coral will outperform even the best CPUs and can process 100+ FPS with very little overhead.
diff --git a/README_CN.md b/README_CN.md
new file mode 100644
index 000000000..6f4b5c4ed
--- /dev/null
+++ b/README_CN.md
@@ -0,0 +1,52 @@
+
+
+
+
+# Frigate - 一个具有实时目标检测的本地NVR
+
+[English](https://github.com/blakeblackshear/frigate) | \[简体中文\]
+
+一个完整的本地网络视频录像机(NVR),专为[Home Assistant](https://www.home-assistant.io)设计,具备AI物体检测功能。使用OpenCV和TensorFlow在本地为IP摄像头执行实时物体检测。
+
+强烈推荐使用可选配件:[Google Coral加速器](https://coral.ai/products/)。在该场景下,Coral的性能甚至超过目前的顶级CPU,并且可以以极低的电力开销轻松处理100 以上的画面帧。
+
+- 通过[自定义组件](https://github.com/blakeblackshear/frigate-hass-integration)与Home Assistant紧密集成
+- 设计上通过仅在必要时和必要地点寻找物体,最大限度地减少资源使用并最大化性能
+- 大量利用多进程处理,强调实时性而非处理每一帧
+- 使用非常低开销的运动检测来确定运行物体检测的位置
+- 使用TensorFlow进行物体检测,运行在单独的进程中以达到最大FPS
+- 通过MQTT进行通信,便于集成到其他系统中
+- 根据检测到的物体设置保留时间进行视频录制
+- 24/7全天候录制
+- 通过RTSP重新流传输以减少摄像头的连接数
+- 支持WebRTC和MSE,实现低延迟的实时观看
+
+## 文档(英文)
+
+你可以在这里查看文档 https://docs.frigate.video
+
+## 赞助
+
+如果您想通过捐赠支持开发,请使用 [Github Sponsors](https://github.com/sponsors/blakeblackshear)。
+
+## 截图
+
+### 实时监控面板
+
+

+
+
+### 简单的审查工作流程
+
+

+
+
+### 多摄像头可按时间轴查看
+
+

+
+
+### 内置遮罩和区域编辑器
+
+

+
diff --git a/web/public/locales/en/views/system.json b/web/public/locales/en/views/system.json
index 65b2db663..77516f3e1 100644
--- a/web/public/locales/en/views/system.json
+++ b/web/public/locales/en/views/system.json
@@ -145,6 +145,12 @@
"reindexingEmbeddings": "Reindexing embeddings ({{processed}}% complete)"
},
"features": {
- "title": "Features"
+ "title": "Features",
+ "embeddings": {
+ "image_embedding_speed": "Image Embedding Speed",
+ "face_embedding_speed": "Face Embedding Speed",
+ "plate_recognition_speed": "Plate Recognition Speed",
+ "text_embedding_speed": "Text Embedding Speed"
+ }
}
}
diff --git a/web/public/locales/zh-CN/audio.json b/web/public/locales/zh-CN/audio.json
index f9438a747..2c65847e3 100644
--- a/web/public/locales/zh-CN/audio.json
+++ b/web/public/locales/zh-CN/audio.json
@@ -1,8 +1,429 @@
{
- "crying": "哭泣",
- "laughter": "笑声",
- "scream": "尖叫",
"speech": "谈话",
+ "babbling": "喋喋不休",
"yell": "大喊",
- "fire_alarm": "火灾警报器"
+ "bellow": "吼叫",
+ "whoop": "欢呼",
+ "whispering": "耳语",
+ "laughter": "笑声",
+ "snicker": "窃笑",
+ "crying": "哭泣",
+ "sigh": "叹息",
+ "singing": "唱歌",
+ "choir": "合唱",
+ "yodeling": "山歌",
+ "chant": "吟唱",
+ "mantra": "咒语",
+ "child_singing": "儿童歌唱",
+ "synthetic_singing": "合成歌声",
+ "rapping": "说唱",
+ "humming": "哼唱",
+ "groan": "呻吟",
+ "grunt": "咕哝",
+ "whistling": "口哨",
+ "breathing": "呼吸",
+ "wheeze": "喘息",
+ "snoring": "打鼾",
+ "gasp": "倒抽气",
+ "pant": "喘气",
+ "snort": "哼声",
+ "cough": "咳嗽",
+ "throat_clearing": "清嗓子",
+ "sneeze": "打喷嚏",
+ "sniff": "抽鼻子",
+ "run": "跑步",
+ "shuffle": "拖步",
+ "footsteps": "脚步声",
+ "chewing": "咀嚼",
+ "biting": "咬",
+ "gargling": "漱口",
+ "stomach_rumble": "肚子咕噜",
+ "burping": "打嗝",
+ "hiccup": "打嗝",
+ "fart": "放屁",
+ "hands": "手",
+ "finger_snapping": "打响指",
+ "clapping": "鼓掌",
+ "heartbeat": "心跳",
+ "heart_murmur": "心脏杂音",
+ "cheering": "欢呼",
+ "applause": "掌声",
+ "chatter": "闲聊",
+ "crowd": "人群",
+ "children_playing": "儿童玩耍",
+ "animal": "动物",
+ "pets": "宠物",
+ "dog": "狗",
+ "bark": "吠叫",
+ "yip": "吠叫",
+ "howl": "嚎叫",
+ "bow_wow": "汪汪",
+ "growling": "咆哮",
+ "whimper_dog": "狗呜咽",
+ "cat": "猫",
+ "purr": "咕噜",
+ "meow": "喵喵",
+ "hiss": "嘶嘶声",
+ "caterwaul": "猫叫春",
+ "livestock": "牲畜",
+ "horse": "马",
+ "clip_clop": "蹄声",
+ "neigh": "嘶鸣",
+ "cattle": "牛",
+ "moo": "哞哞",
+ "cowbell": "牛铃",
+ "pig": "猪",
+ "oink": "哼哼",
+ "goat": "山羊",
+ "bleat": "咩咩",
+ "sheep": "绵羊",
+ "fowl": "家禽",
+ "chicken": "鸡",
+ "cluck": "咯咯",
+ "cock_a_doodle_doo": "喔喔",
+ "turkey": "火鸡",
+ "gobble": "咯咯",
+ "duck": "鸭子",
+ "quack": "嘎嘎",
+ "goose": "鹅",
+ "honk": "鸣笛/鹅叫声",
+ "wild_animals": "野生动物",
+ "roaring_cats": "吼叫的猫科动物",
+ "roar": "吼叫",
+ "bird": "鸟",
+ "chirp": "啾啾",
+ "squawk": "啼叫",
+ "pigeon": "鸽子",
+ "coo": "咕咕",
+ "crow": "乌鸦",
+ "caw": "呱呱",
+ "owl": "猫头鹰",
+ "hoot": "呜呜",
+ "flapping_wings": "翅膀拍打",
+ "dogs": "狗群",
+ "rats": "老鼠",
+ "mouse": "老鼠",
+ "patter": "啪嗒声",
+ "insect": "昆虫",
+ "cricket": "蟋蟀",
+ "mosquito": "蚊子",
+ "fly": "苍蝇",
+ "buzz": "嗡嗡",
+ "frog": "青蛙",
+ "croak": "呱呱",
+ "snake": "蛇",
+ "rattle": "响尾",
+ "whale_vocalization": "鲸鱼叫声",
+ "music": "音乐",
+ "musical_instrument": "乐器",
+ "plucked_string_instrument": "弹拨乐器",
+ "guitar": "吉他",
+ "electric_guitar": "电吉他",
+ "bass_guitar": "贝斯",
+ "acoustic_guitar": "原声吉他",
+ "steel_guitar": "钢弦吉他",
+ "tapping": "敲击",
+ "strum": "扫弦",
+ "banjo": "班卓琴",
+ "sitar": "西塔琴",
+ "mandolin": "曼陀林",
+ "zither": "古筝",
+ "ukulele": "尤克里里",
+ "keyboard": "键盘",
+ "piano": "钢琴",
+ "electric_piano": "电钢琴",
+ "organ": "风琴",
+ "electronic_organ": "电子琴",
+ "hammond_organ": "哈蒙德风琴",
+ "synthesizer": "合成器",
+ "sampler": "采样器",
+ "harpsichord": "大键琴",
+ "percussion": "打击乐器",
+ "drum_kit": "架子鼓",
+ "drum_machine": "鼓机",
+ "drum": "鼓",
+ "snare_drum": "军鼓",
+ "rimshot": "鼓边击",
+ "drum_roll": "滚鼓",
+ "bass_drum": "大鼓",
+ "timpani": "定音鼓",
+ "tabla": "塔布拉鼓",
+ "cymbal": "钹",
+ "hi_hat": "踩镲",
+ "wood_block": "木鱼",
+ "tambourine": "铃鼓",
+ "maraca": "沙锤",
+ "gong": "锣",
+ "tubular_bells": "管钟",
+ "mallet_percussion": "槌击打击乐器",
+ "marimba": "马林巴",
+ "glockenspiel": "钟琴",
+ "vibraphone": "颤音琴",
+ "steelpan": "钢鼓",
+ "orchestra": "管弦乐队",
+ "brass_instrument": "铜管乐器",
+ "french_horn": "圆号",
+ "trumpet": "小号",
+ "trombone": "长号",
+ "bowed_string_instrument": "弓弦乐器",
+ "string_section": "弦乐组",
+ "violin": "小提琴",
+ "pizzicato": "拨弦",
+ "cello": "大提琴",
+ "double_bass": "低音提琴",
+ "wind_instrument": "管乐器",
+ "flute": "长笛",
+ "saxophone": "萨克斯",
+ "clarinet": "单簧管",
+ "harp": "竖琴",
+ "bell": "铃",
+ "church_bell": "教堂钟",
+ "jingle_bell": "铃铛",
+ "bicycle_bell": "自行车铃",
+ "tuning_fork": "音叉",
+ "chime": "风铃",
+ "wind_chime": "风铃",
+ "harmonica": "口琴",
+ "accordion": "手风琴",
+ "bagpipes": "风笛",
+ "didgeridoo": "迪吉里杜管",
+ "theremin": "特雷门琴",
+ "singing_bowl": "颂钵",
+ "scratching": "刮擦声",
+ "pop_music": "流行音乐",
+ "hip_hop_music": "嘻哈音乐",
+ "beatboxing": "人声节拍",
+ "rock_music": "摇滚音乐",
+ "heavy_metal": "重金属",
+ "punk_rock": "朋克摇滚",
+ "grunge": "垃圾摇滚",
+ "progressive_rock": "前卫摇滚",
+ "rock_and_roll": "摇滚乐",
+ "psychedelic_rock": "迷幻摇滚",
+ "rhythm_and_blues": "节奏布鲁斯",
+ "soul_music": "灵魂乐",
+ "reggae": "雷鬼",
+ "country": "乡村音乐",
+ "swing_music": "摇摆乐",
+ "bluegrass": "蓝草音乐",
+ "funk": "放克",
+ "folk_music": "民谣",
+ "middle_eastern_music": "中东音乐",
+ "jazz": "爵士乐",
+ "disco": "迪斯科",
+ "classical_music": "古典音乐",
+ "opera": "歌剧",
+ "electronic_music": "电子音乐",
+ "house_music": "浩室音乐",
+ "techno": "科技舞曲",
+ "dubstep": "回响贝斯",
+ "drum_and_bass": "鼓打贝斯",
+ "electronica": "电子乐",
+ "electronic_dance_music": "电子舞曲",
+ "ambient_music": "环境音乐",
+ "trance_music": "迷幻舞曲",
+ "music_of_latin_america": "拉丁美洲音乐",
+ "salsa_music": "萨尔萨",
+ "flamenco": "弗拉门戈",
+ "blues": "蓝调",
+ "music_for_children": "儿童音乐",
+ "new-age_music": "新世纪音乐",
+ "vocal_music": "声乐",
+ "a_capella": "无伴奏合唱",
+ "music_of_africa": "非洲音乐",
+ "afrobeat": "非洲节拍",
+ "christian_music": "基督教音乐",
+ "gospel_music": "福音音乐",
+ "music_of_asia": "亚洲音乐",
+ "carnatic_music": "卡纳提克音乐",
+ "music_of_bollywood": "宝莱坞音乐",
+ "ska": "斯卡",
+ "traditional_music": "传统音乐",
+ "independent_music": "独立音乐",
+ "song": "歌曲",
+ "background_music": "背景音乐",
+ "theme_music": "主题音乐",
+ "jingle": "广告歌",
+ "soundtrack_music": "配乐",
+ "lullaby": "摇篮曲",
+ "video_game_music": "电子游戏音乐",
+ "christmas_music": "圣诞音乐",
+ "dance_music": "舞曲",
+ "wedding_music": "婚礼音乐",
+ "happy_music": "欢快音乐",
+ "sad_music": "悲伤音乐",
+ "tender_music": "温柔音乐",
+ "exciting_music": "激动音乐",
+ "angry_music": "愤怒音乐",
+ "scary_music": "恐怖音乐",
+ "wind": "风",
+ "rustling_leaves": "树叶沙沙声",
+ "wind_noise": "风声",
+ "thunderstorm": "雷暴",
+ "thunder": "雷声",
+ "water": "水",
+ "rain": "雨",
+ "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": "气笛",
+ "reversing_beeps": "倒车提示音",
+ "ice_cream_truck": "冰淇淋车",
+ "bus": "公共汽车",
+ "emergency_vehicle": "应急车辆",
+ "police_car": "警车",
+ "ambulance": "救护车",
+ "fire_engine": "消防车",
+ "motorcycle": "摩托车",
+ "traffic_noise": "交通噪音",
+ "rail_transport": "铁路运输",
+ "train": "火车",
+ "train_whistle": "火车汽笛",
+ "train_horn": "火车鸣笛",
+ "railroad_car": "铁路车厢",
+ "train_wheels_squealing": "火车轮子尖叫",
+ "subway": "地铁",
+ "aircraft": "飞行器",
+ "aircraft_engine": "飞机引擎",
+ "jet_engine": "喷气引擎",
+ "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": "滑动门",
+ "slam": "猛关",
+ "knock": "敲门",
+ "tap": "轻敲",
+ "squeak": "吱吱声",
+ "cupboard_open_or_close": "橱柜开关",
+ "drawer_open_or_close": "抽屉开关",
+ "dishes": "餐具",
+ "cutlery": "刀叉",
+ "chopping": "切菜",
+ "frying": "煎炸",
+ "microwave_oven": "微波炉",
+ "blender": "搅拌机",
+ "water_tap": "水龙头",
+ "sink": "水槽",
+ "bathtub": "浴缸",
+ "hair_dryer": "吹风机",
+ "toilet_flush": "马桶冲水",
+ "toothbrush": "牙刷",
+ "electric_toothbrush": "电动牙刷",
+ "vacuum_cleaner": "吸尘器",
+ "zipper": "拉链",
+ "keys_jangling": "钥匙叮当",
+ "coin": "硬币",
+ "scissors": "剪刀",
+ "electric_shaver": "电动剃须刀",
+ "shuffling_cards": "洗牌",
+ "typing": "打字",
+ "typewriter": "打字机",
+ "computer_keyboard": "电脑键盘",
+ "writing": "书写",
+ "alarm": "警报",
+ "telephone": "电话",
+ "telephone_bell_ringing": "电话铃声",
+ "ringtone": "手机铃声",
+ "telephone_dialing": "电话拨号",
+ "dial_tone": "拨号音",
+ "busy_signal": "忙音",
+ "alarm_clock": "闹钟",
+ "siren": "警笛",
+ "civil_defense_siren": "防空警报",
+ "buzzer": "蜂鸣器",
+ "smoke_detector": "烟雾探测器",
+ "fire_alarm": "火灾警报器",
+ "foghorn": "雾笛",
+ "whistle": "哨子",
+ "steam_whistle": "蒸汽汽笛",
+ "mechanisms": "机械装置",
+ "ratchet": "棘轮",
+ "clock": "时钟",
+ "tick": "滴答",
+ "tick-tock": "滴答滴答",
+ "gears": "齿轮",
+ "pulleys": "滑轮",
+ "sewing_machine": "缝纫机",
+ "mechanical_fan": "机械风扇",
+ "air_conditioning": "空调",
+ "cash_register": "收银机",
+ "printer": "打印机",
+ "camera": "相机",
+ "single-lens_reflex_camera": "单反相机",
+ "tools": "工具",
+ "hammer": "锤子",
+ "jackhammer": "风镐",
+ "sawing": "锯",
+ "filing": "锉",
+ "sanding": "砂磨",
+ "power_tool": "电动工具",
+ "drill": "电钻",
+ "explosion": "爆炸",
+ "gunshot": "枪声",
+ "machine_gun": "机关枪",
+ "fusillade": "齐射",
+ "artillery_fire": "炮火",
+ "cap_gun": "玩具枪",
+ "fireworks": "烟花",
+ "firecracker": "鞭炮",
+ "burst": "爆裂",
+ "eruption": "爆发",
+ "boom": "轰隆",
+ "wood": "木头",
+ "chop": "砍",
+ "splinter": "碎裂",
+ "crack": "破裂",
+ "glass": "玻璃",
+ "chink": "叮当",
+ "shatter": "粉碎",
+ "silence": "寂静",
+ "sound_effect": "音效",
+ "environmental_noise": "环境噪音",
+ "static": "静电噪音",
+ "white_noise": "白噪音",
+ "pink_noise": "粉红噪音",
+ "television": "电视",
+ "radio": "收音机",
+ "field_recording": "实地录音",
+ "scream": "尖叫"
}
diff --git a/web/public/locales/zh-CN/common.json b/web/public/locales/zh-CN/common.json
index ef56a0c52..0da7064b1 100644
--- a/web/public/locales/zh-CN/common.json
+++ b/web/public/locales/zh-CN/common.json
@@ -20,8 +20,8 @@
"1hour": "1 小时",
"12hours": "12 小时",
"24hours": "24 小时",
- "pm": "上午",
- "am": "下午",
+ "pm": "下午",
+ "am": "上午",
"yr": "{{time}}年",
"year": "{{time}}年",
"mo": "{{time}}月",
@@ -88,7 +88,7 @@
"back": "返回",
"history": "历史",
"fullscreen": "全屏",
- "exitFullscreen": "全屏",
+ "exitFullscreen": "退出全屏",
"pictureInPicture": "画中画",
"on": "开",
"off": "关",
@@ -157,7 +157,7 @@
"review": "回放",
"explore": "探测",
"export": "导出",
- "uiPlayground": "UI Playground",
+ "uiPlayground": "UI 演示",
"faceLibrary": "人脸管理",
"user": {
"account": "账号",
diff --git a/web/public/locales/zh-CN/components/dialog.json b/web/public/locales/zh-CN/components/dialog.json
index da7786483..92c574f12 100644
--- a/web/public/locales/zh-CN/components/dialog.json
+++ b/web/public/locales/zh-CN/components/dialog.json
@@ -71,7 +71,7 @@
"streaming": {
"label": "视频流",
"restreaming": {
- "disabled": "重新流式传输未启用。",
+ "disabled": "此摄像头未启用视频流转发功能。",
"desc": {
"title": "为此摄像头设置 go2rtc,以获取额外的实时预览选项和音频支持。",
"readTheDocumentation": "阅读文档(英文) "
diff --git a/web/public/locales/zh-CN/components/input.json b/web/public/locales/zh-CN/components/input.json
index 006aca13e..767aea545 100644
--- a/web/public/locales/zh-CN/components/input.json
+++ b/web/public/locales/zh-CN/components/input.json
@@ -3,7 +3,7 @@
"downloadVideo": {
"label": "下载视频",
"toast": {
- "success": "下载成功"
+ "success": "您的回放视频已开始下载。"
}
}
}
diff --git a/web/public/locales/zh-CN/objects.json b/web/public/locales/zh-CN/objects.json
index 6c0fe7fbd..80a7893ae 100644
--- a/web/public/locales/zh-CN/objects.json
+++ b/web/public/locales/zh-CN/objects.json
@@ -100,5 +100,21 @@
"raccoon": "浣熊",
"robot_lawnmower": "自动割草机",
"waste_bin": "垃圾桶",
- "on_demand": "手动"
+ "on_demand": "手动",
+ "face": "人脸",
+ "license_plate": "车牌",
+ "package": "包裹",
+ "bbq_grill": "烧烤架",
+ "amazon": "亚马逊",
+ "usps": "美国邮政",
+ "ups": "UPS",
+ "fedex": "联邦快递",
+ "dhl": "DHL",
+ "an_post": "爱尔兰邮政",
+ "purolator": "普罗莱特",
+ "postnl": "荷兰邮政",
+ "nzpost": "新西兰邮政",
+ "postnord": "北欧邮政",
+ "gls": "GLS",
+ "dpd": "DPD"
}
diff --git a/web/public/locales/zh-CN/views/explore.json b/web/public/locales/zh-CN/views/explore.json
index 9e345d3a2..e855cb0d9 100644
--- a/web/public/locales/zh-CN/views/explore.json
+++ b/web/public/locales/zh-CN/views/explore.json
@@ -29,7 +29,7 @@
"error": "发生错误。请检查Frigate日志。"
}
},
- "trackedObjectDetails": "探测对象详情",
+ "trackedObjectDetails": "跟踪对象详情",
"type": {
"details": "详情",
"snapshot": "快照",
@@ -169,7 +169,7 @@
"desc": "删除此跟踪对象将移除快照、所有已保存的嵌入数据以及任何关联的对象生命周期条目。但在历史视图中的录制视频不会被删除。
你确定要继续删除吗?"
}
},
- "noTrackedObjects": "找不到探测的对象",
+ "noTrackedObjects": "未找到跟踪对象",
"fetchingTrackedObjectsFailed": "获取跟踪对象失败:{{errorMessage}}",
"trackedObjectsCount": "{{count}} 个跟踪对象",
"searchResult": {
diff --git a/web/public/locales/zh-CN/views/live.json b/web/public/locales/zh-CN/views/live.json
index bfaf0ea42..a68518547 100644
--- a/web/public/locales/zh-CN/views/live.json
+++ b/web/public/locales/zh-CN/views/live.json
@@ -79,14 +79,14 @@
},
"manualRecording": {
"title": "按需录制",
- "tips": "根据此摄像机的录制保留设置,手动启动事件。",
+ "tips": "根据此摄像头的录制保留设置,手动启动事件。",
"playInBackground": {
"label": "后台播放",
"desc": "启用此选项可在播放器隐藏时继续视频流播放。"
},
"showStats": {
"label": "显示统计信息",
- "desc": "启用此选项可在摄像机画面上叠加显示视频流统计信息。"
+ "desc": "启用此选项可在摄像头画面上叠加显示视频流统计信息。"
},
"debugView": "调试视图",
"start": "开始手动按需录制",
@@ -107,7 +107,7 @@
"title": "视频流",
"audio": {
"tips": {
- "title": "音频必须从摄像机输出并在 go2rtc 中配置为此视频流使用。",
+ "title": "音频必须从摄像头输出并在 go2rtc 中配置为此视频流使用。",
"documentation": "阅读文档 "
},
"available": "此视频流支持音频",
@@ -130,7 +130,7 @@
},
"cameraSettings": {
"title": "{{camera}} 设置",
- "cameraEnabled": "摄像机已启用",
+ "cameraEnabled": "摄像头已启用",
"objectDetection": "对象检测",
"recording": "录制",
"snapshots": "快照",
diff --git a/web/public/locales/zh-CN/views/search.json b/web/public/locales/zh-CN/views/search.json
index bd98bbabb..d55a611b9 100644
--- a/web/public/locales/zh-CN/views/search.json
+++ b/web/public/locales/zh-CN/views/search.json
@@ -34,12 +34,12 @@
},
"toast": {
"error": {
- "beforeDateBeLaterAfter": "“之前”日期必须晚于“之后”日期。",
- "afterDatebeEarlierBefore": "“之后”日期必须早于“之前”日期。",
- "minScoreMustBeLessOrEqualMaxScore": "最小分值 必须小于或等于 最大分值。",
- "maxScoreMustBeGreaterOrEqualMinScore": "最大分值 必须大于或等于 最小分值",
- "minSpeedMustBeLessOrEqualMaxSpeed": "最低速度 必须小于或等于 最高速度",
- "maxSpeedMustBeGreaterOrEqualMinSpeed": "最高速度 必须大于或等于 最低速度"
+ "beforeDateBeLaterAfter": "结束日期必须晚于开始日期。",
+ "afterDatebeEarlierBefore": "开始日期必须早于结束日期。",
+ "minScoreMustBeLessOrEqualMaxScore": "最低分数必须小于或等于最高分数。",
+ "maxScoreMustBeGreaterOrEqualMinScore": "最高分数必须大于或等于最低分数。",
+ "minSpeedMustBeLessOrEqualMaxSpeed": "最低速度必须小于或等于最高速度。",
+ "maxSpeedMustBeGreaterOrEqualMinSpeed": "最高速度必须大于或等于最低速度。"
}
},
"tips": {
diff --git a/web/public/locales/zh-CN/views/settings.json b/web/public/locales/zh-CN/views/settings.json
index 0fc96128f..8fcfb869e 100644
--- a/web/public/locales/zh-CN/views/settings.json
+++ b/web/public/locales/zh-CN/views/settings.json
@@ -321,7 +321,7 @@
},
"improveContrast": {
"title": "提高对比度",
- "desc": "提高较暗场景的对比度。默认值:开启"
+ "desc": "提高较暗场景的对比度。默认值:启用"
},
"toast": {
"success": "运动设置已保存。"
diff --git a/web/public/locales/zh-CN/views/system.json b/web/public/locales/zh-CN/views/system.json
index 20fbeee83..01251f3c5 100644
--- a/web/public/locales/zh-CN/views/system.json
+++ b/web/public/locales/zh-CN/views/system.json
@@ -145,6 +145,12 @@
"reindexingEmbeddings": "正在重新索引嵌入(已完成 {{processed}}%)"
},
"features": {
- "title": "功能"
+ "title": "功能",
+ "embeddings": {
+ "image_embedding_speed": "图像特征提取速度",
+ "face_embedding_speed": "人脸特征提取速度",
+ "plate_recognition_speed": "车牌识别速度",
+ "text_embedding_speed": "文本编码速度"
+ }
}
}
diff --git a/web/src/views/system/FeatureMetrics.tsx b/web/src/views/system/FeatureMetrics.tsx
index 0f6096a7f..c5b6e1454 100644
--- a/web/src/views/system/FeatureMetrics.tsx
+++ b/web/src/views/system/FeatureMetrics.tsx
@@ -76,14 +76,14 @@ export default function FeatureMetrics({
const key = rawKey.replaceAll("_", " ");
if (!(key in series)) {
- series[key] = { name: key, data: [] };
+ series[key] = { name: t("features.embeddings." + rawKey), data: [] };
}
series[key].data.push({ x: statsIdx + 1, y: stat });
});
});
return Object.values(series);
- }, [statsHistory]);
+ }, [statsHistory, t]);
return (
<>