add sam2 yolo auto annotation

This commit is contained in:
2026-02-04 15:29:36 +07:00
parent 7e56948ece
commit 5a951d8812
2061 changed files with 316473 additions and 0 deletions
@@ -0,0 +1,429 @@
{
"babbling": "Nói líu lo",
"bellow": "Gầm rú",
"whoop": "Hò reo",
"whispering": "Thì thầm",
"laughter": "Tiếng cười",
"snicker": "Cười khúc khích",
"sigh": "Thở dài",
"singing": "Hát",
"choir": "Dàn hợp xướng",
"yodeling": "Hát ngân nga",
"chant": "Hát đồng ca",
"mantra": "Thần chú",
"synthetic_singing": "Giọng hát tổng hợp",
"rapping": "Rap",
"humming": "Ngân nga",
"groan": "Rên rỉ",
"grunt": "Gằn giọng",
"whistling": "Huýt sáo",
"breathing": "Hít thở",
"wheeze": "Thở khò khè",
"gasp": "Thở hổn hển",
"pant": "Thở gấp",
"snort": "Khịt mũi",
"cough": "Ho",
"throat_clearing": "Hắng giọng",
"sneeze": "Hắt hơi",
"sniff": "Hít mũi",
"crying": "Khóc",
"yell": "La hét",
"snoring": "Ngáy",
"speech": "Giọng nói",
"child_singing": "Trẻ con hát",
"run": "Chạy",
"shuffle": "Kéo lê chân",
"footsteps": "Tiếng bước chân",
"chewing": "Nhai",
"biting": "Cắn",
"gargling": "Súc miệng",
"stomach_rumble": "Bụng sôi",
"burping": "Ợ",
"hiccup": "Nấc cụt",
"fart": "Đánh rắm",
"artillery_fire": "Tiếng pháo kích",
"cap_gun": "Tiếng súng giấy",
"fireworks": "Tiếng pháo hoa",
"firecracker": "Tiếng pháo nổ",
"burst": "Tiếng nổ bung",
"eruption": "Tiếng phun trào",
"boom": "Tiếng bùm",
"wood": "Tiếng gỗ",
"chop": "Tiếng chặt",
"splinter": "Tiếng gỗ vỡ",
"crack": "Tiếng nứt",
"glass": "Tiếng thủy tinh",
"chink": "Tiếng leng keng",
"shatter": "Tiếng vỡ vụn",
"silence": "Sự im lặng",
"sound_effect": "Hiệu ứng âm thanh",
"environmental_noise": "Tiếng ồn môi trường",
"static": "Tiếng nhiễu",
"white_noise": "Tiếng trắng",
"pink_noise": "Tiếng hồng",
"television": "Tiếng tivi",
"hands": "Tay",
"finger_snapping": "Búng tay",
"clapping": "Vỗ tay",
"heartbeat": "Nhịp tim",
"heart_murmur": "Tiếng thổi tim",
"cheering": "Cổ vũ",
"applause": "Tràng pháo tay",
"chatter": "Nói chuyện rì rầm",
"crowd": "Đám đông",
"children_playing": "Trẻ con chơi",
"animal": "Động vật",
"pets": "Thú cưng",
"dog": "Chó",
"bark": "Sủa",
"yip": "Sủa nhỏ",
"howl": "Hú",
"bow_wow": "Gâu gâu",
"growling": "Gầm gừ",
"whimper_dog": "Rên rỉ (chó)",
"livestock": "Gia súc",
"cat": "Mèo",
"purr": "Rù rì",
"meow": "Meo meo",
"hiss": "Phì phì",
"caterwaul": "Tiếng mèo gào",
"horse": "Ngựa",
"clip_clop": "Lộc cộc",
"neigh": "Hí (ngựa)",
"cattle": "Bò",
"moo": "Bò rống",
"cowbell": "Chuông bò",
"pig": "Heo",
"oink": "Ụt ịt",
"goat": "Dê",
"bleat": "Kêu be be",
"sheep": "Cừu",
"fowl": "Gia cầm",
"chicken": "Gà",
"cluck": "Cục tác",
"cock_a_doodle_doo": "Gáy (gà trống)",
"turkey": "Gà tây",
"gobble": "Gù gù (gà tây)",
"duck": "Vịt",
"quack": "Quạc quạc",
"goose": "Ngỗng",
"roar": "Gầm rú",
"bird": "Chim",
"chirp": "Hót líu lo",
"squawk": "Kêu the thé",
"honk": "Kêu vang (ngỗng)",
"wild_animals": "Động vật hoang dã",
"roaring_cats": "Mèo lớn gầm",
"pigeon": "Bồ câu",
"coo": "Cục cu",
"crow": "Quạ",
"caw": "Kêu quạ quạ",
"owl": "Cú mèo",
"hoot": "Kêu tu hú",
"flapping_wings": "Vỗ cánh",
"dogs": "Nhiều con chó",
"rats": "Chuột cống",
"mouse": "Chuột nhắt",
"patter": "Lách cách (bước chân nhỏ)",
"insect": "Côn trùng",
"cricket": "Dế",
"mosquito": "Muỗi",
"fly": "Ruồi",
"buzz": "Vo ve",
"frog": "Ếch",
"croak": "Ếch kêu",
"snake": "Rắn",
"rattle": "Lắc lư / lách cách",
"whale_vocalization": "Tiếng cá voi",
"music": "Âm nhạc",
"musical_instrument": "Nhạc cụ",
"plucked_string_instrument": "Nhạc cụ dây gảy",
"guitar": "Đàn guitar",
"electric_guitar": "Đàn guitar điện",
"bass_guitar": "Đàn guitar bass",
"acoustic_guitar": "Đàn guitar acoustic",
"steel_guitar": "Đàn steel guitar",
"tapping": "Kỹ thuật tapping",
"strum": "Gảy đàn",
"banjo": "Đàn banjo",
"sitar": "Đàn sitar",
"mandolin": "Đàn mandolin",
"zither": "Đàn tranh",
"ukulele": "Đàn ukulele",
"keyboard": "Bàn phím nhạc",
"piano": "Đàn piano",
"electric_piano": "đàn piano điện",
"organ": "Đàn organ",
"electronic_organ": "Đàn organ điện tử",
"hammond_organ": "Đàn organ Hammond",
"synthesizer": "Bộ tổng hợp âm",
"sampler": "Thiết bị lấy mẫu âm thanh",
"harpsichord": "Đàn harpsichord",
"percussion": "Bộ gõ",
"drum_kit": "Bộ trống",
"drum_machine": "Máy trống",
"drum": "Tiếng trống",
"snare_drum": "Trống snare",
"rimshot": "Gõ vành trống",
"drum_roll": "Cuộn trống",
"bass_drum": "Trống bass",
"timpani": "Trống timpani",
"tabla": "Trống tabla",
"cymbal": "Tiếng chũm chọe",
"hi_hat": "Tiếng hi-hat",
"wood_block": "Khối gỗ gõ",
"tambourine": "Trống lắc",
"maraca": "Tiếng lắc maraca",
"gong": "Tiếng chiêng",
"tubular_bells": "Chuông ống",
"mallet_percussion": "Nhạc cụ gõ bằng dùi",
"marimba": "Đàn marimba",
"glockenspiel": "Chuông gõ glockenspiel",
"vibraphone": "Đàn vibraphone",
"steelpan": "Trống thép",
"orchestra": "Dàn nhạc giao hưởng",
"brass_instrument": "Nhạc cụ đồng",
"french_horn": "Kèn Pháp",
"trumpet": "Kèn trumpet",
"trombone": "Kèn trombone",
"bowed_string_instrument": "Nhạc cụ dây kéo",
"string_section": "Dàn dây",
"violin": "Đàn violin",
"pizzicato": "Gảy dây pizzicato",
"cello": "Đàn cello",
"double_bass": "Đàn contrabass",
"wind_instrument": "Nhạc cụ hơi",
"flute": "Tiếng sáo",
"saxophone": "Kèn saxophone",
"clarinet": "Kèn clarinet",
"harp": "Đàn harp",
"bell": "Chuông",
"church_bell": "Chuông nhà thờ",
"jingle_bell": "Chuông leng keng",
"bicycle_bell": "Chuông xe đạp",
"tuning_fork": "Âm thoa",
"chime": "Tiếng chuỗi chuông",
"wind_chime": "Tiếng chuông gió",
"harmonica": "Tiếng kèn harmonica",
"accordion": "Tiếng đàn accordion",
"bagpipes": "Tiếng kèn túi",
"didgeridoo": "Tiếng kèn didgeridoo",
"theremin": "Tiếng nhạc cụ theremin",
"singing_bowl": "Tiếng chuông xoay Tây Tạng",
"scratching": "Scratch nhạc (xoay đĩa)",
"pop_music": "Nhạc pop",
"hip_hop_music": "Nhạc hip hop",
"beatboxing": "Beatbox",
"rock_music": "Nhạc rock",
"heavy_metal": "Nhạc heavy metal",
"punk_rock": "Nhạc punk rock",
"grunge": "Nhạc grunge",
"progressive_rock": "Nhạc rock tiến bộ",
"rock_and_roll": "Nhạc rock and roll",
"psychedelic_rock": "Nhạc rock ảo giác",
"rhythm_and_blues": "Nhạc R&B",
"soul_music": "Nhạc soul",
"reggae": "Nhạc reggae",
"country": "Nhạc đồng quê",
"swing_music": "Nhạc swing",
"bluegrass": "Nhạc bluegrass",
"funk": "Nhạc funk",
"folk_music": "Nhạc dân gian",
"middle_eastern_music": "Nhạc Trung Đông",
"jazz": "Nhạc jazz",
"disco": "Nhạc disco",
"classical_music": "Nhạc cổ điển",
"opera": "Nhạc opera",
"electronic_music": "Nhạc điện tử",
"house_music": "Nhạc house",
"techno": "Nhạc techno",
"dubstep": "Nhạc dubstep",
"drum_and_bass": "Nhạc trống và bass",
"electronica": "Nhạc electronica",
"electronic_dance_music": "Nhạc nhảy điện tử",
"ambient_music": "Nhạc nền",
"trance_music": "Nhạc trance",
"music_of_latin_america": "Nhạc Mỹ Latinh",
"salsa_music": "Nhạc salsa",
"flamenco": "Nhạc flamenco",
"blues": "Nhạc blues",
"music_for_children": "Nhạc thiếu nhi",
"new-age_music": "Nhạc thời đại mới",
"vocal_music": "Nhạc thanh nhạc",
"a_capella": "Nhạc a cappella",
"music_of_africa": "Nhạc châu Phi",
"afrobeat": "Nhạc afrobeat",
"christian_music": "Nhạc Cơ Đốc",
"gospel_music": "Nhạc phúc âm",
"music_of_asia": "Nhạc châu Á",
"carnatic_music": "Nhạc Carnatic",
"music_of_bollywood": "Nhạc Bollywood",
"ska": "Nhạc ska",
"traditional_music": "Nhạc truyền thống",
"independent_music": "Nhạc indie",
"song": "Bài hát",
"background_music": "Nhạc nền",
"theme_music": "Nhạc chủ đề",
"jingle": "Nhạc quảng cáo",
"soundtrack_music": "Nhạc phim",
"lullaby": "Tiếng ru",
"video_game_music": "Nhạc trò chơi",
"christmas_music": "Nhạc Giáng Sinh",
"dance_music": "Nhạc khiêu vũ",
"wedding_music": "Nhạc đám cưới",
"happy_music": "Nhạc vui",
"sad_music": "Nhạc buồn",
"tender_music": "Nhạc nhẹ nhàng",
"exciting_music": "Nhạc sôi động",
"angry_music": "Nhạc tức giận",
"scary_music": "Nhạc rùng rợn",
"wind": "Tiếng gió",
"rustling_leaves": "Tiếng lá xào xạc",
"wind_noise": "Tiếng gió rít",
"thunderstorm": "Tiếng giông bão",
"water": "Tiếng nước",
"thunder": "Tiếng sấm",
"rain": "Tiếng mưa",
"raindrop": "Tiếng giọt mưa",
"rain_on_surface": "Tiếng mưa rơi",
"stream": "Tiếng suối",
"waterfall": "Tiếng thác nước",
"ocean": "Tiếng biển",
"waves": "Tiếng sóng",
"steam": "Tiếng hơi nước",
"gurgling": "Tiếng róc rách",
"fire": "Tiếng lửa",
"crackle": "Tiếng tí tách",
"vehicle": "Tiếng phương tiện",
"boat": "Tiếng thuyền",
"sailboat": "Tiếng thuyền buồm",
"rowboat": "Tiếng chèo thuyền",
"motorboat": "Tiếng xuồng máy",
"ship": "Tiếng tàu",
"motor_vehicle": "Tiếng xe cơ giới",
"car": "Tiếng xe ô tô",
"toot": "Tiếng bấm còi",
"car_alarm": "Tiếng báo động ô tô",
"power_windows": "Tiếng cửa kính xe",
"skidding": "Tiếng trượt bánh",
"tire_squeal": "Tiếng lốp rít",
"car_passing_by": "Tiếng xe chạy qua",
"race_car": "Tiếng xe đua",
"truck": "Tiếng xe tải",
"ice_cream_truck": "Tiếng xe kem",
"air_brake": "Tiếng phanh hơi",
"air_horn": "Tiếng còi hơi",
"reversing_beeps": "Tiếng kêu lùi xe",
"bus": "Tiếng xe buýt",
"emergency_vehicle": "Tiếng xe khẩn cấp",
"police_car": "Tiếng xe cảnh sát",
"ambulance": "Tiếng xe cứu thương",
"fire_engine": "Tiếng xe cứu hỏa",
"motorcycle": "Tiếng xe máy",
"traffic_noise": "Tiếng giao thông",
"rail_transport": "Tiếng đường sắt",
"train_horn": "Tiếng còi tàu hỏa",
"railroad_car": "Tiếng toa tàu",
"train": "Tiếng tàu hỏa",
"train_whistle": "Tiếng còi tàu",
"train_wheels_squealing": "Tiếng bánh tàu rít",
"subway": "Tiếng tàu điện ngầm",
"aircraft": "Tiếng máy bay",
"aircraft_engine": "Tiếng động cơ máy bay",
"jet_engine": "Tiếng động cơ phản lực",
"propeller": "Tiếng cánh quạt",
"helicopter": "Tiếng trực thăng",
"fixed-wing_aircraft": "Tiếng máy bay cánh cố định",
"bicycle": "Tiếng xe đạp",
"skateboard": "Tiếng ván trượt",
"engine": "Tiếng động cơ",
"light_engine": "Tiếng động cơ nhẹ",
"dental_drill's_drill": "Tiếng khoan nha khoa",
"lawn_mower": "Tiếng máy cắt cỏ",
"chainsaw": "Tiếng cưa máy",
"medium_engine": "Tiếng động cơ vừa",
"heavy_engine": "Tiếng động cơ nặng",
"engine_knocking": "Tiếng gõ máy",
"engine_starting": "Tiếng khởi động động cơ",
"ding-dong": "Tiếng ding-dong",
"idling": "Tiếng nổ không tải",
"accelerating": "Tiếng tăng tốc",
"door": "Tiếng cửa",
"doorbell": "Tiếng chuông cửa",
"sliding_door": "Tiếng cửa trượt",
"slam": "Tiếng đóng sầm",
"knock": "Tiếng gõ cửa",
"tap": "Tiếng gõ nhẹ",
"squeak": "Tiếng kêu cót két",
"cupboard_open_or_close": "Tiếng mở/đóng tủ",
"drawer_open_or_close": "Tiếng mở/đóng ngăn kéo",
"dishes": "Tiếng bát đĩa",
"cutlery": "Tiếng dao nĩa",
"chopping": "Tiếng băm chặt",
"frying": "Tiếng chiên xào",
"microwave_oven": "Tiếng lò vi sóng",
"blender": "Tiếng máy xay",
"water_tap": "Tiếng vòi nước",
"sink": "Tiếng bồn rửa",
"bathtub": "Tiếng bồn tắm",
"coin": "Tiếng đồng xu",
"hair_dryer": "Tiếng máy sấy tóc",
"toilet_flush": "Tiếng xả nước",
"toothbrush": "Tiếng bàn chải",
"electric_toothbrush": "Tiếng bàn chải điện",
"vacuum_cleaner": "Tiếng máy hút bụi",
"zipper": "Tiếng dây kéo",
"keys_jangling": "Tiếng chìa khóa leng keng",
"scissors": "Tiếng kéo cắt",
"electric_shaver": "Tiếng máy cạo râu",
"shuffling_cards": "Tiếng xào bài",
"typing": "Tiếng gõ phím",
"typewriter": "Tiếng máy đánh chữ",
"computer_keyboard": "Tiếng bàn phím",
"writing": "Tiếng viết",
"alarm": "Tiếng báo động",
"telephone": "Tiếng điện thoại",
"telephone_bell_ringing": "Tiếng chuông điện thoại",
"ringtone": "Tiếng nhạc chuông",
"telephone_dialing": "Tiếng quay số",
"dial_tone": "Tiếng âm quay số",
"busy_signal": "Tiếng tín hiệu bận",
"alarm_clock": "Tiếng đồng hồ báo thức",
"siren": "Tiếng còi báo động",
"civil_defense_siren": "Tiếng còi phòng không",
"buzzer": "Tiếng chuông báo",
"smoke_detector": "Tiếng báo khói",
"fire_alarm": "Tiếng báo cháy",
"foghorn": "Tiếng còi sương",
"whistle": "Tiếng còi",
"steam_whistle": "Tiếng còi hơi",
"mechanisms": "Tiếng cơ khí",
"ratchet": "Tiếng cơ cấu bánh cóc",
"clock": "Tiếng đồng hồ",
"tick": "Tiếng tích",
"tick-tock": "Tiếng tích tắc",
"gears": "Tiếng bánh răng",
"pulleys": "Tiếng ròng rọc",
"sewing_machine": "Tiếng máy may",
"camera": "Tiếng máy ảnh",
"single-lens_reflex_camera": "Tiếng máy ảnh DSLR",
"mechanical_fan": "Tiếng quạt máy",
"air_conditioning": "Tiếng máy lạnh",
"cash_register": "Tiếng máy tính tiền",
"printer": "Tiếng máy in",
"tools": "Tiếng dụng cụ",
"hammer": "Tiếng búa",
"jackhammer": "Tiếng khoan bê tông",
"sawing": "Tiếng cưa",
"filing": "Tiếng giũa",
"sanding": "Tiếng chà nhám",
"power_tool": "Tiếng dụng cụ điện",
"drill": "Tiếng máy khoan",
"explosion": "Tiếng nổ",
"gunshot": "Tiếng súng",
"machine_gun": "Tiếng súng máy",
"fusillade": "Tiếng loạt súng",
"radio": "Tiếng radio",
"field_recording": "Ghi âm hiện trường",
"scream": "Tiếng hét"
}
@@ -0,0 +1,300 @@
{
"time": {
"untilRestart": "Đến khi khởi động lại",
"untilForTime": "Cho đến khi {{time}}",
"untilForRestart": "Cho đến khi Frigate khởi động lại.",
"ago": "{{timeAgo}} trước",
"formattedTimestamp": {
"12hour": "d MMM, h:mm:ss aaa",
"24hour": "d MMM, HH:mm:ss"
},
"year_other": "{{time}} năm",
"month_other": "{{time}} tháng",
"day_other": "{{time}} ngày",
"hour_other": "{{time}} giờ",
"minute_other": "{{time}} phút",
"second_other": "{{time}} giây",
"justNow": "Vừa xong",
"today": "Hôm nay",
"yesterday": "Hôm qua",
"last7": "7 ngày qua",
"last14": "14 ngày qua",
"last30": "30 ngày qua",
"thisWeek": "Tuần này",
"lastWeek": "Tuần trước",
"thisMonth": "Tháng này",
"lastMonth": "Tháng trước",
"5minutes": "5 phút",
"10minutes": "10 phút",
"30minutes": "30 phút",
"1hour": "1 giờ",
"12hours": "12 giờ",
"24hours": "24 giờ",
"pm": "pm",
"am": "am",
"mo": "{{time}} tháng",
"d": "{{time}} ngày",
"m": "{{time}} phút",
"s": "{{time}} giây",
"formattedTimestamp2": {
"12hour": "dd/MM h:mm:ssa",
"24hour": "d MMM HH:mm:ss"
},
"formattedTimestampExcludeSeconds": {
"12hour": "thời gian 12 giờ (không giây)",
"24hour": "thời gian 24 giờ (không giây)"
},
"formattedTimestampWithYear": {
"12hour": "thời gian 12 giờ kèm năm",
"24hour": "thời gian 24 giờ kèm năm"
},
"formattedTimestampOnlyMonthAndDay": "chỉ tháng và ngày",
"yr": "{{time}} năm",
"h": "{{time}} giờ",
"formattedTimestampMonthDayYear": {
"12hour": "d MMM, yyyy",
"24hour": "d MMM, yyyy"
},
"formattedTimestampHourMinute": {
"12hour": "h:mm aaa",
"24hour": "HH:mm"
},
"formattedTimestampHourMinuteSecond": {
"12hour": "h:mm:ss aaa",
"24hour": "HH:mm:ss"
},
"formattedTimestampMonthDayHourMinute": {
"12hour": "d MMM, h:mm aaa",
"24hour": "d MMM, HH:mm"
},
"formattedTimestampMonthDayYearHourMinute": {
"12hour": "d MMM yyyy, h:mm aaa",
"24hour": "d MMM yyyy, HH:mm"
},
"formattedTimestampMonthDay": "d MMM",
"formattedTimestampFilename": {
"12hour": "dd-MM-yy-h-mm-ss-a",
"24hour": "dd-MM-yy-HH-mm-s"
},
"inProgress": "Đang tiến hành",
"invalidStartTime": "Thời gian bắt đầu không hợp lệ",
"invalidEndTime": "Thời gian kết thúc không hợp lệ"
},
"menu": {
"systemLogs": "Nhật ký hệ thống",
"user": {
"account": "Tài khoản",
"anonymous": "Ẩn danh",
"logout": "Đăng xuất",
"setPassword": "Đặt mật khẩu",
"current": "Người dùng hiện tại: {{user}}",
"title": "Người dùng"
},
"language": {
"en": "English (Tiếng Anh)",
"es": "Español (Tiếng Tây Ban Nha)",
"zhCN": "简体中文 (Tiếng Trung Giản Thể)",
"ar": "العربية (Tiếng Ả Rập)",
"hi": "हिन्दी (Tiếng Hindi)",
"fr": "Français (Tiếng Pháp)",
"pt": "Português (Tiếng Bồ Đào Nha)",
"ru": "Русский (Tiếng Nga)",
"de": "Deutsch (Tiếng Đức)",
"ja": "日本語 (Tiếng Nhật)",
"tr": "Türkçe (Tiếng Thổ Nhĩ Kỳ)",
"it": "Italiano (Tiếng Ý)",
"nl": "Nederlands (Tiếng Hà Lan)",
"sv": "Svenska (Tiếng Thụy Điển)",
"cs": "Čeština (Tiếng Séc)",
"nb": "Norsk Bokmål (Tiếng Na Uy)",
"ko": "한국어 (Tiếng Hàn)",
"pl": "Polski (Tiếng Ba Lan)",
"vi": "Tiếng Việt (Tiếng Việt)",
"fa": "فارسی (Tiếng Ba Tư)",
"uk": "Українська (Tiếng Ukraina)",
"he": "עברית (Tiếng Do Thái)",
"el": "Ελληνικά (Tiếng Hy Lạp)",
"ro": "Română (Tiếng Romania)",
"hu": "Magyar (Tiếng Hungary)",
"fi": "Suomi (Tiếng Phần Lan)",
"da": "Dansk (Tiếng Đan Mạch)",
"sk": "Slovenčina (Tiếng Slovakia)",
"withSystem": {
"label": "Theo hệ thống"
},
"yue": "粵語 (Tiếng Quảng Đông)",
"ca": "Català (Tiếng Catalan)",
"th": "ไทย (Tiếng Thái)",
"ptBR": "Português brasileiro (Tiếng Bồ Đào Nha Brazil)",
"sr": "Српски (Tiếng Serbian)",
"sl": "Slovenščina (Tiếng Slovenian)",
"lt": "Lietuvių (Tiếng Lithuanian)",
"bg": "Български (Tiếng Bulgarian)",
"gl": "Galego (Tiếng Galician)",
"id": "Bahasa Indonesia (Tiếng Indonesian)",
"ur": "اردو (Tiếng Urdu)"
},
"system": "Hệ thống",
"systemMetrics": "Thông số hệ thống",
"configuration": "Cấu hình",
"settings": "Cài đặt",
"configurationEditor": "Trình chỉnh sửa cấu hình",
"languages": "Ngôn ngữ",
"appearance": "Giao diện",
"darkMode": {
"label": "Chế độ tối",
"light": "Sáng",
"dark": "Tối",
"withSystem": {
"label": "Theo hệ thống"
}
},
"withSystem": "Hệ thống",
"theme": {
"label": "Giao diện",
"red": "Đỏ",
"contrast": "tương phản",
"blue": "Xanh dương",
"green": "Xanh lá",
"nord": "Nord",
"default": "Mặc định",
"highcontrast": "Độ tương phản cao"
},
"help": "Trợ giúp",
"documentation": {
"title": "Tài liệu",
"label": "Hướng dẫn"
},
"restart": "Khởi động lại",
"live": {
"title": "Trực tiếp",
"allCameras": "Tất cả Camera",
"cameras": {
"title": "Camera",
"count_other": "{{count}} Camera"
}
},
"review": "Xem lại",
"explore": "Khám phá",
"export": "Xuất",
"uiPlayground": "UI Playground",
"faceLibrary": "Thư viện khuôn mặt",
"classification": "Phân loại"
},
"unit": {
"speed": {
"mph": "mph (dặm/giờ)",
"kph": "km/h (kilômét/giờ)"
},
"length": {
"meters": "mét (m)",
"feet": "feet (ft)"
},
"data": {
"kbps": "kB/s",
"mbps": "MB/s",
"gbps": "GB/s",
"kbph": "kB/giờ",
"mbph": "MB/giờ",
"gbph": "GB/giờ"
}
},
"label": {
"back": "Quay lại",
"hide": "Ẩn {{item}}",
"show": "Hiển thị {{item}}",
"ID": "ID",
"none": "Không có",
"all": "Tất cả"
},
"button": {
"apply": "Áp dụng",
"reset": "Đặt lại",
"done": "Xong",
"enabled": "Đã bật",
"enable": "Bật",
"disabled": "Đã tắt",
"disable": "Tắt",
"save": "Lưu",
"cancel": "Hủy",
"close": "Đóng",
"copy": "Sao chép",
"back": "Quay lại",
"history": "Lịch sử",
"fullscreen": "Toàn màn hình",
"on": "Bật",
"exitFullscreen": "Thoát toàn màn hình",
"pictureInPicture": "Hình trong hình",
"twoWayTalk": "Đàm thoại hai chiều",
"cameraAudio": "Âm thanh Camera",
"off": "Tắt",
"edit": "Chỉnh sửa",
"copyCoordinates": "Sao chép tọa độ",
"delete": "Xóa",
"yes": "Có",
"no": "Không",
"download": "Tải xuống",
"info": "Thông tin",
"suspended": "Đã tạm dừng",
"unsuspended": "Khôi phục",
"play": "Phát",
"unselect": "Bỏ chọn",
"export": "Xuất",
"deleteNow": "Xóa ngay",
"next": "Tiếp theo",
"saving": "Đang lưu…",
"continue": "Tiếp tục"
},
"toast": {
"copyUrlToClipboard": "Đã sao chép liên kết.",
"save": {
"title": "Lưu thành công",
"error": {
"noMessage": "Không thể lưu thay đổi cấu hình",
"title": "Lỗi khi lưu thay đổi cấu hình: {{errorMessage}}"
}
}
},
"role": {
"title": "Vai trò",
"admin": "Quản trị viên",
"viewer": "Người xem",
"desc": "Quản trị viên có toàn quyền truy cập tất cả các tính năng trong giao diện Frigate. Người xem chỉ được phép xem camera, mục đã ghi lại và các đoạn video lịch sử trong giao diện."
},
"pagination": {
"label": "Trang",
"previous": {
"title": "Trước đó",
"label": "Trước"
},
"next": {
"title": "Kế tiếp",
"label": "Tiếp"
},
"more": "Xem thêm"
},
"accessDenied": {
"documentTitle": "Từ chối truy cập",
"title": "Truy cập bị từ chối",
"desc": "Bạn không có quyền truy cập vào trang này."
},
"notFound": {
"documentTitle": "Không tìm thấy",
"title": "Không tìm thấy",
"desc": "Trang bạn đang tìm không tồn tại"
},
"selectItem": "Chọn mục {{item}}",
"readTheDocumentation": "Đọc tài liệu",
"list": {
"two": "{{0}} và {{1}}",
"many": "{{items}}, và {{last}}",
"separatorWithSpace": ", "
},
"field": {
"optional": "Không bắt buộc",
"internalID": "Internal ID Frigate sử dụng trong cấu hình và cơ sở dữ liệu"
},
"information": {
"pixels": "{{area}}px"
}
}
@@ -0,0 +1,16 @@
{
"form": {
"user": "Tên người dùng",
"password": "Mật khẩu",
"login": "Đăng nhập",
"errors": {
"usernameRequired": "Tên người dùng là bắt buộc",
"passwordRequired": "Mật khẩu là bắt buộc",
"rateLimit": "Đã vượt quá giới hạn tốc độ. Hãy thử lại sau.",
"loginFailed": "Đăng nhập không thành công",
"unknownError": "Lỗi không xác định. Kiểm tra nhật ký.",
"webUnknownError": "Lỗi không xác định. Kiểm tra nhật ký bảng điều khiển."
},
"firstTimeLogin": "Lần đầu đăng nhập? Thông tin đăng nhập được in trong nhật ký (log) của Frigate."
}
}
@@ -0,0 +1,87 @@
{
"group": {
"delete": {
"label": "Xóa nhóm Camera",
"confirm": {
"title": "Xác nhận xóa",
"desc": "Bạn có chắc chắn muốn xóa nhóm camera <em>{{name}}</em> không?"
}
},
"label": "Các nhóm Camera",
"add": "Thêm nhóm Camera",
"camera": {
"setting": {
"stream": "Trực tiếp",
"audio": {
"tips": {
"title": "Âm thanh phải được xuất từ camera của bạn và được định cấu hình trong go2rtc cho luồng này.",
"document": "Đọc tài liệu "
}
},
"desc": "Thay đổi các tùy chọn truyền phát trực tiếp cho bảng điều khiển của nhóm camera này.<em>Các cài đặt này dành riêng cho thiết bị/trình duyệt..</em>",
"streamMethod": {
"method": {
"noStreaming": {
"desc": "Hình ảnh camera sẽ chỉ cập nhật mỗi phút một lần và không có truyền phát nào xảy ra.",
"label": "Không truyền phát"
},
"continuousStreaming": {
"desc": {
"title": "Hình ảnh camera sẽ luôn là luồng trực tiếp khi hiển thị trên bảng điều khiển, ngay cả khi không có hoạt động nào được phát hiện.",
"warning": "Truyền phát liên tục có thể gây ra sử dụng băng thông cao và các vấn đề về hiệu suất. Sử dụng một cách thận trọng."
},
"label": "Truyền phát liên tục"
},
"smartStreaming": {
"label": "Truyền phát Thông minh (khuyến nghị)",
"desc": "Truyền phát thông minh sẽ cập nhật hình ảnh camera của bạn mỗi phút một lần khi không có hoạt động nào được phát hiện để tiết kiệm băng thông và tài nguyên. Khi phát hiện hoạt động, hình ảnh sẽ chuyển đổi liền mạch sang luồng trực tiếp."
}
},
"placeholder": "Chọn phương thức truyền phát",
"label": "Phương thức truyền phát"
},
"placeholder": "Chọn phát trực tiếp",
"compatibilityMode": {
"label": "Chế độ tương thích",
"desc": "Chỉ bật tùy chọn này nếu luồng trực tiếp của camera của bạn hiển thị các hiện vật màu và có một đường chéo ở phía bên phải của hình ảnh."
},
"title": "Cài đặt trực tiếp {{cameraName}}",
"audioIsAvailable": "Âm thanh có sẵn cho luồng này",
"audioIsUnavailable": "Âm thanh không có sẵn cho luồng này",
"label": "Cài đặt trực tiếp Camera"
},
"birdseye": "Toàn cảnh"
},
"name": {
"label": "Tên",
"errorMessage": {
"mustLeastCharacters": "Tên nhóm Camera phải có ít nhất 2 ký tự.",
"nameMustNotPeriod": "Tên nhóm camera không được chứa dấu chấm.",
"exists": "Tên nhóm Camera đã tồn tại.",
"invalid": "Tên nhóm camera không hợp lệ."
},
"placeholder": "Nhập tên…"
},
"icon": "Biểu tượng",
"success": "Nhóm camera ({{name}}) đã được lưu.",
"cameras": {
"desc": "Chọn camera cho nhóm này.",
"label": "Camera"
},
"edit": "Sửa nhóm Camera"
},
"debug": {
"boundingBox": "Hộp giới hạn",
"options": {
"hideOptions": "Ẩn tùy chọn",
"label": "Cài đặt",
"title": "Tùy chọn",
"showOptions": "Hiện thị tùy chọn"
},
"timestamp": "Dấu thời gian",
"zones": "Khu vực",
"mask": "Mặt nạ",
"motion": "Chuyển động",
"regions": "Vùng"
}
}
@@ -0,0 +1,122 @@
{
"restart": {
"title": "Bạn có chắc chắn muốn khởi động lại Frigate không?",
"button": "Khởi động lại",
"restarting": {
"title": "Đang khởi động lại Frigate",
"content": "Trang này sẽ tải lại sau {{countdown}} giây.",
"button": "Tải lại ngay"
}
},
"explore": {
"plus": {
"review": {
"question": {
"ask_a": "Đối tượng này có phải là một <code>{{label}}</code> không?",
"ask_an": "Đối tượng này có phải là một <code>{{label}}</code> không?",
"label": "Xác nhận nhãn này cho Frigate Plus",
"ask_full": "Đối tượng này có phải là một <code>{{untranslatedLabel}}</code> ({{translatedLabel}}) không?"
},
"state": {
"submitted": "Đã gửi"
}
},
"submitToPlus": {
"label": "Gửi lên Frigate+",
"desc": "Đối tượng xuất hiện ở các khu vực bạn muốn tránh không được xem là phát hiện sai. Gửi chúng lên dưới dạng phát hiện sai có thể làm mô hình bị nhầm lẫn."
}
},
"video": {
"viewInHistory": "Xem lại trong Lịch sử"
}
},
"export": {
"time": {
"fromTimeline": "Chọn từ Dòng thời gian",
"custom": "Tuỳ chọn",
"start": {
"title": "Thời gian bắt đầu",
"label": "Chọn thời gian bắt đầu"
},
"end": {
"title": "Thời gian kết thúc",
"label": "Chọn thời gian kết thúc"
},
"lastHour_other": "{{count}} giờ trước"
},
"name": {
"placeholder": "Đặt tên cho bản xuất"
},
"select": "Chọn",
"export": "Xuất",
"selectOrExport": "Chọn hay xuất",
"toast": {
"error": {
"endTimeMustAfterStartTime": "Thời gian kết thúc phải sau thời gian bắt đầu",
"noVaildTimeSelected": "Chưa chọn khoảng thời gian hợp lệ",
"failed": "Không thể bắt đầu xuất: {{error}}"
},
"success": "Đã bắt đầu xuất dữ liệu thành công. Xem tệp trên trang xuất dữ liệu.",
"view": "Xem"
},
"fromTimeline": {
"saveExport": "Lưu bản xuất",
"previewExport": "Xem trước bản xuất"
}
},
"streaming": {
"debugView": "Chế độ xem Gỡ lỗi",
"label": "Luồng",
"restreaming": {
"disabled": "Tính năng phát lại luồng không được bật cho camera này.",
"desc": {
"title": "Thiết lập go2rtc để có thêm tùy chọn xem trực tiếp và âm thanh cho camera này.",
"readTheDocumentation": "Đọc tài liệu"
}
},
"showStats": {
"label": "Hiển thị số liệu thống kê luồng",
"desc": "Bật tùy chọn này để hiển thị số liệu thống kê luồng dưới dạng lớp phủ trên nguồn cấp dữ liệu camera."
}
},
"recording": {
"confirmDelete": {
"title": "Xác nhận xóa",
"toast": {
"success": "Đoạn video liên quan đến các mục đánh giá đã chọn đã được xóa thành công.",
"error": "Không thể xóa: {{error}}"
},
"desc": {
"selected": "Bạn có chắc chắn muốn xóa tất cả video đã ghi liên quan đến mục đánh giá này không?<br /><br />Giữ phím <em>Shift</em> để bỏ qua hộp thoại này trong tương lai."
}
},
"button": {
"deleteNow": "Xóa ngay",
"export": "Xuất",
"markAsReviewed": "Đánh dấu là đã xem xét",
"markAsUnreviewed": "Đánh dấu là chưa xem xét"
}
},
"search": {
"saveSearch": {
"success": "Tìm kiếm ({{searchName}}) đã được lưu.",
"button": {
"save": {
"label": "Lưu tìm kiếm này"
}
},
"label": "Lưu tìm kiếm",
"desc": "Cung cấp tên cho tìm kiếm đã lưu này.",
"placeholder": "Nhập tên cho tìm kiếm của bạn",
"overwrite": "{{searchName}} đã tồn tại. Lưu sẽ ghi đè lên giá trị hiện có."
}
},
"imagePicker": {
"selectImage": "Chọn hình thu nhỏ của đối tượng cần theo dõi",
"search": {
"placeholder": "Tìm theo nhãn hoặc nhãn phụ..."
},
"noImages": "Không tìm thấy hình thu nhỏ cho camera này",
"unknownLabel": "Ảnh kích hoạt đã lưu"
}
}
@@ -0,0 +1,136 @@
{
"filter": "Lọc",
"labels": {
"label": "Nhãn",
"all": {
"title": "Tất cả các nhãn",
"short": "Nhãn"
},
"count_one": "{{count}} nhãn",
"count_other": "{{count}} nhãn"
},
"features": {
"submittedToFrigatePlus": {
"tips": "Trước tiên, bạn phải lọc các đối tượng được theo dõi có ảnh chụp nhanh.<br /><br />Không thể gửi các đối tượng được theo dõi không có ảnh chụp nhanh tới Frigate+.",
"label": "Đã gửi tới Frigate+"
},
"label": "Tính năng",
"hasSnapshot": "Có ảnh chụp nhanh",
"hasVideoClip": "Có video clip"
},
"sort": {
"scoreDesc": "Điểm Đối tượng (Giảm dần)",
"speedAsc": "Tốc độ Ước tính (Tăng dần)",
"relevance": "Mức độ liên quan",
"label": "Sắp xếp",
"dateAsc": "Ngày (Tăng dần)",
"dateDesc": "Ngày (Giảm dần)",
"scoreAsc": "Điểm Đối tượng (Tăng dần)",
"speedDesc": "Tốc độ Ước tính (Giảm dần)"
},
"cameras": {
"label": "Bộ lọc Camera",
"all": {
"title": "Tất cả Camera",
"short": "Camera"
}
},
"review": {
"showReviewed": "Hiển thị đã xem xét"
},
"motion": {
"showMotionOnly": "Chỉ Hiển thị Chuyển động"
},
"explore": {
"settings": {
"title": "Cài đặt",
"defaultView": {
"title": "Chế độ xem Mặc định",
"desc": "Khi không có bộ lọc nào được chọn, hiển thị bản tóm tắt các đối tượng được theo dõi gần đây nhất cho mỗi nhãn, hoặc hiển thị lưới không được lọc.",
"summary": "Tóm tắt",
"unfilteredGrid": "Lưới không được lọc"
},
"gridColumns": {
"title": "Cột Lưới",
"desc": "Chọn số lượng cột trong chế độ xem lưới."
},
"searchSource": {
"label": "Nguồn Tìm kiếm",
"desc": "Chọn tìm kiếm hình thu nhỏ hay mô tả của các đối tượng được theo dõi của bạn.",
"options": {
"thumbnailImage": "Hình thu nhỏ",
"description": "Mô tả"
}
}
},
"date": {
"selectDateBy": {
"label": "Chọn một ngày để lọc theo"
}
}
},
"logSettings": {
"allLogs": "Tất cả nhật ký",
"label": "Lọc cấp độ nhật ký",
"filterBySeverity": "Lọc nhật ký theo mức độ nghiêm trọng",
"loading": {
"title": "Đang tải",
"desc": "Khi bảng nhật ký được cuộn xuống dưới cùng, nhật ký mới sẽ tự động truyền trực tuyến khi chúng được thêm vào."
},
"disableLogStreaming": "Tắt truyền phát nhật ký"
},
"trackedObjectDelete": {
"title": "Xác nhận Xóa",
"toast": {
"success": "Đã xóa thành công các đối tượng được theo dõi.",
"error": "Không thể xóa các đối tượng được theo dõi: {{errorMessage}}"
},
"desc": "Việc xóa {{objectLength}} đối tượng được theo dõi này sẽ xóa ảnh chụp nhanh, mọi nội dung nhúng đã lưu và mọi mục nhập vòng đời đối tượng liên quan. Đoạn ghi hình đã ghi của các đối tượng được theo dõi này trong chế độ xem Lịch sử sẽ <em>KHÔNG</em> bị xóa.<br /><br />Bạn có chắc chắn muốn tiếp tục không?<br /><br />Giữ phím <em>Shift</em> để bỏ qua hộp thoại này trong tương lai."
},
"recognizedLicensePlates": {
"selectPlatesFromList": "Chọn một hoặc nhiều biển số từ danh sách.",
"title": "Biển số xe được Nhận dạng",
"loadFailed": "Không thể tải biển số xe được nhận dạng.",
"loading": "Đang tải biển số xe được nhận dạng…",
"placeholder": "Nhập để tìm kiếm biển số xe…",
"noLicensePlatesFound": "Không tìm thấy biển số xe nào.",
"selectAll": "Chọn tất cả",
"clearAll": "Xóa tất cả"
},
"more": "Thêm Bộ lọc",
"reset": {
"label": "Đặt lại bộ lọc về giá trị mặc định"
},
"timeRange": "Phạm vi Thời gian",
"subLabels": {
"label": "Nhãn phụ",
"all": "Tất cả Nhãn phụ"
},
"score": "Điểm",
"estimatedSpeed": "Tốc độ Ước tính ({{unit}})",
"dates": {
"selectPreset": "Chọn thiết lập sẵn…",
"all": {
"title": "Tất cả Ngày",
"short": "Ngày"
}
},
"zoneMask": {
"filterBy": "Lọc theo mặt nạ khu vực"
},
"zones": {
"label": "Khu vực",
"all": {
"title": "Tất cả Khu vực",
"short": "Khu vực"
}
},
"classes": {
"label": "Các nhãn nhận diện",
"all": {
"title": "Tất cả nhãn nhận diện"
},
"count_one": "{{count}} Nhãn nhận diện",
"count_other": "{{count}} Các nhãn nhận diện"
}
}
@@ -0,0 +1,8 @@
{
"iconPicker": {
"selectIcon": "Chọn một biểu tượng",
"search": {
"placeholder": "Tìm kiếm một biểu tượng…"
}
}
}
@@ -0,0 +1,10 @@
{
"button": {
"downloadVideo": {
"label": "Tải xuống video",
"toast": {
"success": "Video trong mục xem lại của bạn đã bắt đầu tải xuống."
}
}
}
}
@@ -0,0 +1,51 @@
{
"noRecordingsFoundForThisTime": "Không tìm thấy bản ghi nào cho thời điểm này",
"noPreviewFound": "Không tìm thấy bản xem trước",
"noPreviewFoundFor": "Không tìm thấy bản xem trước cho {{cameraName}}",
"stats": {
"droppedFrameRate": "Tỷ lệ khung hình bị rớt:",
"droppedFrames": {
"short": {
"title": "Bị rớt",
"value": "{{droppedFrames}} khung hình"
},
"title": "Khung hình bị rớt:"
},
"decodedFrames": "Khung hình đã giải mã:",
"latency": {
"short": {
"value": "{{seconds}} giây",
"title": "Độ trễ"
},
"title": "Độ trễ:",
"value": "{{seconds}} giây"
},
"totalFrames": "Tổng số khung hình:",
"streamType": {
"title": "Loại luồng:",
"short": "Loại"
},
"bandwidth": {
"title": "Băng thông:",
"short": "Băng thông"
}
},
"toast": {
"success": {
"submittedFrigatePlus": "Đã gửi thành công khung hình tới Frigate+"
},
"error": {
"submitFrigatePlusFailed": "Không gửi được khung hình tới Frigate+"
}
},
"submitFrigatePlus": {
"title": "Gửi khung hình này tới Frigate+?",
"submit": "Gửi"
},
"livePlayerRequiredIOSVersion": "Yêu cầu iOS 17.1 trở lên cho loại luồng trực tiếp này.",
"streamOffline": {
"title": "Luồng ngoại tuyến",
"desc": "Không nhận được khung hình nào trên luồng <code>detect</code> của {{cameraName}}, hãy kiểm tra nhật ký lỗi"
},
"cameraDisabled": "Camera đã bị tắt"
}
@@ -0,0 +1,120 @@
{
"mouse": "Chuột nhắt",
"keyboard": "Bàn phím nhạc",
"blender": "Tiếng máy xay",
"sink": "Tiếng bồn rửa",
"animal": "Động vật",
"dog": "Chó",
"bark": "Sủa",
"cat": "Mèo",
"horse": "Ngựa",
"goat": "Dê",
"sheep": "Cừu",
"bird": "Chim",
"vehicle": "Tiếng phương tiện",
"boat": "Tiếng thuyền",
"car": "Tiếng xe ô tô",
"bus": "Tiếng xe buýt",
"motorcycle": "Tiếng xe máy",
"train": "Tiếng tàu hỏa",
"bicycle": "Tiếng xe đạp",
"skateboard": "Tiếng ván trượt",
"door": "Tiếng cửa",
"hair_dryer": "Tiếng máy sấy tóc",
"toothbrush": "Tiếng bàn chải",
"scissors": "Tiếng kéo cắt",
"clock": "Tiếng đồng hồ",
"person": "Người",
"airplane": "Máy bay",
"zebra": "Ngựa vằn",
"tennis_racket": "Vợt tennis",
"plate": "Đĩa",
"wine_glass": "Ly rượu vang",
"cup": "Cốc",
"fork": "Nĩa",
"knife": "Dao",
"spoon": "Thìa",
"bowl": "Bát",
"banana": "Chuối",
"apple": "Táo",
"sandwich": "Bánh mì kẹp",
"orange": "Cam",
"broccoli": "Bông cải xanh",
"carrot": "Cà rốt",
"hot_dog": "Xúc xích",
"pizza": "Pizza",
"donut": "Bánh rán",
"chair": "Ghế",
"couch": "Ghế sofa",
"potted_plant": "Cây trồng trong chậu",
"bed": "Giường",
"mirror": "Gương",
"window": "Cửa sổ",
"desk": "Bàn làm việc",
"toilet": "Nhà vệ sinh",
"tv": "Ti vi",
"microwave": "Lò vi sóng",
"oven": "Lò nướng",
"toaster": "Máy nướng bánh mì",
"refrigerator": "Tủ lạnh",
"book": "Sách",
"face": "Mặt",
"license_plate": "Biển số xe",
"package": "Gói hàng",
"bbq_grill": "Vỉ nướng BBQ",
"amazon": "Amazon",
"usps": "USPS",
"ups": "UPS",
"fedex": "FedEx",
"dhl": "DHL",
"an_post": "An Post",
"purolator": "Purolator",
"postnl": "PostNL",
"nzpost": "NZ Post",
"postnord": "PostNord",
"gls": "GLS",
"dpd": "DPD",
"traffic_light": "Đèn giao thông",
"fire_hydrant": "Trụ cứu hỏa",
"street_sign": "Biển báo đường phố",
"stop_sign": "Biển báo dừng",
"parking_meter": "Đồng hồ đỗ xe",
"bench": "Ghế dài",
"cow": "Bò",
"elephant": "Voi",
"bear": "Gấu",
"giraffe": "Hươu cao cổ",
"hat": "Mũ",
"backpack": "Ba lô",
"umbrella": "Ô",
"shoe": "Giày",
"snowboard": "Ván trượt tuyết",
"eye_glasses": "Kính mắt",
"handbag": "Túi xách",
"tie": "Cà vạt",
"suitcase": "Va li",
"frisbee": "Đĩa ném",
"skis": "Ván trượt tuyết",
"sports_ball": "Bóng thể thao",
"kite": "Diều",
"baseball_bat": "Gậy bóng chày",
"baseball_glove": "Găng tay bóng chày",
"surfboard": "Ván lướt sóng",
"bottle": "Chai",
"cake": "Bánh ngọt",
"dining_table": "Bàn ăn",
"laptop": "Máy tính xách tay",
"remote": "Điều khiển từ xa",
"cell_phone": "Điện thoại di động",
"vase": "Bình hoa",
"teddy_bear": "Gấu bông",
"hair_brush": "Lược chải tóc",
"squirrel": "Sóc",
"deer": "Hươu",
"fox": "Cáo",
"rabbit": "Thỏ",
"raccoon": "Gấu mèo",
"robot_lawnmower": "Máy cắt cỏ robot",
"waste_bin": "Thùng rác",
"on_demand": "Theo yêu cầu"
}
@@ -0,0 +1,59 @@
{
"documentTitle": "شمار بندی کے ماڈل",
"button": {
"deleteClassificationAttempts": "Xóa Hình Ảnh Phân Loại",
"renameCategory": "Đổi Tên Lớp",
"deleteCategory": "Xoá Lớp",
"deleteImages": "Xoá Hình Ảnh",
"trainModel": "Huấn Luyện Mô Hình",
"addClassification": "Thêm Phân Loại",
"deleteModels": "Xoá Mô Hình",
"editModel": "Chỉnh sửa mô hình"
},
"toast": {
"success": {
"deletedCategory": "Lớp Đã Bị Xoá",
"deletedImage": "Hình ảnh đã bị xóa",
"deletedModel_other": "Đã xóa thành công {{count}} mô hình",
"categorizedImage": "Phân Loại Hình Ảnh Thành Công",
"trainedModel": "Đã huấn luyện mô hình thành công.",
"trainingModel": "Đã bắt đầu huấn luyện mô hình thành công.",
"updatedModel": "Đã cập nhật cấu hình mô hình thành công",
"renamedCategory": "Đã đổi tên lớp thành công thành {{name}}"
},
"error": {
"deleteImageFailed": "Xóa không thành công: {{errorMessage}}",
"deleteCategoryFailed": "Xóa lớp không thành công: {{errorMessage}}",
"deleteModelFailed": "Xóa mô hình không thành công: {{errorMessage}}",
"categorizeFailed": "Phân loại hình ảnh không thành công: {{errorMessage}}",
"trainingFailed": "Huấn luyện mô hình thất bại. Vui lòng kiểm tra nhật ký của Frigate để biết chi tiết.",
"trainingFailedToStart": "Khởi động huấn luyện mô hình không thành công: {{errorMessage}}",
"updateModelFailed": "Cập nhật mô hình không thành công: {{errorMessage}}",
"renameCategoryFailed": "Không đổi tên được lớp: {{errorMessage}}"
}
},
"details": {
"scoreInfo": "Điểm số cho biết mức độ tự tin trung bình mà hệ thống xác định được cho tất cả các lần phát hiện đối tượng này."
},
"tooltip": {
"trainingInProgress": "Mô hình hiện đang được huấn luyện",
"noNewImages": "Không có hình ảnh mới để đào tạo. Trước tiên, hãy phân loại nhiều hình ảnh hơn trong tập dữ liệu.",
"noChanges": "Không có thay đổi nào đối với tập dữ liệu kể từ lần đào tạo cuối cùng.",
"modelNotReady": "Mô hình chưa sẵn sàng để huấn luyện"
},
"deleteCategory": {
"title": "Xóa lớp",
"desc": "Bạn có chắc chắn muốn xóa lớp {{name}} không? Điều này sẽ xóa vĩnh viễn tất cả các hình ảnh liên quan và yêu cầu đào tạo lại mô hình.",
"minClassesTitle": "Không thể xóa lớp",
"minClassesDesc": "Một mô hình phân loại phải có ít nhất 2 lớp. Thêm một lớp khác trước khi xóa lớp này."
},
"deleteModel": {
"title": "Xóa mô hình phân loại",
"single": "Bạn có chắc chắn muốn xóa {{name}} không? Thao tác này sẽ xóa vĩnh viễn tất cả dữ liệu liên quan bao gồm hình ảnh và dữ liệu đào tạo. Không thể hoàn tác hành động này.",
"desc_other": "Bạn có chắc chắn muốn xóa mô hình {{count}} không? Thao tác này sẽ xóa vĩnh viễn tất cả dữ liệu liên quan bao gồm hình ảnh và dữ liệu đào tạo. Không thể hoàn tác hành động này."
},
"edit": {
"title": "Chỉnh sửa mô hình phân loại",
"descriptionState": "Chỉnh sửa các lớp cho mô hình phân loại trạng thái này. Những thay đổi sẽ yêu cầu đào tạo lại mô hình."
}
}
@@ -0,0 +1,18 @@
{
"copyConfig": "Sao chép cấu hình",
"saveAndRestart": "Lưu & Khởi động lại",
"saveOnly": "Chỉ lưu",
"confirm": "Thoát mà không lưu?",
"toast": {
"error": {
"savingError": "Lỗi khi lưu cấu hình"
},
"success": {
"copyToClipboard": "Đã sao chép cấu hình vào bộ nhớ tạm."
}
},
"configEditor": "Trình chỉnh sửa cấu hình",
"documentTitle": "Trình chỉnh sửa - Frigate",
"safeConfigEditor": "Chỉnh sửa cấu hình (Chế độ an toàn)",
"safeModeDescription": "Frigate đang ở chế độ an toàn do lỗi kiểm tra cấu hình."
}
@@ -0,0 +1,62 @@
{
"camera": "Tiếng máy ảnh",
"alerts": "Cảnh báo",
"detections": "Phát hiện",
"motion": {
"only": "Chỉ chuyển động",
"label": "Chuyển động"
},
"allCameras": "Tất cả Camera",
"detected": "Đã phát hiện",
"recordings": {
"documentTitle": "Bản ghi - Frigate"
},
"events": {
"aria": "Chọn sự kiện",
"label": "Sự kiện",
"noFoundForTimePeriod": "Không tìm thấy sự kiện nào trong khoảng thời gian này."
},
"timeline.aria": "Chọn dòng thời gian",
"selected_one": "{{count}} đã chọn",
"selected_other": "{{count}} đã chọn",
"empty": {
"alert": "Không có cảnh báo nào để xem xét",
"detection": "Không có phát hiện nào để xem xét",
"motion": "Không tìm thấy dữ liệu chuyển động"
},
"timeline": "Dòng thời gian",
"documentTitle": "Xem lại - Frigate",
"calendarFilter": {
"last24Hours": "24 giờ qua"
},
"newReviewItems": {
"label": "Xem các mục mới cần xem xét",
"button": "Các mục mới cần xem xét"
},
"markAsReviewed": "Đánh dấu là đã xem xét",
"markTheseItemsAsReviewed": "Đánh dấu các mục này là đã xem xét",
"suspiciousActivity": "Hoạt động đáng ngờ",
"threateningActivity": "Hoạt động đe dọa",
"zoomIn": "Phóng To",
"zoomOut": "Thu nhỏ",
"detail": {
"label": "Chi tiết",
"noDataFound": "Không có dữ liệu chi tiết để xem xét",
"aria": "Chuyển đổi chế độ xem chi tiết",
"trackedObject_one": "{{count}} đối tượng",
"trackedObject_other": "{{count}} đối tượng",
"noObjectDetailData": "Không có dữ liệu chi tiết đối tượng nào khả dụng.",
"settings": "Cài đặt chế độ xem chi tiết",
"alwaysExpandActive": {
"title": "Luôn mở rộng mục đang hoạt động",
"desc": "Luôn mở rộng chi tiết đối tượng của mục đánh giá đang hoạt động khi có sẵn."
}
},
"objectTrack": {
"trackedPoint": "Điểm theo dõi",
"clickToSeek": "Nhấn để tua đến thời điểm này"
},
"normalActivity": "Bình thường",
"needsReview": "Cần xem xét",
"securityConcern": "Mối lo ngại về an ninh"
}
@@ -0,0 +1,291 @@
{
"objectLifecycle": {
"lifecycleItemDesc": {
"header": {
"zones": "Vùng",
"ratio": "Tỷ lệ",
"area": "Diện tích"
},
"gone": "{{label}} đã rời đi",
"heard": "{{label}} đã nghe thấy",
"external": "{{label}} được phát hiện",
"visible": "{{label}} được phát hiện",
"entered_zone": "{{label}} đã đi vào {{zones}}",
"active": "{{label}} trở nên hoạt động",
"stationary": "{{label}} trở nên đứng yên",
"attribute": {
"faceOrLicense_plate": "Đã phát hiện {{attribute}} cho {{label}}",
"other": "{{label}} được nhận dạng là {{attribute}}"
}
},
"carousel": {
"previous": "Trang trước",
"next": "Trang tiếp theo"
},
"annotationSettings": {
"showAllZones": {
"desc": "Luôn hiển thị các vùng trên các khung hình mà đối tượng đã đi vào.",
"title": "Hiển thị tất cả các Vùng"
},
"offset": {
"millisecondsToOffset": "Số mili giây để lệch các chú thích phát hiện. <em>Mặc định: 0</em>",
"documentation": "Đọc tài liệu ",
"desc": "Dữ liệu này đến từ luồng phát hiện của camera nằm ở trên hình ảnh từ luồng ghi hình. Có khả năng hai luồng này không đồng bộ hoàn hảo. Do đó, hộp giới hạn và đoạn ghi hình sẽ không khớp nhau một cách hoàn hảo. Tuy nhiên, trường <code>annotation_offset</code> có thể được sử dụng để điều chỉnh điều này.",
"label": "Độ lệch Chú thích",
"tips": "MẸO: Hãy tưởng tượng có một clip sự kiện với một người đi từ trái sang phải. Nếu hộp giới hạn trên dòng thời gian sự kiện luôn ở bên trái của người đó thì giá trị nên được giảm xuống. Tương tự, nếu một người đi từ trái sang phải và hộp giới hạn luôn ở phía trước người đó thì giá trị nên được tăng lên.",
"toast": {
"success": "Độ lệch chú thích cho {{camera}} đã được lưu vào tệp cấu hình. Khởi động lại Frigate để áp dụng các thay đổi của bạn."
}
},
"title": "Cài đặt Chú thích"
},
"count": "{{first}} trên {{second}}",
"title": "Vòng đời Đối tượng",
"noImageFound": "Không tìm thấy hình ảnh cho dấu thời gian này.",
"createObjectMask": "Tạo Mặt nạ Đối tượng",
"adjustAnnotationSettings": "Điều chỉnh cài đặt chú thích",
"trackedPoint": "Điểm được theo dõi",
"scrollViewTips": "Cuộn để xem những khoảnh khắc quan trọng trong vòng đời của đối tượng này.",
"autoTrackingTips": "Vị trí hộp giới hạn sẽ không chính xác đối với camera quay tự động theo dõi."
},
"details": {
"item": {
"title": "Chi tiết Mục Xem lại",
"desc": "Chi tiết mục xem lại",
"button": {
"share": "Chia sẻ mục xem lại này",
"viewInExplore": "Xem trong Khám phá"
},
"toast": {
"error": {
"updatedSublabelFailed": "Không thể cập nhật nhãn phụ: {{errorMessage}}",
"updatedLPRFailed": "Không thể cập nhật biển số xe: {{errorMessage}}",
"regenerate": "Không thể gọi {{provider}} để lấy mô tả mới: {{errorMessage}}",
"audioTranscription": "Không thể yêu cầu phiên âm: {{errorMessage}}"
},
"success": {
"regenerate": "Một mô tả mới đã được yêu cầu từ {{provider}}. Tùy thuộc vào tốc độ của nhà cung cấp của bạn, mô tả mới có thể mất một chút thời gian để tạo lại.",
"updatedLPR": "Cập nhật biển số xe thành công.",
"updatedSublabel": "Cập nhật nhãn phụ thành công.",
"audioTranscription": "Đã yêu cầu chuyển đổi âm thanh thành văn bản thành công. Tùy vào tốc độ của máy chủ Frigate, quá trình chuyển đổi có thể mất một khoảng thời gian để hoàn tất."
}
},
"tips": {
"mismatch_other": "{{count}} đối tượng không khả dụng đã được phát hiện và bao gồm trong mục xem lại này. Những đối tượng đó hoặc không đủ điều kiện là một cảnh báo hoặc phát hiện hoặc đã được dọn dẹp/xóa.",
"hasMissingObjects": "Điều chỉnh cấu hình của bạn nếu bạn muốn Frigate lưu các đối tượng được theo dõi cho các nhãn sau: <em>{{objects}}</em>"
}
},
"expandRegenerationMenu": "Mở rộng menu tạo lại",
"label": "Nhãn",
"editSubLabel": {
"title": "Chỉnh sửa nhãn phụ",
"desc": "Nhập một nhãn phụ mới cho {{label}} này",
"descNoLabel": "Nhập một nhãn phụ mới cho đối tượng được theo dõi này"
},
"snapshotScore": {
"label": "Điểm Ảnh chụp nhanh"
},
"topScore": {
"info": "Điểm cao nhất là điểm trung vị cao nhất cho đối tượng được theo dõi, vì vậy điểm này có thể khác với điểm được hiển thị trên ảnh thu nhỏ của kết quả tìm kiếm.",
"label": "Điểm Cao nhất"
},
"estimatedSpeed": "Tốc độ ước tính",
"objects": "Đối tượng",
"timestamp": "Dấu thời gian",
"button": {
"findSimilar": "Tìm đối tượng tương tự",
"regenerate": {
"title": "Tạo lại",
"label": "Tạo lại mô tả đối tượng được theo dõi"
}
},
"description": {
"label": "Mô tả",
"placeholder": "Mô tả của đối tượng được theo dõi",
"aiTips": "Frigate sẽ không yêu cầu mô tả từ nhà cung cấp AI tạo sinh của bạn cho đến khi vòng đời của đối tượng được theo dõi kết thúc."
},
"tips": {
"descriptionSaved": "Lưu mô tả thành công",
"saveDescriptionFailed": "Không thể cập nhật mô tả: {{errorMessage}}"
},
"camera": "Camera",
"recognizedLicensePlate": "Biển số xe được nhận dạng",
"regenerateFromSnapshot": "Tạo lại từ Ảnh chụp nhanh",
"regenerateFromThumbnails": "Tạo lại từ Ảnh thu nhỏ",
"zones": "Vùng",
"editLPR": {
"title": "Chỉnh sửa biển số xe",
"desc": "Nhập một giá trị biển số xe mới cho {{label}} này",
"descNoLabel": "Nhập một giá trị biển số xe mới cho đối tượng được theo dõi này"
},
"score": {
"label": "Điểm tin cậy"
}
},
"itemMenu": {
"viewObjectLifecycle": {
"label": "Xem vòng đời đối tượng",
"aria": "Hiển thị vòng đời đối tượng"
},
"downloadSnapshot": {
"label": "Tải xuống ảnh chụp nhanh",
"aria": "Tải xuống ảnh chụp nhanh"
},
"downloadVideo": {
"aria": "Tải xuống video",
"label": "Tải xuống video"
},
"findSimilar": {
"label": "Tìm đối tượng tương tự",
"aria": "Tìm các đối tượng được theo dõi tương tự"
},
"submitToPlus": {
"aria": "Gửi đến Frigate Plus",
"label": "Gửi đến Frigate+"
},
"viewInHistory": {
"label": "Xem trong Lịch sử",
"aria": "Xem trong Lịch sử"
},
"deleteTrackedObject": {
"label": "Xóa đối tượng được theo dõi này"
},
"addTrigger": {
"label": "Thêm sự kiện kích hoạt",
"aria": "Thêm trình kích hoạt cho đối tượng được theo dõi này"
},
"audioTranscription": {
"label": "Phiên âm",
"aria": "Yêu cầu phiên âm"
},
"downloadCleanSnapshot": {
"label": "Tải xuống ảnh chụp nhanh",
"aria": "Tải xuống ảnh chụp nhanh"
},
"viewTrackingDetails": {
"label": "Xem chi tiết theo dõi",
"aria": "Xem chi tiết theo dõi"
},
"showObjectDetails": {
"label": "Hiển thị đường dẫn đối tượng"
},
"hideObjectDetails": {
"label": "Ẩn đường dẫn đối tượng"
}
},
"exploreIsUnavailable": {
"embeddingsReindexing": {
"step": {
"descriptionsEmbedded": "Mô tả đã được nhúng: ",
"trackedObjectsProcessed": "Đối tượng được theo dõi đã xử lý: ",
"thumbnailsEmbedded": "Ảnh thu nhỏ đã được nhúng: "
},
"finishingShortly": "Sẽ hoàn thành trong giây lát",
"context": "Tính năng Khám phá có thể được sử dụng sau khi quá trình tái lập chỉ mục dữ liệu nhúng (embeddings) của đối tượng được theo dõi hoàn tất.",
"startingUp": "Đang khởi động…",
"estimatedTime": "Thời gian ước tính còn lại:"
},
"downloadingModels": {
"context": "Frigate đang tải xuống các mô hình dữ liệu nhúng cần thiết để hỗ trợ tính năng Tìm kiếm theo Ngữ nghĩa. Quá trình này có thể mất vài phút tùy thuộc vào tốc độ kết nối mạng của bạn.",
"setup": {
"visionModel": "Mô hình thị giác",
"visionModelFeatureExtractor": "Trình trích xuất đặc trưng mô hình thị giác",
"textModel": "Mô hình văn bản",
"textTokenizer": "Trình mã hóa văn bản"
},
"tips": {
"context": "Bạn có thể muốn tái lập chỉ mục dữ liệu nhúng của các đối tượng được theo dõi sau khi các mô hình được tải xuống.",
"documentation": "Đọc tài liệu"
},
"error": "Đã xảy ra lỗi. Vui lòng kiểm tra nhật ký của Frigate."
},
"title": "Tính năng Khám phá không khả dụng"
},
"dialog": {
"confirmDelete": {
"desc": "Việc xóa đối tượng được theo dõi này sẽ xóa ảnh chụp nhanh, mọi phần nhúng đã lưu và mọi mục nhập chi tiết theo dõi được liên kết. Đoạn phim đã ghi của đối tượng được theo dõi này trong chế độ xem Lịch sử sẽ <em>KHÔNG</em> bị xóa.<br /><br />Bạn có chắc chắn muốn tiếp tục không?",
"title": "Xác nhận Xóa"
}
},
"noTrackedObjects": "Không tìm thấy Đối tượng được theo dõi nào",
"searchResult": {
"deleteTrackedObject": {
"toast": {
"success": "Đã xóa đối tượng được theo dõi thành công.",
"error": "Không thể xóa đối tượng được theo dõi: {{errorMessage}}"
}
},
"tooltip": "Khớp {{type}} ở mức {{confidence}}%",
"previousTrackedObject": "Đối tượng được theo dõi trước đó",
"nextTrackedObject": "Đối tượng được theo dõi tiếp theo"
},
"exploreMore": "Khám phá thêm các đối tượng {{label}}",
"trackedObjectDetails": "Chi tiết Đối tượng được theo dõi",
"type": {
"details": "chi tiết",
"snapshot": "ảnh chụp nhanh",
"video": "video",
"object_lifecycle": "vòng đời đối tượng",
"thumbnail": "Ảnh thu nhỏ",
"tracking_details": "chi tiết theo dõi"
},
"fetchingTrackedObjectsFailed": "Lỗi khi tìm nạp các đối tượng được theo dõi: {{errorMessage}}",
"documentTitle": "Khám phá - Frigate",
"generativeAI": "AI Tạo sinh",
"trackedObjectsCount_other": "{{count}} đối tượng được theo dõi ",
"aiAnalysis": {
"title": "Phân tích bằng AI"
},
"concerns": {
"label": "Mối lo ngại"
},
"trackingDetails": {
"title": "Chi tiết theo dõi",
"noImageFound": "Không tìm thấy hình ảnh cho mốc thời gian này.",
"createObjectMask": "Tạo mặt nạ đối tượng",
"adjustAnnotationSettings": "Điều chỉnh cài đặt chú thích",
"scrollViewTips": "Nhấn để xem những khoảnh khắc quan trọng trong vòng đời của đối tượng này.",
"autoTrackingTips": "Vị trí khung bao sẽ không chính xác đối với các camera tự động theo dõi (autotracking).",
"count": "{{first}} của {{second}}",
"trackedPoint": "Điểm theo dõi",
"lifecycleItemDesc": {
"visible": "Đã phát hiện được {{label}}",
"entered_zone": "{{label}} đã vào {{zones}}",
"active": "{{label}} đã hoạt động",
"stationary": "{{label}} đã đứng yên",
"attribute": {
"faceOrLicense_plate": "Đã phát hiện {{attribute}} đối với {{label}}",
"other": "{{label}} được nhận diện là {{attribute}}"
},
"gone": "{{label}} đã rời đi",
"heard": "Đã nghe thấy {{label}}",
"external": "{{label}} đã được nhận diện",
"header": {
"zones": "Vùng",
"ratio": "Tỷ lệ",
"area": "Khu vực",
"score": "Điểm"
}
},
"annotationSettings": {
"title": "Cài đặt chú thích",
"showAllZones": {
"title": "Hiện tất cả các vùng",
"desc": "Luôn hiển thị các vùng trên khung hình khi có đối tượng đi vào vùng đó."
},
"offset": {
"label": "Độ lệch chú thích",
"desc": "Dữ liệu này lấy từ luồng phát hiện (detect feed) của camera bạn, nhưng được hiển thị chồng lên hình ảnh từ luồng ghi hình (record feed). Hai luồng này thường không đồng bộ hoàn hảo với nhau. Do đó, khung bao (bounding box) và đoạn video có thể không khớp chính xác. Bạn có thể sử dụng cài đặt này để điều chỉnh thời gian hiển thị chú thích (annotation) lùi hoặc tiến để đồng bộ tốt hơn với video đã ghi.",
"millisecondsToOffset": "Số mili giây để điều chỉnh thời gian hiển thị chú thích phát hiện. <em>Mặc định: 0</em>",
"tips": "Giảm giá trị nếu quá trình phát lại video ở phía trước các hộp và điểm đường dẫn, đồng thời tăng giá trị nếu quá trình phát lại video ở phía sau chúng. Giá trị này có thể âm.",
"toast": {
"success": "Độ lệch chú thích cho {{camera}} đã được lưu vào tệp cấu hình."
}
}
},
"carousel": {
"previous": "Trang trình bày trước",
"next": "Trang trình bày tiếp theo"
}
}
}
@@ -0,0 +1,23 @@
{
"search": "Tìm kiếm",
"documentTitle": "Xuất tệp - Frigate",
"noExports": "Không tìm thấy tệp xuất nào",
"deleteExport": "Xóa tệp xuất",
"deleteExport.desc": "Bạn có chắc chắn muốn xóa {{exportName}} không?",
"editExport": {
"title": "Đổi tên tệp xuất",
"desc": "Nhập tên mới cho tệp xuất này.",
"saveExport": "Lưu tệp xuất"
},
"toast": {
"error": {
"renameExportFailed": "Đổi tên tệp xuất thất bại: {{errorMessage}}"
}
},
"tooltip": {
"shareExport": "Chia sẻ bản xuất",
"downloadVideo": "Tải video",
"editName": "Chỉnh sửa tên",
"deleteExport": "Xóa bản xuất"
}
}
@@ -0,0 +1,96 @@
{
"selectItem": "Chọn mục {{item}}",
"description": {
"addFace": "Thêm một bộ sưu tập mới vào Thư viện Khuôn Mặt bằng cách tải lên hình ảnh đầu tiên của bạn.",
"invalidName": "Tên không hợp lệ. Tên chỉ được phép chứa chữ cái, số, khoảng trắng, dấu nháy đơn, dấu gạch dưới và dấu gạch ngang.",
"placeholder": "Nhập tên cho bộ sưu tập này"
},
"details": {
"person": "Người",
"unknown": "Không xác định",
"subLabelScore": "Điểm nhãn phụ",
"scoreInfo": "Điểm nhãn phụ là điểm số có trọng số cho tất cả các độ tin cậy của khuôn mặt được nhận dạng, vì vậy điểm này có thể khác với điểm hiển thị trên ảnh chụp nhanh.",
"timestamp": "Dấu thời gian",
"face": "Chi tiết khuôn mặt",
"faceDesc": "Chi tiết của đối tượng được theo dõi đã tạo ra khuôn mặt này"
},
"renameFace": {
"title": "Đổi tên khuôn mặt",
"desc": "Nhập tên mới cho {{name}}"
},
"button": {
"renameFace": "Đổi tên khuôn mặt",
"deleteFaceAttempts": "Xóa khuôn mặt",
"addFace": "Thêm khuôn mặt",
"deleteFace": "Xóa khuôn mặt",
"uploadImage": "Tải lên hình ảnh",
"reprocessFace": "Xử lý lại khuôn mặt"
},
"imageEntry": {
"dropActive": "Thả hình ảnh vào đây…",
"validation": {
"selectImage": "Vui lòng chọn một tệp hình ảnh."
},
"dropInstructions": "Kéo và thả hình ảnh vào đây, hoặc nhấp để chọn",
"maxSize": "Kích thước tối đa: {{size}}MB"
},
"toast": {
"success": {
"uploadedImage": "Tải lên hình ảnh thành công.",
"trainedFace": "Huấn luyện khuôn mặt thành công.",
"updatedFaceScore": "Đã cập nhật thành công điểm khuôn mặt thành {{name}} ({{score}}).",
"addFaceLibrary": "{{name}} đã được thêm thành công vào Thư viện Khuôn mặt!",
"deletedFace_other": "Đã xóa thành công {{count}} khuôn mặt.",
"deletedName_other": "{{count}} khuôn mặt đã được xóa thành công.",
"renamedFace": "Đổi tên khuôn mặt thành {{name}} thành công"
},
"error": {
"uploadingImageFailed": "Tải lên hình ảnh thất bại: {{errorMessage}}",
"addFaceLibraryFailed": "Đặt tên khuôn mặt thất bại: {{errorMessage}}",
"renameFaceFailed": "Đổi tên khuôn mặt thất bại: {{errorMessage}}",
"deleteFaceFailed": "Xóa thất bại: {{errorMessage}}",
"deleteNameFailed": "Xóa tên thất bại: {{errorMessage}}",
"trainFailed": "Huấn luyện thất bại: {{errorMessage}}",
"updateFaceScoreFailed": "Cập nhật điểm khuôn mặt thất bại: {{errorMessage}}"
}
},
"collections": "Bộ sưu tập",
"steps": {
"description": {
"uploadFace": "Tải lên một hình ảnh của {{name}} cho thấy khuôn mặt của họ từ góc nhìn trực diện. Hình ảnh không cần phải được cắt chỉ lấy khuôn mặt."
},
"faceName": "Nhập tên khuôn mặt",
"uploadFace": "Tải lên hình ảnh khuôn mặt",
"nextSteps": "Các bước tiếp theo"
},
"deleteFaceLibrary": {
"title": "Xóa tên",
"desc": "Bạn có chắc chắn muốn xóa bộ sưu tập {{name}} không? Thao tác này sẽ xóa vĩnh viễn tất cả các khuôn mặt liên quan."
},
"deleteFaceAttempts": {
"title": "Xóa khuôn mặt",
"desc_other": "Bạn có chắc chắn muốn xóa {{count}} khuôn mặt không? Hành động này không thể hoàn tác."
},
"readTheDocs": "Đọc tài liệu",
"trainFaceAs": "Huấn luyện khuôn mặt với tên:",
"trainFace": "Huấn luyện khuôn mặt",
"nofaces": "Không có khuôn mặt nào",
"createFaceLibrary": {
"nextSteps": "Để xây dựng một nền tảng vững chắc:<li>Sử dụng tab Nhận dạng gần đây để chọn và huấn luyện trên hình ảnh cho mỗi người được phát hiện.</li><li>Tập trung vào hình ảnh chụp thẳng để có kết quả tốt nhất; tránh huấn luyện các hình ảnh chụp khuôn mặt ở một góc.</li></ul>",
"title": "Tạo bộ sưu tập",
"desc": "Tạo một bộ sưu tập mới",
"new": "Tạo khuôn mặt mới"
},
"train": {
"title": "Nhận dạng gần đây",
"empty": "Không có nỗ lực nhận dạng khuôn mặt nào gần đây",
"aria": "Chọn các nhận dạng gần đây"
},
"selectFace": "Chọn khuôn mặt",
"pixels": "{{area}}px",
"documentTitle": "Thư viện Khuôn mặt - Frigate",
"uploadFaceImage": {
"title": "Tải lên hình ảnh khuôn mặt",
"desc": "Tải lên một hình ảnh để quét khuôn mặt và bao gồm cho {{pageToggle}}"
}
}
@@ -0,0 +1,189 @@
{
"documentTitle": "Trực tiếp - Frigate",
"documentTitle.withCamera": "{{camera}} - Trực tiếp - Frigate",
"lowBandwidthMode": "Chế độ băng thông thấp",
"twoWayTalk": {
"enable": "Bật đàm thoại hai chiều",
"disable": "Tắt đàm thoại hai chiều"
},
"stream": {
"lowBandwidth": {
"tips": "Chế độ xem trực tiếp đang ở chế độ băng thông thấp do bộ đệm hoặc lỗi luồng.",
"resetStream": "Đặt lại luồng"
},
"playInBackground": {
"label": "Phát trong nền",
"tips": "\"Bật tùy chọn này để tiếp tục phát khi trình phát bị ẩn."
},
"title": "Luồng",
"audio": {
"tips": {
"title": "Âm thanh phải được phát ra từ camera của bạn và cấu hình trong go2rtc cho luồng này.",
"documentation": "Đọc tài liệu "
},
"available": "Âm thanh khả dụng cho luồng này",
"unavailable": "Âm thanh không khả dụng cho luồng này"
},
"twoWayTalk": {
"tips": "hiết bị của bạn phải hỗ trợ tính năng này và WebRTC phải được cấu hình để đàm thoại hai chiều.",
"tips.documentation": "Đọc tài liệu ",
"available": "Đàm thoại hai chiều khả dụng cho luồng này",
"unavailable": "Đàm thoại hai chiều không khả dụng cho luồng này"
},
"debug": {
"picker": "Việc chọn luồng phát không khả dụng trong chế độ gỡ lỗi. Chế độ xem gỡ lỗi luôn sử dụng luồng được gán vai trò phát hiện (detect)."
}
},
"editLayout": {
"group": {
"label": "Chỉnh sửa nhóm Camera"
},
"label": "Chỉnh sửa bố cục",
"exitEdit": "Thoát chế độ chỉnh sửa"
},
"ptz": {
"zoom": {
"out": {
"label": "Thu nhỏ camera PTZ"
},
"in": {
"label": "Phóng to camera PTZ"
}
},
"frame": {
"center": {
"label": "Nhấp vào khung hình để căn giữa camera PTZ"
}
},
"move": {
"clickMove": {
"label": "Nhấp vào khung hình để căn giữa camera",
"enable": "Bật nhấp để di chuyển",
"disable": "Tắt nhấp để di chuyển"
},
"left": {
"label": "Di chuyển camera PTZ sang trái"
},
"up": {
"label": "Di chuyển camera PTZ lên"
},
"down": {
"label": "Di chuyển camera PTZ xuống"
},
"right": {
"label": "Di chuyển camera PTZ sang phải"
}
},
"presets": "Các thiết lập sẵn cho camera PTZ",
"focus": {
"in": {
"label": "Lấy nét gần (camera PTZ)"
},
"out": {
"label": "Lấy nét xa (camera PTZ)"
}
}
},
"manualRecording": {
"playInBackground": {
"label": "Phát trong nền",
"desc": "Bật tùy chọn này để tiếp tục phát khi trình phát bị ẩn."
},
"end": "Kết thúc ghi hình theo yêu cầu",
"failedToStart": "Không thể bắt đầu ghi hình theo yêu cầu.",
"started": "Đã bắt đầu ghi hình theo yêu cầu.",
"ended": "Đã kết thúc ghi hình theo yêu cầu.",
"title": "Theo yêu cầu",
"tips": "Tải xuống ảnh chụp nhanh tức thì hoặc bắt đầu sự kiện thủ công dựa trên cài đặt lưu giữ bản ghi của máy ảnh này.",
"showStats": {
"label": "Hiện thống kê",
"desc": "Bật tùy chọn này để hiển thị thống kê luồng trên khung hình."
},
"debugView": "Chế độ gỡ lỗi",
"start": "Bắt đầu ghi hình theo yêu cầu",
"recordDisabledTips": "Vì ghi hình đã bị vô hiệu hóa hoặc bị giới hạn trong cấu hình của camera này, chỉ ảnh chụp sẽ được lưu.",
"failedToEnd": "Không thể kết thúc ghi hình theo yêu cầu."
},
"cameraAudio": {
"enable": "Bật âm thanh Camera",
"disable": "Tắt âm thanh Camera"
},
"camera": {
"enable": "Bật camera",
"disable": "Tắt camera"
},
"muteCameras": {
"enable": "Tắt tiếng tất cả Camera",
"disable": "Bật tiếng tất cả Camera"
},
"detect": {
"enable": "Bật phát hiện",
"disable": "Tắt phát hiện"
},
"recording": {
"enable": "Bật ghi hình",
"disable": "Tắt ghi hình"
},
"snapshots": {
"enable": "Bật ảnh chụp",
"disable": "Tắt ảnh chụp"
},
"audioDetect": {
"enable": "Bật phát hiện âm thanh",
"disable": "Tắt phát hiện âm thanh"
},
"autotracking": {
"enable": "Bật tự động theo dõi",
"disable": "Tắt tự động theo dõi"
},
"streamStats": {
"enable": "Hiện thống kê luồng",
"disable": "Ẩn thống kê luồng"
},
"streamingSettings": "Cài đặt truyền phát",
"notifications": "Thông báo",
"audio": "Âm thanh",
"suspend": {
"forTime": "Tạm dừng trong: "
},
"cameraSettings": {
"title": "Cài đặt {{camera}}",
"cameraEnabled": "Camera đã bật",
"objectDetection": "Phát hiện đối tượng",
"recording": "Ghi hình",
"snapshots": "Ảnh chụp",
"audioDetection": "Phát hiện âm thanh",
"autotracking": "Tự động theo dõi",
"transcription": "Phiên âm"
},
"history": {
"label": "Hiện cảnh quay lịch sử"
},
"effectiveRetainMode": {
"modes": {
"all": "Tất cả",
"motion": "Chuyển động",
"active_objects": "Đối tượng hoạt động"
},
"notAllTips": "Cấu hình giữ lại ghi hình {{source}} của bạn được đặt là <code>mode: {{effectiveRetainMode}}</code>, vì vậy lần ghi hình theo yêu cầu này chỉ giữ lại các đoạn có {{effectiveRetainModeName}}."
},
"transcription": {
"enable": "Bật phiên âm trực tiếp",
"disable": "Tắt phiên âm trực tiếp"
},
"snapshot": {
"takeSnapshot": "Tải xuống ảnh chụp nhanh ngay lập tức",
"noVideoSource": "Không có nguồn video để chụp ảnh nhanh.",
"captureFailed": "Chụp ảnh nhanh không thành công.",
"downloadStarted": "Bắt đầu tải xuống ảnh chụp nhanh."
},
"noCameras": {
"title": "Không có camera nào được cấu hình",
"description": "Bắt đầu bằng cách kết nối một camera với Frigate.",
"buttonText": "Thêm Camera",
"restricted": {
"title": "Không có Camera nào khả dụng",
"description": "Bạn không có quyền xem bất kỳ camera nào trong nhóm này."
}
}
}
@@ -0,0 +1,12 @@
{
"filter": "Lọc",
"export": "Xuất",
"calendar": "Lịch",
"filters": "Bộ lọc",
"toast": {
"error": {
"noValidTimeSelected": "Thời gian chọn không hợp lệ",
"endTimeMustAfterStartTime": "Thời gian kết thúc phải sau thời gian bắt đầu"
}
}
}
@@ -0,0 +1,72 @@
{
"search": "Tìm kiếm",
"savedSearches": "Tìm kiếm đã lưu",
"searchFor": "Tìm kiếm {{inputValue}}",
"button": {
"clear": "Xóa tìm kiếm",
"save": "Lưu tìm kiếm",
"delete": "Xóa tìm kiếm đã lưu",
"filterInformation": "Thông tin bộ lọc",
"filterActive": "Bộ lọc đang hoạt động"
},
"filter": {
"tips": {
"desc": {
"step2": "Chọn một giá trị từ các gợi ý hoặc tự nhập.",
"step1": "Nhập tên khóa bộ lọc theo sau là dấu hai chấm (ví dụ: \"cameras:\").",
"step3": "Sử dụng nhiều bộ lọc bằng cách thêm chúng nối tiếp nhau, cách nhau bằng dấu cách.",
"step5": "Bộ lọc phạm vi thời gian sử dụng định dạng {{exampleTime}}.",
"exampleLabel": "Ví dụ:",
"step6": "Xóa bộ lọc bằng cách nhấp vào dấu 'x' bên cạnh chúng..",
"step4": "Bộ lọc ngày (before: và after:) sử dụng định dạng {{DateFormat}}.",
"text": "Bộ lọc giúp bạn thu hẹp kết quả tìm kiếm. Dưới đây là cách sử dụng chúng trong trường nhập liệu:"
},
"title": "Cách sử dụng bộ lọc văn bản"
},
"header": {
"activeFilters": "Bộ lọc đang hoạt động",
"currentFilterType": "Giá trị bộ lọc",
"noFilters": "Bộ lọc"
},
"label": {
"has_clip": "Có clip",
"min_score": "Điểm tối thiểu",
"has_snapshot": "Có ảnh chụp nhanh",
"max_score": "Điểm tối đa",
"search_type": "Loại tìm kiếm",
"after": "Sau",
"cameras": "Camera",
"labels": "Nhãn",
"zones": "Khu vực",
"sub_labels": "Nhãn phụ",
"time_range": "Phạm vi thời gian",
"before": "Trước",
"min_speed": "Tốc độ tối thiểu",
"max_speed": "Tốc độ tối đa",
"recognized_license_plate": "Biển số xe được nhận dạng"
},
"toast": {
"error": {
"afterDatebeEarlierBefore": "Ngày 'Sau' phải trước ngày 'Trước'.",
"beforeDateBeLaterAfter": "Ngày 'Trước' phải sau ngày 'Sau'.",
"minScoreMustBeLessOrEqualMaxScore": "'Điểm tối thiểu' phải nhỏ hơn hoặc bằng 'Điểm tối đa'.",
"maxScoreMustBeGreaterOrEqualMinScore": "'Điểm tối đa' phải lớn hơn hoặc bằng 'Điểm tối thiểu.",
"minSpeedMustBeLessOrEqualMaxSpeed": "'Tốc độ tối thiểu' phải nhỏ hơn hoặc bằng 'Tốc độ tối đa'.",
"maxSpeedMustBeGreaterOrEqualMinSpeed": "'Tốc độ tối đa' phải lớn hơn hoặc bằng 'Tốc độ tối thiểu'."
}
},
"searchType": {
"thumbnail": "Hình thu nhỏ",
"description": "Mô tả"
}
},
"similaritySearch": {
"title": "Tìm kiếm tương đồng",
"clear": "Xóa tìm kiếm tương đồng",
"active": "Tìm kiếm tương đồng đang hoạt động"
},
"placeholder": {
"search": "Tìm kiếm…"
},
"trackedObjectId": "ID đối tượng được theo dõi"
}
@@ -0,0 +1,776 @@
{
"documentTitle": {
"default": "Cài đặt - Frigate",
"authentication": "Cài đặt Xác thực - Frigate",
"camera": "Cài đặt Camera - Frigate",
"enrichments": "Cài đặt Làm giàu Dữ liệu - Frigate",
"notifications": "Cài đặt Thông báo - Frigate",
"masksAndZones": "Trình chỉnh sửa Mặt nạ và Vùng - Frigate",
"object": "Gỡ lỗi - Frigate",
"general": "Cài đặt giao diện Frigate",
"frigatePlus": "Cài đặt Frigate+ - Frigate",
"motionTuner": "Bộ tinh chỉnh Chuyển động - Frigate",
"cameraManagement": "Quản Lý Camera - Frigate",
"cameraReview": "Cài Đặt Xem Lại Camera - Frigate"
},
"notification": {
"toast": {
"error": {
"registerFailed": "Không thể lưu đăng ký thông báo."
},
"success": {
"settingSaved": "Cài đặt thông báo đã được lưu.",
"registered": "Đã đăng ký nhận thông báo thành công. Cần khởi động lại Frigate trước khi có thể gửi bất kỳ thông báo nào (kể cả thông báo thử)."
}
},
"unsavedChanges": "Các thay đổi Thông báo chưa được lưu",
"registerDevice": "Đăng ký Thiết bị này",
"unregisterDevice": "Hủy đăng ký Thiết bị này",
"unsavedRegistrations": "Các đăng ký Thông báo chưa được lưu",
"suspended": "Thông báo bị đình chỉ {{time}}",
"cancelSuspension": "Hủy tạm dừng",
"email": {
"desc": "Một email hợp lệ là bắt buộc và sẽ được sử dụng để thông báo cho bạn nếu có bất kỳ vấn đề nào với dịch vụ đẩy.",
"placeholder": "ví dụ: example@email.com",
"title": "Email"
},
"cameras": {
"noCameras": "Không có camera nào",
"title": "Camera",
"desc": "Chọn camera để bật thông báo."
},
"deviceSpecific": "Cài đặt dành riêng cho thiết bị",
"sendTestNotification": "Gửi một thông báo thử",
"active": "Thông báo đang hoạt động",
"suspendTime": {
"24hours": "Tạm dừng trong 24 giờ",
"untilRestart": "Tạm dừng cho đến khi khởi động lại",
"30minutes": "Tạm dừng trong 30 phút",
"1hour": "Tạm dừng trong 1 giờ",
"suspend": "Tạm dừng",
"12hours": "Tạm dừng trong 12 giờ",
"5minutes": "Tạm dừng trong 5 phút",
"10minutes": "Tạm dừng trong 10 phút"
},
"notificationSettings": {
"desc": "Frigate có thể gửi thông báo đẩy tự nhiên đến thiết bị của bạn khi nó đang chạy trong trình duyệt hoặc được cài đặt dưới dạng PWA.",
"title": "Cài đặt Thông báo",
"documentation": "Đọc tài liệu"
},
"notificationUnavailable": {
"desc": "Thông báo đẩy web yêu cầu một ngữ cảnh an toàn (<code>https://…</code>). Đây là một hạn chế của trình duyệt. Truy cập Frigate một cách an toàn để sử dụng thông báo.",
"title": "Thông báo không khả dụng",
"documentation": "Đọc tài liệu"
},
"globalSettings": {
"desc": "Tạm thời đình chỉ thông báo cho các camera cụ thể trên tất cả các thiết bị đã đăng ký.",
"title": "Cài đặt Chung"
},
"title": "Thông báo"
},
"frigatePlus": {
"title": "Cài đặt Frigate+",
"apiKey": {
"title": "Khóa API Frigate+",
"validated": "Khóa API Frigate+ đã được phát hiện và xác thực",
"notValidated": "Khóa API Frigate+ không được phát hiện hoặc chưa được xác thực",
"desc": "Khóa API Frigate+ cho phép tích hợp với dịch vụ Frigate+.",
"plusLink": "Đọc thêm về Frigate+"
},
"snapshotConfig": {
"table": {
"camera": "Máy quay",
"cleanCopySnapshots": "Ảnh chụp nhanh <code>clean_copy</code>",
"snapshots": "Ảnh chụp nhanh"
},
"desc": "Việc gửi đến Frigate+ yêu cầu cả ảnh chụp nhanh và ảnh chụp nhanh <code>clean_copy</code> phải được bật trong cấu hình của bạn.",
"cleanCopyWarning": "Một số camera đã bật ảnh chụp nhanh nhưng đã tắt bản sao sạch. Bạn cần bật <code>clean_copy</code> trong cấu hình ảnh chụp nhanh của mình để có thể gửi hình ảnh từ các camera này đến Frigate+.",
"title": "Cấu hình Ảnh chụp nhanh",
"documentation": "Đọc tài liệu"
},
"modelInfo": {
"error": "Không thể tải thông tin mô hình",
"plusModelType": {
"userModel": "Đã tinh chỉnh",
"baseModel": "Mô hình Cơ sở"
},
"supportedDetectors": "Các bộ phát hiện được hỗ trợ",
"title": "Thông tin Mô hình",
"baseModel": "Mô hình Cơ sở",
"availableModels": "Các mô hình có sẵn",
"loadingAvailableModels": "Đang tải các mô hình có sẵn…",
"modelSelect": "Các mô hình có sẵn của bạn trên Frigate+ có thể được chọn ở đây. Lưu ý rằng chỉ những mô hình tương thích với cấu hình bộ phát hiện hiện tại của bạn mới có thể được chọn.",
"cameras": "Camera",
"loading": "Đang tải thông tin mô hình…",
"modelType": "Loại Mô hình",
"trainDate": "Ngày Huấn luyện"
},
"unsavedChanges": "Các thay đổi cài đặt Frigate+ chưa được lưu",
"toast": {
"success": "Cài đặt Frigate+ đã được lưu. Khởi động lại Frigate để áp dụng các thay đổi.",
"error": "Không thể lưu các thay đổi cấu hình: {{errorMessage}}"
},
"restart_required": "Yêu cầu khởi động lại (mô hình Frigate+ đã thay đổi)"
},
"camera": {
"title": "Cài đặt Camera",
"review": {
"alerts": "Cảnh báo ",
"detections": "Phát hiện ",
"title": "Xem lại",
"desc": "Tạm thời bật/tắt cảnh báo và phát hiện cho camera này cho đến khi Frigate khởi động lại. Khi bị vô hiệu hóa, sẽ không có mục xem lại mới nào được tạo ra. "
},
"reviewClassification": {
"title": "Phân loại mục Xem lại",
"unsavedChanges": "Các thay đổi cài đặt Phân loại mục Xem lại chưa được lưu cho {{camera}}",
"readTheDocumentation": "Đọc tài liệu",
"objectDetectionsTips": "Tất cả các đối tượng {{detectionsLabels}} không được phân loại trên {{cameraName}} sẽ được hiển thị dưới dạng Phát hiện bất kể chúng ở trong vùng nào.",
"desc": "Frigate phân loại các mục xem lại thành Cảnh báo và Phát hiện. Theo mặc định, tất cả các đối tượng <em>người</em> và <em>ô tô</em> được coi là Cảnh báo. Bạn có thể tinh chỉnh việc phân loại các mục xem lại của mình bằng cách định cấu hình các vùng bắt buộc cho chúng.",
"zoneObjectDetectionsTips": {
"text": "Tất cả các đối tượng {{detectionsLabels}} không được phân loại trong vùng {{zone}} trên {{cameraName}} sẽ được hiển thị dưới dạng Phát hiện.",
"notSelectDetections": "Tất cả các đối tượng {{detectionsLabels}} được phát hiện trong vùng {{zone}} trên {{cameraName}} không được phân loại là Cảnh báo sẽ được hiển thị dưới dạng Phát hiện bất kể chúng ở trong vùng nào.",
"regardlessOfZoneObjectDetectionsTips": "Tất cả các đối tượng {{detectionsLabels}} không được phân loại trên {{cameraName}} sẽ được hiển thị dưới dạng Phát hiện bất kể chúng ở trong vùng nào."
},
"toast": {
"success": "Cấu hình Phân loại mục Xem lại đã được lưu. Khởi động lại Frigate để áp dụng các thay đổi."
},
"limitDetections": "Giới hạn phát hiện trong các vùng cụ thể",
"selectDetectionsZones": "Chọn vùng cho Phát hiện",
"zoneObjectAlertsTips": "Tất cả các đối tượng {{alertsLabels}} được phát hiện trong vùng {{zone}} trên {{cameraName}} sẽ được hiển thị dưới dạng Cảnh báo.",
"noDefinedZones": "Không có vùng nào được xác định cho camera này.",
"objectAlertsTips": "Tất cả các đối tượng {{alertsLabels}} trên {{cameraName}} sẽ được hiển thị dưới dạng Cảnh báo.",
"selectAlertsZones": "Chọn vùng cho Cảnh báo"
},
"streams": {
"title": "Luồng phát",
"desc": "Tạm thời vô hiệu hóa một camera cho đến khi Frigate khởi động lại. Vô hiệu hóa một camera sẽ dừng hoàn toàn quá trình xử lý các luồng của camera này của Frigate. Việc phát hiện, ghi hình và gỡ lỗi sẽ không khả dụng.<br /> <em>Lưu ý: Điều này không vô hiệu hóa các luồng phát lại của go2rtc.</em>"
},
"object_descriptions": {
"title": "Mô tả đối tượng bằng AI tạo sinh",
"desc": "Tạm thời bật/tắt mô tả đối tượng bằng AI tạo sinh cho camera này. Khi tắt, mô tả do AI tạo sinh sẽ không được yêu cầu cho các đối tượng được theo dõi trên camera này."
},
"review_descriptions": {
"title": "Mô tả đánh giá bằng AI tạo sinh",
"desc": "Tạm thời bật/tắt mô tả xem lại bằng AI tạo sinh cho camera này. Khi tắt, mô tả do AI tạo sinh sẽ không được yêu cầu cho các mục xem lại trên camera này."
},
"addCamera": "Thêm Camera mới",
"editCamera": "Chỉnh sửa Camera:",
"selectCamera": "Chọn Camera",
"backToSettings": "Quay lại cài đặt Camera",
"cameraConfig": {
"add": "Thêm Camera",
"edit": "Chỉnh sửa Camera",
"description": "Cấu hình Camera, bao gồm luồng đầu vào và vai trò.",
"name": "Tên Camera",
"nameRequired": "Yêu cầu nhập tên Camera",
"nameInvalid": "Tên Camera chỉ được chứa chữ cái, số, dấu gạch dưới hoặc dấu gạch ngang",
"namePlaceholder": "Ví dụ: front_door",
"enabled": "Bật",
"ffmpeg": {
"inputs": "Luồng đầu vào",
"path": "Đường dẫn luồng",
"pathRequired": "Yêu cầu nhập đường dẫn luồng",
"pathPlaceholder": "rtsp://...",
"roles": "Vai trò",
"rolesRequired": "Cần ít nhất một vai trò",
"rolesUnique": "Mỗi vai trò (âm thanh, phát hiện, ghi hình) chỉ có thể được gán cho một luồng duy nhất",
"addInput": "Thêm luồng đầu vào",
"removeInput": "Xóa luồng đầu vào",
"inputsRequired": "Cần ít nhất một luồng đầu vào"
},
"toast": {
"success": "Camera {{cameraName}} đã được lưu thành công"
},
"nameLength": "Tên của camera phải dưới 24 ký tự."
}
},
"masksAndZones": {
"form": {
"zoneName": {
"error": {
"mustNotBeSameWithCamera": "Tên vùng không được trùng với tên camera.",
"mustBeAtLeastTwoCharacters": "Tên vùng phải có ít nhất 2 ký tự.",
"mustNotContainPeriod": "Tên vùng không được chứa dấu chấm.",
"alreadyExists": "Một vùng với tên này đã tồn tại cho camera này.",
"hasIllegalCharacter": "Tên vùng chứa các ký tự không hợp lệ."
}
},
"inertia": {
"error": {
"mustBeAboveZero": "Quán tính phải lớn hơn 0."
}
},
"loiteringTime": {
"error": {
"mustBeGreaterOrEqualZero": "Thời gian lảng vảng phải lớn hơn hoặc bằng 0."
}
},
"polygonDrawing": {
"delete": {
"desc": "Bạn có chắc muốn xóa {{type}} <em>{{name}}</em> không?",
"title": "Xác nhận Xóa",
"success": "{{name}} đã được xóa."
},
"removeLastPoint": "Xóa điểm cuối",
"snapPoints": {
"true": "Bắt dính điểm",
"false": "Không bắt dính điểm"
},
"reset": {
"label": "Xóa tất cả các điểm"
},
"error": {
"mustBeFinished": "Việc vẽ đa giác phải được hoàn thành trước khi lưu."
}
},
"speed": {
"error": {
"mustBeGreaterOrEqualTo": "Ngưỡng tốc độ phải lớn hơn hoặc bằng 0.1."
}
},
"distance": {
"error": {
"text": "Khoảng cách phải lớn hơn hoặc bằng 0.1.",
"mustBeFilled": "Tất cả các trường khoảng cách phải được điền để sử dụng ước tính tốc độ."
}
}
},
"objectMasks": {
"add": "Thêm Mặt nạ đối tượng",
"edit": "Chỉnh sửa Mặt nạ đối tượng",
"context": "Mặt nạ lọc đối tượng được sử dụng để lọc ra các kết quả dương tính giả cho một loại đối tượng nhất định dựa trên vị trí.",
"objects": {
"allObjectTypes": "Tất cả các loại đối tượng",
"title": "Đối tượng",
"desc": "Loại đối tượng áp dụng cho mặt nạ đối tượng này."
},
"documentTitle": "Chỉnh sửa Mặt nạ đối tượng - Frigate",
"desc": {
"title": "Mặt nạ lọc đối tượng được sử dụng để lọc ra các kết quả dương tính giả cho một loại đối tượng nhất định dựa trên vị trí.",
"documentation": "Tài liệu"
},
"point_other": "{{count}} điểm",
"toast": {
"success": {
"noName": "Mặt nạ đối tượng đã được lưu.",
"title": "{{polygonName}} đã được lưu."
}
},
"label": "Mặt nạ đối tượng",
"clickDrawPolygon": "Nhấp để vẽ một đa giác trên hình ảnh."
},
"zones": {
"speedEstimation": {
"docs": "Đọc tài liệu",
"desc": "Bật ước tính tốc độ cho các đối tượng trong vùng này. Vùng phải có chính xác 4 điểm.",
"title": "Ước tính Tốc độ",
"lineADistance": "Khoảng cách đường A ({{unit}})",
"lineBDistance": "Khoảng cách đường B ({{unit}})",
"lineCDistance": "Khoảng cách đường C ({{unit}})",
"lineDDistance": "Khoảng cách đường D ({{unit}})"
},
"desc": {
"documentation": "Tài liệu",
"title": "Các vùng cho phép bạn xác định một khu vực cụ thể của khung hình để bạn có thể xác định xem một đối tượng có ở trong một khu vực cụ thể hay không."
},
"add": "Thêm Vùng",
"allObjects": "Tất cả Đối tượng",
"speedThreshold": {
"toast": {
"error": {
"loiteringTimeError": "Các vùng có thời gian lảng vảng lớn hơn 0 không nên được sử dụng với ước tính tốc độ.",
"pointLengthError": "Ước tính tốc độ đã bị vô hiệu hóa cho vùng này. Các vùng có ước tính tốc độ phải có chính xác 4 điểm."
}
},
"desc": "Chỉ định tốc độ tối thiểu để các đối tượng được coi là ở trong vùng này.",
"title": "Ngưỡng Tốc độ ({{unit}})"
},
"loiteringTime": {
"title": "Thời gian lảng vảng",
"desc": "Đặt một khoảng thời gian tối thiểu tính bằng giây mà đối tượng phải ở trong vùng để kích hoạt nó. <em>Mặc định: 0</em>"
},
"point_other": "{{count}} điểm",
"clickDrawPolygon": "Nhấp để vẽ một đa giác trên hình ảnh.",
"objects": {
"title": "Đối tượng",
"desc": "Danh sách các đối tượng áp dụng cho vùng này."
},
"toast": {
"success": "Vùng ({{zoneName}}) đã được lưu."
},
"name": {
"inputPlaceHolder": "Nhập tên…",
"tips": "Tên phải có ít nhất 2 ký tự, phải có ít nhất một chữ cái và không được là tên của camera hoặc vùng khác trên camera này.",
"title": "Tên"
},
"edit": "Chỉnh sửa Vùng",
"label": "Vùng",
"documentTitle": "Chỉnh sửa Vùng - Frigate",
"inertia": {
"title": "Quán tính",
"desc": "Chỉ định số khung hình mà một đối tượng phải ở trong một vùng trước khi được coi là ở trong vùng. <em>Mặc định: 3</em>"
}
},
"motionMasks": {
"documentTitle": "Chỉnh sửa Mặt nạ chuyển động - Frigate",
"desc": {
"documentation": "Tài liệu",
"title": "Mặt nạ chuyển động được sử dụng để ngăn các loại chuyển động không mong muốn kích hoạt phát hiện. Việc che quá nhiều sẽ khiến việc theo dõi đối tượng trở nên khó khăn hơn."
},
"point_other": "{{count}} điểm",
"polygonAreaTooLarge": {
"documentation": "Đọc tài liệu",
"tips": "Mặt nạ chuyển động không ngăn chặn việc phát hiện đối tượng. Bạn nên sử dụng một vùng bắt buộc thay thế.",
"title": "Mặt nạ chuyển động đang che {{polygonArea}}% khung hình của camera. Không khuyến khích sử dụng mặt nạ chuyển động lớn."
},
"add": "Mặt nạ chuyển động mới",
"edit": "Chỉnh sửa Mặt nạ chuyển động",
"context": {
"documentation": "Đọc tài liệu",
"title": "Mặt nạ chuyển động được sử dụng để ngăn chặn các loại chuyển động không mong muốn kích hoạt việc phát hiện (ví dụ: cành cây, dấu thời gian của camera). Mặt nạ chuyển động nên được sử dụng <em>rất hạn chế</em>, việc che quá nhiều sẽ làm cho việc theo dõi đối tượng trở nên khó khăn hơn."
},
"label": "Mặt nạ chuyển động",
"clickDrawPolygon": "Nhấp để vẽ một đa giác trên hình ảnh.",
"toast": {
"success": {
"title": "{{polygonName}} đã được lưu.",
"noName": "Mặt nạ chuyển động đã được lưu."
}
}
},
"toast": {
"success": {
"copyCoordinates": "Đã sao chép tọa độ của {{polyName}} vào clipboard."
},
"error": {
"copyCoordinatesFailed": "Không thể sao chép tọa độ vào clipboard."
}
},
"restart_required": "Yêu cầu khởi động lại (mặt nạ/vùng đã thay đổi)",
"motionMaskLabel": "Mặt nạ chuyển động {{number}}",
"objectMaskLabel": "Mặt nạ đối tượng {{number}} ({{label}})",
"filter": {
"all": "Tất cả Mặt nạ và Vùng"
}
},
"motionDetectionTuner": {
"unsavedChanges": "Các thay đổi Tinh chỉnh Chuyển động chưa được lưu ({{camera}})",
"Threshold": {
"title": "Ngưỡng",
"desc": "Giá trị ngưỡng quy định mức độ thay đổi độ sáng của một pixel cần thiết để được coi là chuyển động. <em>Mặc định: 30</em>"
},
"contourArea": {
"title": "Diện tích đường viền",
"desc": "Giá trị diện tích đường viền được sử dụng để quyết định nhóm pixel nào đã thay đổi đủ điều kiện là chuyển động. <em>Mặc định: 10</em>"
},
"title": "Bộ tinh chỉnh Phát hiện Chuyển động",
"desc": {
"title": "Frigate sử dụng phát hiện chuyển động như một bước kiểm tra đầu tiên để xem có điều gì đang xảy ra trong khung hình đáng để kiểm tra bằng phát hiện đối tượng hay không.",
"documentation": "Đọc Hướng dẫn Tinh chỉnh Chuyển động"
},
"improveContrast": {
"desc": "Cải thiện độ tương phản cho các cảnh tối hơn. <em>Mặc định: BẬT</em>",
"title": "Cải thiện độ tương phản"
},
"toast": {
"success": "Cài đặt chuyển động đã được lưu."
}
},
"debug": {
"objectShapeFilterDrawing": {
"title": "Vẽ bộ lọc hình dạng đối tượng",
"desc": "Vẽ một hình chữ nhật trên hình ảnh để xem chi tiết diện tích và tỷ lệ",
"document": "Đọc tài liệu ",
"score": "Điểm",
"tips": "Bật tùy chọn này để vẽ một hình chữ nhật trên hình ảnh của camera để hiển thị diện tích và tỷ lệ của nó. Các giá trị này sau đó có thể được sử dụng để đặt các tham số bộ lọc hình dạng đối tượng trong cấu hình của bạn.",
"ratio": "Tỷ lệ",
"area": "Diện tích"
},
"detectorDesc": "Frigate sử dụng các bộ phát hiện của bạn ({{detectors}}) để phát hiện các đối tượng trong luồng video của camera.",
"boundingBoxes": {
"colors": {
"label": "Màu sắc Hộp giới hạn Đối tượng",
"info": "<li>Khi khởi động, các màu khác nhau sẽ được gán cho mỗi nhãn đối tượng</li><li>Một đường mỏng màu xanh đậm cho biết đối tượng không được phát hiện tại thời điểm hiện tại</li><li>Một đường mỏng màu xám cho biết đối tượng được phát hiện là đang đứng yên</li><li>Một đường dày cho biết đối tượng là chủ thể của việc theo dõi tự động (khi được bật)</li>"
},
"desc": "Hiển thị các hộp giới hạn xung quanh các đối tượng được theo dõi",
"title": "Hộp giới hạn"
},
"desc": "Chế độ xem gỡ lỗi hiển thị chế độ xem thời gian thực của các đối tượng được theo dõi và các thống kê của chúng. Danh sách đối tượng hiển thị một bản tóm tắt có độ trễ về các đối tượng được phát hiện.",
"debugging": "Gỡ lỗi",
"timestamp": {
"desc": "Chồng một dấu thời gian lên hình ảnh",
"title": "Dấu thời gian"
},
"regions": {
"title": "Khu vực",
"tips": "<p><strong>Hộp khu vực</strong></p><br><p>Các hộp màu xanh lá cây sáng sẽ được chồng lên các khu vực quan tâm trong khung hình đang được gửi đến bộ phát hiện đối tượng.</p>",
"desc": "Hiển thị một hộp của khu vực quan tâm được gửi đến bộ phát hiện đối tượng"
},
"zones": {
"title": "Vùng",
"desc": "Hiển thị đường viền của bất kỳ vùng nào đã được xác định"
},
"mask": {
"title": "Mặt nạ chuyển động",
"desc": "Hiển thị các đa giác mặt nạ chuyển động"
},
"title": "Gỡ lỗi",
"objectList": "Danh sách đối tượng",
"noObjects": "Không có đối tượng",
"motion": {
"desc": "Hiển thị các hộp xung quanh các khu vực phát hiện có chuyển động",
"tips": "<p><strong>Hộp chuyển động</strong></p><br><p>Các hộp màu đỏ sẽ được chồng lên các khu vực của khung hình nơi chuyển động đang được phát hiện</p>",
"title": "Hộp chuyển động"
},
"paths": {
"title": "Đường dẫn",
"desc": "Hiển thị các điểm quan trọng trên đường đi của đối tượng được theo dõi",
"tips": "<p><strong>Đường đi</strong></p><br><p>Đường thẳng và vòng tròn sẽ hiển thị các điểm quan trọng mà đối tượng được theo dõi đã di chuyển trong suốt quá trình theo dõi.</p>"
},
"openCameraWebUI": "Đang mở giao diện Web của {{camera}}",
"audio": {
"title": "Âm thanh",
"noAudioDetections": "Không phát hiện âm thanh",
"score": "điểm",
"currentRMS": "RMS hiện tại",
"currentdbFS": "dbFS hiện tại"
}
},
"users": {
"title": "Người dùng",
"management": {
"title": "Quản lý Người dùng",
"desc": "Quản lý các tài khoản người dùng của phiên bản Frigate này."
},
"table": {
"noUsers": "Không tìm thấy người dùng nào.",
"username": "Tên người dùng",
"actions": "Hành động",
"role": "Vai trò",
"changeRole": "Thay đổi vai trò người dùng",
"password": "Mật khẩu",
"deleteUser": "Xóa người dùng"
},
"dialog": {
"form": {
"password": {
"strength": {
"strong": "Mạnh",
"title": "Độ mạnh mật khẩu: ",
"medium": "Trung bình",
"veryStrong": "Rất mạnh",
"weak": "Yếu"
},
"title": "Mật khẩu",
"placeholder": "Nhập mật khẩu",
"confirm": {
"title": "Xác nhận Mật khẩu",
"placeholder": "Xác nhận Mật khẩu"
},
"notMatch": "Mật khẩu không trùng khớp",
"match": "Mật khẩu trùng khớp"
},
"newPassword": {
"placeholder": "Nhập mật khẩu mới",
"confirm": {
"placeholder": "Nhập lại mật khẩu mới"
},
"title": "Mật khẩu mới"
},
"usernameIsRequired": "Tên người dùng là bắt buộc",
"user": {
"title": "Tên người dùng",
"desc": "Chỉ cho phép chữ cái, số, dấu chấm và dấu gạch dưới.",
"placeholder": "Nhập tên người dùng"
},
"passwordIsRequired": "Mật khẩu là bắt buộc"
},
"createUser": {
"desc": "Thêm một tài khoản người dùng mới và chỉ định một vai trò để truy cập vào các khu vực của giao diện người dùng Frigate.",
"usernameOnlyInclude": "Tên người dùng chỉ có thể bao gồm chữ cái, số, . hoặc _",
"title": "Tạo Người dùng Mới",
"confirmPassword": "Vui lòng xác nhận mật khẩu của bạn"
},
"deleteUser": {
"desc": "Hành động này không thể được hoàn tác. Điều này sẽ xóa vĩnh viễn tài khoản người dùng và xóa tất cả dữ liệu liên quan.",
"warn": "Bạn có chắc muốn xóa <strong>{{username}}</strong> không?",
"title": "Xóa Người dùng"
},
"passwordSetting": {
"setPassword": "Đặt Mật khẩu",
"updatePassword": "Cập nhật Mật khẩu cho {{username}}",
"cannotBeEmpty": "Mật khẩu không được để trống",
"desc": "Tạo một mật khẩu mạnh để bảo mật tài khoản này.",
"doNotMatch": "Mật khẩu không khớp"
},
"changeRole": {
"title": "Thay đổi Vai trò Người dùng",
"roleInfo": {
"intro": "Chọn vai trò thích hợp cho người dùng này:",
"admin": "Quản trị viên",
"adminDesc": "Toàn quyền truy cập vào tất cả các tính năng.",
"viewer": "Người xem",
"viewerDesc": "Chỉ giới hạn ở các bảng điều khiển Trực tiếp, Xem lại, Khám phá và Xuất file."
},
"select": "Chọn một vai trò",
"desc": "Cập nhật quyền cho <strong>{{username}}</strong>"
}
},
"addUser": "Thêm Người dùng",
"updatePassword": "Cập nhật Mật khẩu",
"toast": {
"error": {
"setPasswordFailed": "Không thể lưu mật khẩu: {{errorMessage}}",
"createUserFailed": "Không thể tạo người dùng: {{errorMessage}}",
"deleteUserFailed": "Không thể xóa người dùng: {{errorMessage}}",
"roleUpdateFailed": "Không thể cập nhật vai trò: {{errorMessage}}"
},
"success": {
"roleUpdated": "Vai trò đã được cập nhật cho {{user}}",
"createUser": "Người dùng {{user}} đã được tạo thành công",
"deleteUser": "Người dùng {{user}} đã được xóa thành công",
"updatePassword": "Mật khẩu đã được cập nhật thành công."
}
}
},
"general": {
"calendar": {
"firstWeekday": {
"sunday": "Chủ nhật",
"monday": "Thứ hai",
"label": "Ngày đầu tuần",
"desc": "Ngày bắt đầu của các tuần trong lịch xem lại."
},
"title": "Lịch"
},
"storedLayouts": {
"desc": "Bố cục của các camera trong một nhóm camera có thể được kéo/thay đổi kích thước. Các vị trí được lưu trữ trong bộ nhớ cục bộ của trình duyệt của bạn.",
"title": "Bố cục đã lưu",
"clearAll": "Xóa tất cả Bố cục"
},
"cameraGroupStreaming": {
"title": "Cài đặt Phát luồng Nhóm Camera",
"desc": "Cài đặt phát luồng cho mỗi nhóm camera được lưu trữ trong bộ nhớ cục bộ của trình duyệt của bạn.",
"clearAll": "Xóa tất cả Cài đặt Phát luồng"
},
"toast": {
"success": {
"clearStoredLayout": "Đã xóa bố cục đã lưu cho {{cameraName}}",
"clearStreamingSettings": "Đã xóa cài đặt phát luồng cho tất cả các nhóm camera."
},
"error": {
"clearStoredLayoutFailed": "Không thể xóa bố cục đã lưu: {{errorMessage}}",
"clearStreamingSettingsFailed": "Không thể xóa cài đặt phát luồng: {{errorMessage}}"
}
},
"liveDashboard": {
"automaticLiveView": {
"desc": "Tự động chuyển sang chế độ xem trực tiếp của camera khi phát hiện hoạt động. Việc tắt tùy chọn này sẽ khiến hình ảnh tĩnh của camera trên bảng điều khiển Trực tiếp chỉ cập nhật mỗi phút một lần.",
"label": "Chế độ xem trực tiếp tự động"
},
"playAlertVideos": {
"desc": "Theo mặc định, các cảnh báo gần đây trên bảng điều khiển Trực tiếp sẽ phát dưới dạng các video lặp lại nhỏ. Tắt tùy chọn này để chỉ hiển thị hình ảnh tĩnh của các cảnh báo gần đây trên thiết bị/trình duyệt này.",
"label": "Phát video cảnh báo"
},
"title": "Bảng điều khiển trực tiếp",
"displayCameraNames": {
"label": "Luôn hiển thị tên camera",
"desc": "Luôn hiển thị tên camera trong một con chip trong bảng điều khiển xem trực tiếp nhiều camera."
},
"liveFallbackTimeout": {
"label": "Hết thời gian chờ dự phòng của người chơi trực tiếp",
"desc": "Khi luồng trực tiếp chất lượng cao của camera không khả dụng, tự động chuyển sang chế độ băng thông thấp sau số giây này. Mặc định: 3."
}
},
"recordingsViewer": {
"defaultPlaybackRate": {
"label": "Tốc độ phát mặc định",
"desc": "Tốc độ phát mặc định cho việc xem lại các bản ghi."
},
"title": "Trình xem Bản ghi"
},
"title": "Cài đặt giao diện"
},
"dialog": {
"unsavedChanges": {
"desc": "Bạn có muốn lưu các thay đổi trước khi tiếp tục không?",
"title": "Bạn có các thay đổi chưa được lưu."
}
},
"enrichments": {
"title": "Cài đặt Làm giàu Dữ liệu",
"unsavedChanges": "Các thay đổi cài đặt Làm giàu Dữ liệu chưa được lưu",
"birdClassification": {
"title": "Phân loại Chim",
"desc": "Phân loại chim xác định các loài chim đã biết bằng mô hình Tensorflow lượng tử hóa. Khi một loài chim đã biết được nhận dạng, tên thông thường của nó sẽ được thêm vào dưới dạng nhãn phụ (sub_label). Thông tin này được bao gồm trong giao diện người dùng, bộ lọc, cũng như trong các thông báo."
},
"semanticSearch": {
"title": "Tìm kiếm theo Ngữ nghĩa",
"desc": "Tìm kiếm theo Ngữ nghĩa trong Frigate cho phép bạn tìm các đối tượng được theo dõi trong các mục xem lại của mình bằng cách sử dụng chính hình ảnh, mô tả văn bản do người dùng xác định hoặc mô tả được tạo tự động.",
"reindexNow": {
"desc": "Việc tái lập chỉ mục sẽ tạo lại các nhúng (embeddings) cho tất cả các đối tượng được theo dõi. Quá trình này chạy ở chế độ nền và có thể làm CPU của bạn hoạt động tối đa và mất một khoảng thời gian đáng kể tùy thuộc vào số lượng đối tượng bạn đã theo dõi.",
"confirmTitle": "Xác nhận Tái lập chỉ mục",
"confirmDesc": "Bạn có chắc muốn tái lập chỉ mục cho tất cả các nhúng của đối tượng được theo dõi không? Quá trình này sẽ chạy ở chế độ nền nhưng có thể làm CPU của bạn hoạt động tối đa và mất một khoảng thời gian đáng kể. Bạn có thể theo dõi tiến trình trên trang Khám phá.",
"success": "Đã bắt đầu tái lập chỉ mục thành công.",
"alreadyInProgress": "Quá trình tái lập chỉ mục đang được tiến hành.",
"error": "Không thể bắt đầu tái lập chỉ mục: {{errorMessage}}",
"label": "Tái lập chỉ mục ngay",
"confirmButton": "Tái lập chỉ mục"
},
"modelSize": {
"label": "Kích thước Mô hình",
"desc": "Kích thước của mô hình được sử dụng cho các nhúng tìm kiếm theo ngữ nghĩa.",
"small": {
"title": "nhỏ",
"desc": "Sử dụng mô hình <em>nhỏ</em> sẽ dùng phiên bản lượng tử hóa của mô hình, tiêu thụ ít RAM hơn và chạy nhanh hơn trên CPU với sự khác biệt không đáng kể về chất lượng nhúng."
},
"large": {
"title": "lớn",
"desc": "Sử dụng mô hình <em>lớn</em> sẽ dùng mô hình Jina đầy đủ và sẽ tự động chạy trên GPU nếu có."
}
},
"readTheDocumentation": "Đọc tài liệu"
},
"faceRecognition": {
"title": "Nhận dạng Khuôn mặt",
"desc": "Nhận dạng khuôn mặt cho phép gán tên cho người và khi khuôn mặt của họ được nhận dạng, Frigate sẽ gán tên của người đó làm nhãn phụ. Thông tin này được bao gồm trong giao diện người dùng, bộ lọc, cũng như trong các thông báo.",
"readTheDocumentation": "Đọc tài liệu",
"modelSize": {
"label": "Kích thước Mô hình",
"desc": "Kích thước của mô hình được sử dụng để nhận dạng khuôn mặt.",
"small": {
"title": "nhỏ",
"desc": "Sử dụng mô hình <em>nhỏ</em> sẽ dùng mô hình nhúng khuôn mặt FaceNet, chạy hiệu quả trên hầu hết các CPU."
},
"large": {
"title": "lớn",
"desc": "Sử dụng mô hình <em>lớn</em> sẽ dùng mô hình nhúng khuôn mặt ArcFace và sẽ tự động chạy trên GPU nếu có."
}
}
},
"licensePlateRecognition": {
"title": "Nhận dạng Biển số xe",
"desc": "Frigate có thể nhận dạng biển số xe trên các phương tiện và tự động thêm các ký tự được phát hiện vào trường recognized_license_plate hoặc một tên đã biết làm nhãn phụ cho các đối tượng thuộc loại ô tô. Một trường hợp sử dụng phổ biến có thể là đọc biển số xe ô tô đi vào đường lái xe hoặc ô tô đi ngang qua trên đường phố.",
"readTheDocumentation": "Đọc tài liệu"
},
"restart_required": "Yêu cầu khởi động lại (cài đặt Làm giàu Dữ liệu đã thay đổi)",
"toast": {
"success": "Cài đặt Làm giàu Dữ liệu đã được lưu. Khởi động lại Frigate để áp dụng các thay đổi của bạn.",
"error": "Không thể lưu các thay đổi cấu hình: {{errorMessage}}"
}
},
"menu": {
"frigateplus": "Frigate+",
"ui": "Giao diện người dùng",
"masksAndZones": "Mặt nạ / Vùng",
"debug": "Gỡ lỗi",
"users": "Người dùng",
"notifications": "Thông báo",
"motionTuner": "Tinh chỉnh Chuyển động",
"cameras": "Cài đặt Camera",
"enrichments": "Làm giàu Dữ liệu",
"triggers": "Sự kiện kích hoạt",
"cameraManagement": "Quản lý",
"cameraReview": "Đánh giá",
"roles": "Vai trò"
},
"cameraSetting": {
"camera": "Máy quay",
"noCamera": "Không có Camera"
},
"triggers": {
"documentTitle": "Sự kiện kích hoạt",
"management": {
"title": "Sự kiện kích hoạt",
"desc": "Quản lý sự kiện kích hoạt cho {{camera}}. Sử dụng kiểu \"ảnh xem trước\" để kích hoạt dựa trên ảnh xem trước tương tự cho đối tượng cần theo dõi đã chọn, và kiểu \"mô tả\" để kích hoạt dựa trên những mô tả tương tự cho đoạn văn bản bạn đã chỉ định."
},
"addTrigger": "Thêm sự kiện kích hoạt",
"table": {
"content": "Nội dung",
"threshold": "Ngưỡng",
"actions": "Hành động",
"noTriggers": "Không có sự kiện kích hoạt được cài đặt cho máy quay này.",
"type": "Kiểu",
"name": "Tên",
"deleteTrigger": "Xóa sự kiện kích hoạt",
"lastTriggered": "Lần kích hoạt gần nhất",
"edit": "Chỉnh sửa"
},
"type": {
"description": "Mô tả",
"thumbnail": "Ảnh xem trước"
},
"dialog": {
"form": {
"enabled": {
"description": "Kích hoạt hoặc vô hiệu hóa sự kiện kích hoạt này"
},
"actions": {
"title": "Các hành động",
"desc": "Theo mặc định, Frigate kích hoạt thông báo MQTT cho tất cả các trình kích hoạt. Nhãn phụ thêm tên kích hoạt vào nhãn đối tượng. Thuộc tính là siêu dữ liệu có thể tìm kiếm được lưu trữ riêng biệt trong siêu dữ liệu đối tượng được theo dõi.",
"error": {
"min": "Phải chọn ít nhất một hành động."
}
},
"name": {
"title": "Tên",
"placeholder": "Tên sự kiện kích hoạt",
"error": {
"minLength": "Trường phải dài ít nhất 2 ký tự.",
"invalidCharacters": "Trường chỉ có thể chứa các chữ cái, số, dấu gạch dưới và dấu gạch nối.",
"alreadyExists": "Một sự kiện kích hoạt trùng tên đã tồn tại cho máy quay này."
}
},
"type": {
"title": "Kiểu",
"placeholder": "Chọn kiểu cho sự kiện kích hoạt"
},
"content": {
"title": "Nội dung",
"imagePlaceholder": "Chọn một hình ảnh",
"textPlaceholder": "Nhập nội dung văn bản",
"imageDesc": "Chỉ 100 hình thu nhỏ gần đây nhất được hiển thị. Nếu bạn không thể tìm thấy hình thu nhỏ mong muốn, vui lòng xem lại các đối tượng trước đó trong Khám phá và thiết lập trình kích hoạt từ menu ở đó.",
"textDesc": "Nhập vẵn bản để kích hoạt hành động này khi một đối tượng theo dõi với mô tả tương tự được phát hiện.",
"error": {
"required": "Nội dung bắt buộc."
}
},
"threshold": {
"title": "Ngưỡng",
"error": {
"min": "Ngưỡng phải ít nhất bằng 0",
"max": "Ngưỡng lớn nhất phải bé hơn 1"
}
}
},
"createTrigger": {
"title": "Tạo sự kiện kích hoạt",
"desc": "Tạo sự kiện kích hoạt cho máy quay {{camera}}"
},
"editTrigger": {
"title": "Chỉnh sửa Sự kiện kích hoạt",
"desc": "Chỉnh sửa cài đặt cho sự kiện kích hoạt trên máy quay {{camera}}"
},
"deleteTrigger": {
"title": "Xóa Sự kiện kích hoạt",
"desc": "Bạn có chắc chắn muốn xóa sự kịn kích hoạt <strong>{{triggerName}}</strong>? Thao tác này không thể khôi phục được."
}
},
"toast": {
"success": {
"createTrigger": "Sự kiện kích hoạt {{name}} đã được tạo thành công.",
"updateTrigger": "Sự kiện kích hoạt {{name}} đã được cập nhật thành công.",
"deleteTrigger": "Sự kiện kích hoạt {{name}} đã được xóa thành công."
},
"error": {
"createTriggerFailed": "Tạo sự kiện kích hoạt thất bại: {{errorMessage}}",
"updateTriggerFailed": "Cập nhật sự kiện kích hoạt thất bại: {{errorMessage}}",
"deleteTriggerFailed": "Xóa sự kiện kích hoạt thất bại: {{errorMessage}}"
}
},
"actions": {
"alert": "Gắn nhãn Cảnh báo",
"notification": "Gửi thông báo"
}
}
}
@@ -0,0 +1,198 @@
{
"documentTitle": {
"storage": "Thống kê lưu trữ - Frigate",
"general": "Thống kê Chung - Frigate",
"enrichments": "Thống kê Làm giàu Dữ liệu - Frigate",
"logs": {
"frigate": "Nhật ký Frigate - Frigate",
"go2rtc": "Nhật ký Go2RTC - Frigate",
"nginx": "Nhật ký Nginx - Frigate"
},
"cameras": "Thống kê Camera - Frigate"
},
"general": {
"hardwareInfo": {
"npuUsage": "Mức sử dụng NPU",
"npuMemory": "Bộ nhớ NPU",
"gpuInfo": {
"vainfoOutput": {
"title": "Đầu ra Vainfo",
"returnCode": "Mã trả về: {{code}}",
"processOutput": "Đầu ra Tiến trình:",
"processError": "Lỗi Tiến trình:"
},
"nvidiaSMIOutput": {
"title": "Đầu ra Nvidia SMI",
"name": "Tên: {{name}}",
"driver": "Trình điều khiển: {{driver}}",
"cudaComputerCapability": "Khả năng Tính toán CUDA: {{cuda_compute}}",
"vbios": "Thông tin VBios: {{vbios}}"
},
"closeInfo": {
"label": "Đóng thông tin GPU"
},
"copyInfo": {
"label": "Sao chép thông tin GPU"
},
"toast": {
"success": "Đã sao chép thông tin GPU vào clipboard"
}
},
"title": "Thông tin Phần cứng",
"gpuUsage": "Mức sử dụng GPU",
"gpuMemory": "Bộ nhớ GPU",
"gpuEncoder": "Bộ mã hóa GPU",
"gpuDecoder": "Bộ giải mã GPU",
"intelGpuWarning": {
"title": "Cảnh báo thống kê GPU Intel",
"message": "Không có số liệu thống kê GPU",
"description": "Đây là lỗi đã biết trong công cụ báo cáo thống kê GPU của Intel (intel_gpu_top), khi nó bị trục trặc và liên tục trả về mức sử dụng GPU là 0%, dù thực tế phần cứng tăng tốc và nhận diện đối tượng đang hoạt động đúng trên (i)GPU. Đây không phải lỗi của Frigate. Bạn có thể khởi động lại máy chủ để tạm thời khắc phục và xác nhận GPU vẫn hoạt động bình thường. Điều này không ảnh hưởng đến hiệu suất."
}
},
"otherProcesses": {
"processCpuUsage": "Mức sử dụng CPU của Tiến trình",
"processMemoryUsage": "Mức sử dụng Bộ nhớ của Tiến trình",
"title": "Các Tiến trình Khác"
},
"detector": {
"temperature": "Nhiệt độ Bộ phát hiện",
"memoryUsage": "Mức sử dụng Bộ nhớ của Bộ phát hiện",
"title": "Bộ phát hiện",
"inferenceSpeed": "Tốc độ Suy luận của Bộ phát hiện",
"cpuUsage": "Mức sử dụng CPU của Bộ phát hiện",
"cpuUsageInformation": "Dùng CPU để chuẩn bị đầu vào và ngõ ra dữ liệu dùng cho mẫu nhận dạng. Giá trị này không đo lường mức sử dụng suy luận, ngay cả khi sử dụng GPU hoặc bộ tăng tốc."
},
"title": "Chung"
},
"storage": {
"overview": "Tổng quan",
"cameraStorage": {
"title": "Lưu trữ Camera",
"camera": "Camera",
"unusedStorageInformation": "Thông tin Lưu trữ Chưa sử dụng",
"storageUsed": "Lưu trữ",
"percentageOfTotalUsed": "Tổng phần trăm",
"bandwidth": "Băng thông",
"unused": {
"title": "Chưa sử dụng",
"tips": "Giá trị này có thể không phản ánh chính xác dung lượng trống có sẵn cho Frigate nếu bạn có các tệp khác được lưu trữ trên ổ đĩa ngoài các bản ghi của Frigate. Frigate không theo dõi việc sử dụng dung lượng lưu trữ bên ngoài các bản ghi của nó."
}
},
"title": "Lưu trữ",
"recordings": {
"title": "Bản ghi",
"tips": "Giá trị này thể hiện tổng dung lượng lưu trữ được sử dụng bởi các bản ghi trong cơ sở dữ liệu của Frigate. Frigate không theo dõi việc sử dụng dung lượng lưu trữ cho tất cả các tệp trên đĩa của bạn.",
"earliestRecording": "Bản ghi sớm nhất hiện có:"
},
"shm": {
"title": "Sắp xếp bộ nhớ được chia sẻ (SHM)",
"warning": "Bộ nhớ chia sẻ hiện tại quá thấp {{total}}MB. Tăng lên tối thiểu là {{min_shm}}MB."
}
},
"cameras": {
"label": {
"detect": "phát hiện",
"skipped": "bỏ qua",
"ffmpeg": "FFmpeg",
"capture": "ghi hình",
"overallDetectionsPerSecond": "tổng số phát hiện mỗi giây",
"cameraFramesPerSecond": "{{camName}} khung hình mỗi giây",
"cameraDetectionsPerSecond": "{{camName}} phát hiện mỗi giây",
"overallFramesPerSecond": "tổng số khung hình mỗi giây",
"camera": "camera",
"overallSkippedDetectionsPerSecond": "tổng số phát hiện bị bỏ qua mỗi giây",
"cameraFfmpeg": "{{camName}} FFmpeg",
"cameraCapture": "{{camName}} ghi hình",
"cameraDetect": "{{camName}} phát hiện",
"cameraSkippedDetectionsPerSecond": "{{camName}} phát hiện bị bỏ qua mỗi giây"
},
"toast": {
"success": {
"copyToClipboard": "Đã sao chép dữ liệu thăm dò vào clipboard."
},
"error": {
"unableToProbeCamera": "Không thể thăm dò camera: {{errorMessage}}"
}
},
"info": {
"stream": "Luồng {{idx}}",
"streamDataFromFFPROBE": "Dữ liệu luồng được lấy bằng <code>ffprobe</code>.",
"video": "Video:",
"fetching": "Đang tìm nạp Dữ liệu Camera",
"codec": "Codec:",
"unknown": "Không xác định",
"audio": "Âm thanh:",
"error": "Lỗi: {{error}}",
"tips": {
"title": "Thông tin Thăm dò Camera"
},
"resolution": "Độ phân giải:",
"fps": "FPS:",
"cameraProbeInfo": "Thông tin Thăm dò Camera {{camera}}",
"aspectRatio": "tỉ lệ khung hình"
},
"overview": "Tổng quan",
"framesAndDetections": "Khung hình / Phát hiện",
"title": "Camera"
},
"lastRefreshed": "Làm mới lần cuối: ",
"stats": {
"detectIsSlow": "{{detect}} đang chậm ({{speed}} ms)",
"detectIsVerySlow": "{{detect}} đang rất chậm ({{speed}} ms)",
"cameraIsOffline": "{{camera}} đang ngoại tuyến",
"ffmpegHighCpuUsage": "{{camera}} có mức sử dụng CPU FFmpeg cao ({{ffmpegAvg}}%)",
"detectHighCpuUsage": "{{camera}} có mức sử dụng CPU phát hiện cao ({{detectAvg}}%)",
"healthy": "Hệ thống đang hoạt động tốt",
"reindexingEmbeddings": "Đang lập chỉ mục lại các embedding (hoàn thành {{processed}}%)",
"shmTooLow": "/dev/shm ({{total}} MB) cần được tăng lên tối thiểu {{min}} MB."
},
"enrichments": {
"embeddings": {
"image_embedding": "Embedding Hình ảnh",
"text_embedding_speed": "Tốc độ Embedding Văn bản",
"face_embedding_speed": "Tốc độ Embedding Khuôn mặt",
"text_embedding": "Embedding Văn bản",
"face_recognition": "Nhận dạng Khuôn mặt",
"plate_recognition": "Nhận dạng Biển số",
"image_embedding_speed": "Tốc độ Embedding Hình ảnh",
"face_recognition_speed": "Tốc độ Nhận dạng Khuôn mặt",
"plate_recognition_speed": "Tốc độ Nhận dạng Biển số",
"yolov9_plate_detection_speed": "Tốc độ Phát hiện Biển số YOLOv9",
"yolov9_plate_detection": "Phát hiện Biển số YOLOv9",
"review_description": "Đánh giá mô tả",
"review_description_speed": "Đánh giá Mô tả Tốc độ",
"review_description_events_per_second": "Đánh giá mô tả",
"object_description": "Mô tả đối tượng",
"object_description_speed": "Đối tượng Mô tả Tốc độ",
"object_description_events_per_second": "Mô tả đối tượng"
},
"title": "Làm giàu Dữ liệu",
"infPerSecond": "Suy luận Mỗi Giây",
"averageInf": "Thời gian suy luận trung bình"
},
"title": "Hệ thống",
"metrics": "Số liệu hệ thống",
"logs": {
"download": {
"label": "Tải xuống Nhật ký"
},
"copy": {
"label": "Sao chép vào Clipboard",
"success": "Đã sao chép nhật ký vào clipboard",
"error": "Không thể sao chép nhật ký vào clipboard"
},
"type": {
"label": "Loại",
"timestamp": "Dấu thời gian",
"tag": "Thẻ",
"message": "Thông báo"
},
"tips": "Nhật ký đang được truyền trực tiếp từ máy chủ",
"toast": {
"error": {
"fetchingLogsFailed": "Lỗi khi tìm nạp nhật ký: {{errorMessage}}",
"whileStreamingLogs": "Lỗi trong khi truyền trực tiếp nhật ký: {{errorMessage}}"
}
}
}
}