MessageConfig.py 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802
  1. MSG_CONFIG = {
  2. # 基础事件配置 (51-65)
  3. 51: {
  4. 'cn': '检测到画面变化',
  5. 'en': 'Detected scene change',
  6. 'es': 'Cambio de pantalla detectado',
  7. 'fr': 'Changement d\'écran détecté',
  8. 'de': 'Bildschirmänderung erkannt',
  9. 'cn_tw': '檢測到畫面變化',
  10. 'pt': 'Alteração do ecrã detectada',
  11. 'ru': 'Обнаружено изменение сцены',
  12. 'ja': '画面変化を検知',
  13. 'it': 'Rilevato Cambio di Schermata',
  14. 'pl': 'Wykryto zmianę obrazu',
  15. 'nl': 'Schermverandering gedetecteerd',
  16. 'ko': '화면 변화 감지됨',
  17. 'ar': 'تم اكتشاف تغيير في الصورة'
  18. },
  19. 52: {
  20. 'cn': '传感器报警',
  21. 'en': 'Sensor alarm',
  22. 'es': 'Alarma de sensor',
  23. 'fr': 'Alarme de capteur', # 从 "Alerte du capteur" 改为更地道的法语表达
  24. 'de': 'Sensoralarm',
  25. 'cn_tw': '感測器警報',
  26. 'pt': 'Alarme do sensor',
  27. 'ru': 'Сигнал тревоги датчика', # 从 "Тревога датчика" 改为更完整的俄语表达
  28. 'ja': 'センサー警報',
  29. 'it': 'Allarme Sensore', # 修正意大利语大小写(首字母大写)
  30. 'pl': 'Alarm czujnika',
  31. 'nl': 'Sensor alarm', # 从连写 "Sensoralarm" 改为分写形式
  32. 'ko': '센서 알람', # 从 "센서 경보" 改为更口语化的外来词
  33. 'ar': 'إنذار المستشعر'
  34. },
  35. 53: {
  36. 'cn': '影像遗失',
  37. 'en': 'Video loss',
  38. 'es': 'Pérdida de imagen', # 从 video → imagen(更精准描述图像层面)
  39. 'fr': 'Perte d\'image', # 删除冗余的 "signal" 提升简洁性
  40. 'de': 'Bild fehlt', # 从技术术语 Videoausfall 改为直观的 "图像缺失"
  41. 'cn_tw': '影像遺失',
  42. 'pt': 'Perda de imagem', # 从 vídeo → imagem(与西班牙语保持术语统一)
  43. 'ru': 'Потеря видео', # 删除 слож的 видеосигнала 简化表达
  44. 'ja': '映像消失',
  45. 'it': 'Perdita di Immagine', # 从视频信号改为图像丢失(首字母大写规范)
  46. 'pl': 'Utrata obrazu', # 从 sygnału wideo(视频信号)改为 obrazu(图像)
  47. 'nl': 'Beeld ontbreekt', # 从抽象名词改为直白描述 "图像缺失"
  48. 'ko': '영상 손실',
  49. 'ar': 'فقدان الصورة' # 从视频(الفيديو)改为图像(الصورة)
  50. },
  51. 54: {
  52. 'cn': 'PIR',
  53. 'en': 'PIR',
  54. 'es': 'PIR',
  55. 'fr': 'PIR',
  56. 'de': 'PIR',
  57. 'cn_tw': 'PIR',
  58. 'pt': 'PIR',
  59. 'ru': 'PIR',
  60. 'ja': 'PIR',
  61. 'it': 'PIR',
  62. 'pl': 'Alarm PIR',
  63. 'nl': 'PIR',
  64. 'ko': 'PIR',
  65. 'ar': 'إنذار PIR'
  66. },
  67. 55: {
  68. 'cn': '门磁报警',
  69. 'en': 'Door contact alarm',
  70. 'es': 'Alarma de contacto puerta',
  71. 'fr': 'Alarme de contact porte',
  72. 'de': 'Türkontaktsensor',
  73. 'cn_tw': '門磁警報',
  74. 'pt': 'Alarme de contato porta',
  75. 'ru': 'Датчик открытия двери',
  76. 'ja': 'ドアセンサー警報',
  77. 'it': 'Allarme contatto porta',
  78. 'pl': 'Czujnik otwarcia drzwi',
  79. 'nl': 'Deurcontactalarm',
  80. 'ko': '도어 센서 경보',
  81. 'ar': 'إنذار اتصال الباب'
  82. },
  83. 56: {
  84. 'cn': '外部发报',
  85. 'en': 'External transmission',
  86. 'es': 'Transmisión externa',
  87. 'fr': 'Émission externe',
  88. 'de': 'Externe Übertragung',
  89. 'cn_tw': '外部發報',
  90. 'pt': 'Transmissão externa',
  91. 'ru': 'Внешняя передача',
  92. 'ja': '外部送信',
  93. 'it': 'Trasmissione esterna',
  94. 'pl': 'Nadajnik zewnętrzny',
  95. 'nl': 'Externe transmissie',
  96. 'ko': '외부 전송',
  97. 'ar': 'بث خارجي'
  98. },
  99. 57: {
  100. 'cn': '有人出现',
  101. 'en': 'Person detected',
  102. 'es': 'Persona detectada',
  103. 'fr': "Présence d'une personne",
  104. 'de': 'Jemand anwesend',
  105. 'cn_tw': '有人出現',
  106. 'pt': 'Pessoa detectada',
  107. 'ru': 'Обнаружен человек',
  108. 'ja': '人を検知',
  109. 'it': 'Presenza Umana',
  110. 'pl': 'Wykryto osobę',
  111. 'nl': 'Iemand aanwezig',
  112. 'ko': '사람 출현',
  113. 'ar': 'وجود شخص'
  114. },
  115. 58: {
  116. 'cn': '有车出现',
  117. 'en': 'Vehicle detected',
  118. 'es': 'Vehículo detectado',
  119. 'fr': "Présence d'un véhicule",
  120. 'de': 'Auto anwesend',
  121. 'cn_tw': '有車出現',
  122. 'pt': 'Veículo detectado',
  123. 'ru': 'Обнаружен автомобиль',
  124. 'ja': '車両を検知',
  125. 'it': 'Veicolo Presente',
  126. 'pl': 'Wykryto pojazd',
  127. 'nl': 'Auto aanwezig',
  128. 'ko': '차량 출현',
  129. 'ar': 'وجود سيارة'
  130. },
  131. 59: {
  132. 'cn': '有宠物出现',
  133. 'en': 'Pet detected',
  134. 'es': 'Mascota detectada',
  135. 'fr': "Présence d'un animal",
  136. 'de': 'Haustier anwesend',
  137. 'cn_tw': '有寵物出現',
  138. 'pt': 'Deteção de animal de estimação',
  139. 'ru': 'Обнаружено домашнее животное',
  140. 'ja': 'ペットを検知',
  141. 'it': 'Presenza di Animali Domestici',
  142. 'pl': 'Wykryto zwierzę domowe',
  143. 'nl': 'Huisdier aanwezig',
  144. 'ko': '애완동물 출현',
  145. 'ar': 'وجود حيوان أليف'
  146. },
  147. 60: {
  148. 'cn': '发现人脸',
  149. 'en': 'Face detected',
  150. 'es': 'Cara detectada',
  151. 'fr': 'Visage détecté',
  152. 'de': 'Gesicht erkannt',
  153. 'cn_tw': '發現人臉',
  154. 'pt': 'Rosto detectado',
  155. 'ru': 'Обнаружено лицо',
  156. 'ja': '顔を検知',
  157. 'it': 'Rilevato un Volto',
  158. 'pl': 'Wykryto twarz',
  159. 'nl': 'Gezicht gedetecteerd',
  160. 'ko': '얼굴 감지',
  161. 'ar': 'اكتشاف وجه'
  162. },
  163. 61: {
  164. 'cn': '有异响',
  165. 'en': 'Unusual sound detected',
  166. 'es': 'Sonido detectado',
  167. 'fr': 'Il y a un bruit',
  168. 'de': 'Geräusch erkannt',
  169. 'cn_tw': '有異響',
  170. 'pt': 'Som detectado',
  171. 'ru': 'Обнаружен необычный звук',
  172. 'ja': '異音を検知',
  173. 'it': "C'è un Rumore",
  174. 'pl': 'Wykryto nietypowy dźwięk',
  175. 'nl': 'Geluid gedetecteerd',
  176. 'ko': '이상 소음',
  177. 'ar': 'صوت غير عادي'
  178. },
  179. 62: {
  180. 'cn': '区域闯入',
  181. 'en': 'Zone intrusion detected',
  182. 'es': 'Intrusión en la zona',
  183. 'fr': 'Entrée par effraction',
  184. 'de': 'Jemand betritt den Bereich',
  185. 'cn_tw': '區域闖入',
  186. 'pt': 'Intrusão na área',
  187. 'ru': 'Обнаружено вторжение в зону',
  188. 'ja': 'エリア侵入',
  189. 'it': "Irruzione nell'Area",
  190. 'pl': 'Wtargnięcie do strefy',
  191. 'nl': 'Iemand komt het gebied binnen',
  192. 'ko': '구역 침입',
  193. 'ar': 'دخول المنطقة'
  194. },
  195. 63: {
  196. 'cn': '区域离开',
  197. 'en': 'Zone exit detected',
  198. 'es': 'Salida del área',
  199. 'fr': 'Sortie de zone',
  200. 'de': 'Jemand verlässt den Bereich',
  201. 'cn_tw': '區域離開',
  202. 'pt': 'Saída da zona',
  203. 'ru': 'Обнаружен выход из зоны',
  204. 'ja': 'エリア離脱',
  205. 'it': 'Area in Uscita',
  206. 'pl': 'Opuszczenie strefy',
  207. 'nl': 'Iemand verlaat het gebied',
  208. 'ko': '구역 이탈',
  209. 'ar': 'مغادرة المنطقة'
  210. },
  211. 64: {
  212. 'cn': '有人徘徊',
  213. 'en': 'Loitering detected',
  214. 'es': 'Alguien deambula',
  215. 'fr': "Quelqu'un erre",
  216. 'de': 'Jemand wandert umher',
  217. 'cn_tw': '有人徘徊',
  218. 'pt': 'Alguém vagueia',
  219. 'ru': 'Обнаружено праздношатание',
  220. 'ja': '人の徘徊を検知',
  221. 'it': 'Qualcuno si Aggira',
  222. 'pl': 'Wykryto krążenie osoby',
  223. 'nl': 'Iemand dwaalt rond',
  224. 'ko': '사람 배회',
  225. 'ar': 'شخص يتجول'
  226. },
  227. 65: {
  228. 'cn': '长时间无人出现',
  229. 'en': 'No presence detected for a long time',
  230. 'es': 'Ausencia prolongada',
  231. 'fr': "Personne n'a été vu depuis longtemps",
  232. 'de': 'Niemand ist für längere Zeit anwesend',
  233. 'cn_tw': '長時間無人出現',
  234. 'pt': 'Ausência prolongada',
  235. 'ru': 'Присутствие не обнаружено в течение длительного времени',
  236. 'ja': '長時間人の不在を検知',
  237. 'it': 'Non si Vede Nessuno da Molto Tempo',
  238. 'pl': 'Długotrwały brak obecności',
  239. 'nl': 'Er is lange tijd niemand aanwezig',
  240. 'ko': '장시간 사람 없음',
  241. 'ar': 'عدم وجود أشخاص لفترة طويلة'
  242. },
  243. # 特殊事件配置
  244. 1022: {
  245. 'cn': '有人按下门铃',
  246. 'en': 'Doorbell pressed',
  247. 'es': 'Alguien tocó el timbre.',
  248. 'fr': "Quelqu'un appuie sur la sonnette",
  249. 'de': 'Jemand drückt die Türklingel ',
  250. 'cn_tw': '有人按下門鈴',
  251. 'pt': 'Alguém tocou à campainha da porta.',
  252. 'ru': 'Нажат дверной звонок',
  253. 'ja': 'ドアベル作動',
  254. 'it': 'Qualcuno Preme il Campanello',
  255. 'pl': 'Ktoś nacisnął dzwonek',
  256. 'nl': 'Iemand drukt op de deurbel ',
  257. 'ko': '누군가 초인종을 눌렀습니다',
  258. 'ar': 'شخص يضغط على جرس الباب'
  259. },
  260. 1023: {
  261. 'cn': '儿童保护模式开启',
  262. 'en': 'Child protection mode enabled',
  263. 'es': 'Modo de protección infantil activado',
  264. 'fr': 'Mode de protection des enfants activé',
  265. 'de': 'Kinderschutzmodus aktiviert ',
  266. 'cn_tw': '兒童保護模式開啟',
  267. 'pt': 'Modo de proteção de crianças ativado',
  268. 'ru': 'Включен режим защиты от детей',
  269. 'ja': '児童保護モード作動',
  270. 'it': 'Modalità Protezione Bambini Attivata',
  271. 'pl': 'Włączono tryb ochrony dzieci',
  272. 'nl': 'Kinderbeveiligingsmodus geactiveerd ',
  273. 'ko': '어린이 보호 모드 활성화',
  274. 'ar': 'تم تفعيل وضع حماية الأطفال'
  275. },
  276. 702: {
  277. 'cn': '摄像头休眠',
  278. 'en': 'Camera standby',
  279. 'es': 'Cámara en espera',
  280. 'fr': 'Caméra en veille',
  281. 'de': 'Kamera Standby',
  282. 'cn_tw': '攝像頭休眠',
  283. 'pt': 'Câmera em espera',
  284. 'ru': 'Камера в режиме ожидания',
  285. 'ja': 'カメラスタンバイ',
  286. 'it': 'Camera in standby',
  287. 'pl': 'Kamera w trybie czuwania',
  288. 'nl': 'Camera in stand-by',
  289. 'ko': '카메라 대기 중',
  290. 'ar': 'الكاميرا في وضع الاستعداد'
  291. },
  292. 703: {
  293. 'cn': '摄像头唤醒',
  294. 'en': 'Camera activated',
  295. 'es': 'Cámara activada',
  296. 'fr': 'Caméra activée',
  297. 'de': 'Kamera aktiviert',
  298. 'cn_tw': '攝像頭喚醒',
  299. 'pt': 'Câmera ativada',
  300. 'ru': 'Камера активирована',
  301. 'ja': 'カメラ起動',
  302. 'it': 'Camera attivata',
  303. 'pl': 'Kamera aktywowana',
  304. 'nl': 'Camera geactiveerd',
  305. 'ko': '카메라 활성화됨',
  306. 'ar': 'تم تفعيل الكاميرا'
  307. },
  308. 704: {
  309. 'cn': '电量低',
  310. 'en': 'Low battery',
  311. 'es': 'Batería baja',
  312. 'fr': 'Batterie faible',
  313. 'de': 'Niedriger Batteriestand ',
  314. 'cn_tw': '電量低',
  315. 'pt': 'Bateria fraca',
  316. 'ru': 'Низкий заряд батареи',
  317. 'ja': 'バッテリー残量低下',
  318. 'it': 'Batteria Scarica',
  319. 'pl': 'Niski poziom baterii',
  320. 'nl': 'Batterij bijna leeg ',
  321. 'ko': '배터리 부족',
  322. 'ar': 'بطارية منخفضة'
  323. },
  324. 706: {
  325. 'default': {
  326. 'cn': '存储卡异常,请重新插拔或格式化存储卡',
  327. 'en': 'Storage card error, please reinsert or format the card ',
  328. 'es': 'Tarjeta de memoria anormal, por favor reinserte o formatee la tarjeta de memoria.',
  329. 'fr': 'Anomalie de la carte mémoire, veuillez réinsérer ou formater la carte mémoire.',
  330. 'de': 'Speicherkarte abnormal, bitte neu einlegen oder formatieren ',
  331. 'cn_tw': '記憶卡異常,請重新插拔或格式化', # 繁体同步适配「存储卡」
  332. 'pt': 'Cartão de memória anormal, por favor reinsira ou formate o cartão de memória.',
  333. 'ru': 'Ошибка карты памяти, пожалуйста, повторно вставьте или отформатируйте карту',
  334. 'ja': 'SDカード異常、再挿入またはフォーマットしてください',
  335. 'it': 'Anomalia della Scheda di Memoria, Si Prega di Reinserire o Formattare la Scheda di Memoria',
  336. 'pl': 'Błąd karty pamięci, wyjmij lub sformatuj',
  337. 'nl': 'Geheugenkaart abnormaal, opnieuw plaatsen of formatteren ',
  338. 'ko': '메모리 카드 이상. 다시 꽂거나 포맷하세요',
  339. 'ar': 'خطأ في بطاقة الذاكرة، أعد تركيبها أو قم بتهيئتها'
  340. },
  341. 'save': {
  342. 'cn': '存储卡异常,请重新插拔或格式化存储卡,如问题仍未解决,请联系在线客服。',
  343. 'en': 'Storage card error, please reinsert or format the storage card. If the problem persists, contact online support.',
  344. 'es': 'Error de tarjeta de almacenamiento, vuelva a insertar o formatee la tarjeta. Si persiste, contacte al soporte en línea.',
  345. 'fr': 'Erreur de carte de stockage, réinsérez ou formatez la carte. Si le problème persiste, contactez le support en ligne.',
  346. 'de': 'Speicherkartenfehler, bitte neu einstecken oder formatieren. Bei anhaltendem Problem kontaktieren Sie den Online-Support.',
  347. 'cn_tw': '儲存卡異常,請重新插拔或格式化儲存卡,若問題未解決,請聯繫線上客服。', # 繁体同步适配
  348. 'pt': 'Erro no cartão de armazenamento, reinsira ou formate o cartão. Se persistir, contate o suporte online.',
  349. 'ru': 'Ошибка карты памяти, переустановите или отформатируйте карту. Если проблема не устранена, обратитесь в службу поддержки.',
  350. 'ja': 'ストレージカード異常、再挿入またはフォーマットしてください。問題が続く場合はオンラインサポートへ連絡してください。',
  351. 'it': 'Errore scheda di memoria, reinserire o formattare la scheda. Se il problema persiste, contattare il supporto online.',
  352. 'pl': 'Błąd karty pamięci, proszę ponownie włożyć lub sformatować kartę. Jeśli problem nie ustąpi, skontaktuj się z pomocą online.',
  353. 'nl': 'Opslagkaartfout, herplaats of formatteer de kaart. Neem bij aanhoudend probleem contact op met ondersteuning.',
  354. 'ko': '저장 카드 오류, 카드를 다시 삽입하거나 포맷하십시오. 문제가 계속되면 온라인 지원팀에 문의하십시오.',
  355. 'ar': 'خطأ في بطاقة التخزين، يرجى إعادة إدخال البطاقة أو تهيئتها. إذا استمرت المشكلة، اتصل بالدعم عبر الإنترنت.'
  356. }
  357. },
  358. # 数据推送消息
  359. 'data_push': {
  360. 'cn': '有人呼叫,请点击查看',
  361. 'en': 'Someone is calling, tap to check ',
  362. 'es': 'Alguien está llamando, por favor haga clic para comprobar. ',
  363. 'fr': "Quelqu'un appelle, veuillez cliquer pour vérifier ",
  364. 'de': 'Jemand ruft an, bitte klicken ',
  365. 'cn_tw': '有人呼叫,請點擊查看 ',
  366. 'pt': 'Alguém está a ligar, clique para verificar. ',
  367. 'ru': 'Кто-то звонит, нажмите для проверки ',
  368. 'ja': '通話があります、タップして確認 ',
  369. 'it': 'Qualcuno sta Chiamando, Fare Clic per Controllare ',
  370. 'pl': 'Ktoś wzywa, kliknij aby zobaczyć ',
  371. 'nl': 'Iemand belt, klik a.u.b. ',
  372. 'ko': '누군가 호출했습니다. 클릭하여 확인하세요 ',
  373. 'ar': 'شخص يتصل، انقر للعرض'
  374. }
  375. }
  376. # config.py(文案配置独立文件)
  377. EVENT_CONFIGS = {
  378. "cn": {
  379. 51: '检测到画面变化 ',
  380. 52: '传感器报警 ',
  381. 53: '影像遗失 ',
  382. 54: 'PIR ',
  383. 55: '门磁报警 ',
  384. 56: '外部发报 ',
  385. 57: '有人出现 ',
  386. 58: '有车出现 ',
  387. 59: '有宠物出现 ',
  388. 60: '发现人脸 ',
  389. 61: '有异响 ',
  390. 62: '区域闯入 ',
  391. 63: '区域离开 ',
  392. 64: '有人徘徊 ',
  393. 65: '长时间无人出现 ',
  394. 66: {1: '有人进入 ', 2: '有人离开 '},
  395. 67: '检测到哭声 ',
  396. 68: '检测到手势 ',
  397. 69: '检测到火焰 ',
  398. 70: '看不到宝宝的脸了,快去看看 ',
  399. 71: '有包裹出现 ',
  400. 72: '检测到电瓶车 ',
  401. 73: '检测到画面被遮挡 ',
  402. },
  403. 'en': {
  404. 51: 'Detected scene change ',
  405. 52: 'Sensor alarm ',
  406. 53: 'Video loss ',
  407. 54: 'PIR ',
  408. 55: 'Door sensor alarm ',
  409. 56: 'External alert triggered ',
  410. 57: 'Person detected ',
  411. 58: 'Vehicle detected ',
  412. 59: 'Pet detected ',
  413. 60: 'Face detected ',
  414. 61: 'Unusual sound detected ',
  415. 62: 'Zone intrusion detected ',
  416. 63: 'Zone exit detected ',
  417. 64: 'Loitering detected ',
  418. 65: 'No presence detected for a long time ',
  419. 66: {
  420. 1: 'Person entered ',
  421. 2: 'Person exited '
  422. },
  423. 67: 'Crying detected ',
  424. 68: 'Gesture detected ',
  425. 69: 'Fire detected ',
  426. 70: 'Can\'t see the baby\'s face, check now! ',
  427. 71: 'Package detected ',
  428. 72: 'E-bike detected ',
  429. 73: 'Camera view obstructed '
  430. },
  431. 'es': {
  432. 51: 'Cambio de pantalla detectado ',
  433. 52: 'Alarma de sensor ',
  434. 53: 'Pérdida de imagen ',
  435. 54: 'PIR ',
  436. 55: 'Alarma magnética de puerta ',
  437. 56: 'Alarma externa ',
  438. 57: 'Persona detectada ',
  439. 58: 'Vehículo detectado ',
  440. 59: 'Mascota detectada ',
  441. 60: 'Cara detectada ',
  442. 61: 'Sonido detectado ',
  443. 62: 'Intrusión en la zona ',
  444. 63: 'Salida del área ',
  445. 64: 'Alguien deambula ',
  446. 65: 'Ausencia prolongada ',
  447. 66: {
  448. 1: 'Alguien entra ',
  449. 2: 'Alguien se va '
  450. },
  451. 67: 'Llanto detectado ',
  452. 68: 'Gesto detectado ',
  453. 69: 'Llama detectada ',
  454. 70: 'No puedo ver la cara del bebé. Compruébalo. ',
  455. 71: 'Paquete detectado ',
  456. 72: 'Coche con batería detectado ',
  457. 73: 'Pantalla bloqueada detectada '
  458. },
  459. 'fr': {
  460. 51: "Changement d'écran détecté ",
  461. 52: 'Alarme de capteur ',
  462. 53: "Perte d'image ",
  463. 54: 'PIR ',
  464. 55: 'Alarme de magnétique de porte ',
  465. 56: 'Alarme externe ',
  466. 57: "Présence d'une personne",
  467. 58: "Présence d'un véhicule ",
  468. 59: "Présence d'un animal ",
  469. 60: 'Visage détecté ',
  470. 61: 'Il y a un bruit ',
  471. 62: 'Entrée par effraction ',
  472. 63: 'Sortie de zone ',
  473. 64: "Quelqu'un erre ",
  474. 65: "Personne n'a été vu depuis longtemps ",
  475. 66: {
  476. 1: "Quelqu'un entre ",
  477. 2: "Quelqu'un s'en va "
  478. },
  479. 67: 'Pleurs détectés ',
  480. 68: 'Signes de la main détectés ',
  481. 69: 'Flamme détectée ',
  482. 70: 'Le visage du bébé est couvert. Allez voir. ',
  483. 71: "Présence d'un colis ",
  484. 72: 'Véhicule motorisé détecté ',
  485. 73: 'Écran masqué détecté '
  486. },
  487. 'de': {
  488. 51: 'Bildschirmänderung erkannt ',
  489. 52: 'Sensoralarm ',
  490. 53: 'Bild fehlt ',
  491. 54: 'PIR ',
  492. 55: 'Magnetischer Türalarm ',
  493. 56: 'Externer Sendealarm ',
  494. 57: 'Jemand anwesend ',
  495. 58: 'Auto anwesend ',
  496. 59: 'Haustier anwesend ',
  497. 60: 'Gesicht erkannt ',
  498. 61: 'Geräusch erkannt ',
  499. 62: 'Jemand betritt den Bereich ',
  500. 63: 'Jemand verlässt den Bereich ',
  501. 64: 'Jemand wandert umher ',
  502. 65: 'Niemand ist für längere Zeit anwesend ',
  503. 66: {
  504. 1: 'Jemand betritt ',
  505. 2: 'Jemand verlässt '
  506. },
  507. 67: 'Weinen erkannt ',
  508. 68: 'Geste erkannt ',
  509. 69: 'Flamme erkannt ',
  510. 70: 'Das Gesicht des Babys nicht mehr erkannt, bitte überprüfen ',
  511. 71: 'Paket anwesend ',
  512. 72: 'Batterieauto erkannt ',
  513. 73: 'Bildschirmsperrung erkannt '
  514. },
  515. 'cn_tw': {
  516. 51: '檢測到畫面變化 ',
  517. 52: '感測器報警 ',
  518. 53: '影像遺失 ',
  519. 54: 'PIR ',
  520. 55: '門磁報警 ',
  521. 56: '外部發報 ',
  522. 57: '有人出現 ',
  523. 58: '有車出現 ',
  524. 59: '有寵物出現 ',
  525. 60: '發現人臉 ',
  526. 61: '有異響 ',
  527. 62: '區域闖入 ',
  528. 63: '區域離開 ',
  529. 64: '有人徘徊 ',
  530. 65: '長時間無人出現 ',
  531. 66: {1: '有人進入 ', 2: '有人離開 '},
  532. 67: '檢測到哭聲 ',
  533. 68: '檢測到手勢 ',
  534. 69: '檢測到火焰 ',
  535. 70: '看不到寶寶的臉了,快去看看 ',
  536. 71: '有包裹出現 ',
  537. 72: '檢測到電瓶車 ',
  538. 73: '檢測到畫面被遮擋 ',
  539. },
  540. 'pt': { # 葡萄牙语(Portuguese)
  541. 51: 'Alteração do ecrã detectada ',
  542. 52: 'Alarme do sensor ',
  543. 53: 'Perda de imagem ',
  544. 54: 'PIR ',
  545. 55: 'Alarme magnético de porta ',
  546. 56: 'Alarme externo ',
  547. 57: 'Pessoa detectada ',
  548. 58: 'Veículo detectado ',
  549. 59: 'Deteção de animal de estimação ',
  550. 60: 'Rosto detectado ',
  551. 61: 'Som detectado ',
  552. 62: 'Intrusão na área ',
  553. 63: 'Saída da zona ',
  554. 64: 'Alguém vagueia ',
  555. 65: 'Ausência prolongada ',
  556. 66: {
  557. 1: 'Alguém entra ',
  558. 2: 'Alguém sai '
  559. },
  560. 67: 'Choro detectado ',
  561. 68: 'Gesto detectado ',
  562. 69: 'Chama detectada ',
  563. 70: 'Não consigo ver o rosto do bebé. Vê só. ',
  564. 71: 'Embalagem detectada ',
  565. 72: 'Carro com bateria detectado ',
  566. 73: 'Ecrã bloqueado detectado '
  567. },
  568. 'ru': { # 俄语(Russian)
  569. 51: 'Обнаружено изменение сцены ',
  570. 52: 'Сигнал тревоги датчика ',
  571. 53: 'Потеря видео ',
  572. 54: 'PIR ',
  573. 55: 'Сигнал тревоги датчика двери ',
  574. 56: 'Сработал внешний сигнал тревоги ',
  575. 57: 'Обнаружен человек ',
  576. 58: 'Обнаружен автомобиль ',
  577. 59: 'Обнаружено домашнее животное ',
  578. 60: 'Обнаружено лицо ',
  579. 61: 'Обнаружен необычный звук ',
  580. 62: 'Обнаружено вторжение в зону ',
  581. 63: 'Обнаружен выход из зоны ',
  582. 64: 'Обнаружено праздношатание ',
  583. 65: 'Присутствие не обнаружено в течение длительного времени ',
  584. 66: {
  585. 1: 'Человек вошел ',
  586. 2: 'Человек вышел '
  587. },
  588. 67: 'Обнаружен плач ',
  589. 68: 'Обнаружен жест ',
  590. 69: 'Обнаружен пожар ',
  591. 70: 'Не видно лица ребенка, проверьте сейчас! ',
  592. 71: 'Обнаружена посылка ',
  593. 72: 'Обнаружен электровелосипед ',
  594. 73: 'Обзор камеры закрыт '
  595. },
  596. 'ja': { # 日语(Japanese)
  597. 51: '画面変化を検知 ',
  598. 52: 'センサー警報 ',
  599. 53: '映像消失 ',
  600. 54: 'PIR ',
  601. 55: 'ドアセンサー警報 ',
  602. 56: '外部発報 ',
  603. 57: '人を検知 ',
  604. 58: '車両を検知 ',
  605. 59: 'ペットを検知 ',
  606. 60: '顔を検知 ',
  607. 61: '異音を検知 ',
  608. 62: 'エリア侵入 ',
  609. 63: 'エリア離脱 ',
  610. 64: '人の徘徊を検知 ',
  611. 65: '長時間人の不在を検知 ',
  612. 66: {
  613. 1: '人が進入 ',
  614. 2: '人が退出 '
  615. },
  616. 67: '泣き声を検知 ',
  617. 68: 'ジェスチャーを検知 ',
  618. 69: '炎を検知 ',
  619. 70: '赤ちゃんの顔が見えません、確認してください ',
  620. 71: '荷物を検知 ',
  621. 72: '電動バイクを検知 ',
  622. 73: '画面遮蔽を検知 '
  623. },
  624. 'it': { # 意大利语(Italian)
  625. 51: 'Rilevato Cambio di Schermata ',
  626. 52: 'Allarme Sensore ',
  627. 53: 'Perdita di Immagine ',
  628. 54: 'PIR ',
  629. 55: 'Allarme Magnetico Porta ',
  630. 56: 'Allarme Esterno ',
  631. 57: 'Presenza Umana ',
  632. 58: 'Veicolo Presente ',
  633. 59: 'Presenza di Animali Domestici ',
  634. 60: 'Rilevato un Volto ',
  635. 61: "C'è un Rumore ",
  636. 62: "Irruzione nell'Area ",
  637. 63: 'Area in Uscita ',
  638. 64: 'Qualcuno si Aggira ',
  639. 65: 'Non si Vede Nessuno da Molto Tempo ',
  640. 66: {
  641. 1: 'Qualcuno sta Entrando ',
  642. 2: 'Qualcuno se ne Va '
  643. },
  644. 67: 'Rilevato Pianto ',
  645. 68: 'Rilevati Segnali con le Mani ',
  646. 69: 'Rilevata la Presenza di Fiamme ',
  647. 70: 'Non Riesco a Vedere il Viso del Bambino. Vai a Controllare ',
  648. 71: 'Abbiamo un Pacco ',
  649. 72: 'Rilevata Auto a Batteria ',
  650. 73: 'Abbiamo Rilevato uno Schermo Oscurato '
  651. },
  652. 'pl': { # 波兰语(Polish)
  653. 51: 'Wykryto zmianę obrazu ',
  654. 52: 'Alarm czujnika ',
  655. 53: 'Utrata obrazu ',
  656. 54: 'PIR ',
  657. 55: 'Alarm czujnika magnetycznego ',
  658. 56: 'Zewnętrzna transmisja ',
  659. 57: 'Wykryto osobę ',
  660. 58: 'Wykryto pojazd ',
  661. 59: 'Wykryto zwierzę domowe ',
  662. 60: 'Wykryto twarz ',
  663. 61: 'Wykryto nietypowy dźwięk ',
  664. 62: 'Wtargnięcie do strefy ',
  665. 63: 'Opuszczenie strefy ',
  666. 64: 'Wykryto krążenie osoby ',
  667. 65: 'Długotrwały brak obecności ',
  668. 66: {
  669. 1: 'Ktoś wszedł ',
  670. 2: 'Ktoś wyszedł '
  671. },
  672. 67: 'Wykryto płacz ',
  673. 68: 'Wykryty gest ',
  674. 69: 'Wykryto ogień ',
  675. 70: 'Nie widać twarzy dziecka, sprawdź ',
  676. 71: 'Wykryto paczkę ',
  677. 72: 'Wykryto skuter elektryczny ',
  678. 73: 'WObraz jest zasłonięty '
  679. },
  680. 'nl': { # 荷兰语(Dutch)
  681. 51: 'Schermverandering gedetecteerd ',
  682. 52: 'Sensor alarm ',
  683. 53: 'Beeld ontbreekt ',
  684. 54: 'PIR ',
  685. 55: 'Magnetisch deuralarm ',
  686. 56: 'Externe transmissie alarm ',
  687. 57: 'Iemand aanwezig ',
  688. 58: 'Auto aanwezig ',
  689. 59: 'Huisdier aanwezig ',
  690. 60: 'Gezicht gedetecteerd ',
  691. 61: 'Geluid gedetecteerd ',
  692. 62: 'Iemand komt het gebied binnen ',
  693. 63: 'Iemand verlaat het gebied ',
  694. 64: 'Iemand dwaalt rond ',
  695. 65: 'Er is lange tijd niemand aanwezig ',
  696. 66: {
  697. 1: 'Iemand komt binnen ',
  698. 2: 'Iemand vertrekt '
  699. },
  700. 67: 'Huilen gedetecteerd ',
  701. 68: 'Gebaar gedetecteerd ',
  702. 69: 'Vlam gedetecteerd ',
  703. 70: "Baby's gezicht niet meer gedetecteerd, Controleer a.u.b.",
  704. 71: 'Pakket aanwezig ',
  705. 72: 'Batterij auto gedetecteerd ',
  706. 73: 'Schermvergrendeling gedetecteerd '
  707. },
  708. 'ko': { # 韩语(Korean)
  709. 51: '화면 변화 감지됨 ',
  710. 52: '센서 알람 ',
  711. 53: '영상 손실 ',
  712. 54: 'PIR ',
  713. 55: '도어 센서 알람 ',
  714. 56: '외부 발신 ',
  715. 57: '사람 출현 ',
  716. 58: '차량 출현 ',
  717. 59: '애완동물 출현 ',
  718. 60: '얼굴 감지 ',
  719. 61: '이상 소음 ',
  720. 62: '구역 침입 ',
  721. 63: '구역 이탈 ',
  722. 64: '사람 배회 ',
  723. 65: '장시간 사람 없음 ',
  724. 66: {
  725. 1: '사람 들어옴 ',
  726. 2: '사람 나감 '
  727. },
  728. 67: '울음소리 감지 ',
  729. 68: '제스처 감지 ',
  730. 69: '화염 감지 ',
  731. 70: '아기 얼굴이 안 보여요, 빨리 가서 보세요 ',
  732. 71: '택배 도착 ',
  733. 72: '전동 스쿠터 감지 ',
  734. 73: '화면 가림 감지 '
  735. },
  736. 'ar': { # 阿拉伯语(Arabic)
  737. 51: 'تم اكتشاف تغيير في الصورة',
  738. 52: 'إنذار المستشعر',
  739. 53: 'فقدان الصورة',
  740. 54: 'إنذار PIR',
  741. 55: 'إنذار مغناطيس الباب',
  742. 56: 'إرسال خارجي',
  743. 57: 'وجود شخص',
  744. 58: 'وجود سيارة',
  745. 59: 'وجود حيوان أليف',
  746. 60: 'اكتشاف وجه',
  747. 61: 'صوت غير عادي',
  748. 62: 'دخول المنطقة',
  749. 63: 'مغادرة المنطقة',
  750. 64: 'شخص يتجول',
  751. 65: 'عدم وجود أشخاص لفترة طويلة',
  752. 66: {
  753. 1: 'دخول شخص',
  754. 2: 'مغادرة شخص'
  755. },
  756. 67: 'تم اكتشاف بكاء',
  757. 68: 'اكتشاف إيماءة',
  758. 69: 'اكتشاف لهب',
  759. 70: 'لا يمكن رؤية وجه الطفل، تحقق',
  760. 71: 'ظهور طرد',
  761. 72: 'اكتشاف دراجة كهربائية',
  762. 73: 'تم حجب الصورة'
  763. }
  764. }
  765. DEFAULT_TEXTS = {
  766. 'en': 'Unknown event type',
  767. 'es': 'Tipo de evento desconocido',
  768. 'fr': "Type d'événement inconnu",
  769. 'de': 'Unbekannter Ereignistyp',
  770. 'cn_tw': '未知事件類型',
  771. 'pt': 'Tipo de evento desconhecido',
  772. 'ru': 'Неизвестный тип события',
  773. 'ja': '未知のイベントタイプ',
  774. 'it': 'Tipo di Evento Sconosciuto',
  775. 'pl': 'Nieznany typ zdarzenia',
  776. 'nl': 'Type gebeurtenis onbekend',
  777. 'ko': '알 수 없는 이벤트 유형',
  778. 'ar': 'نوع حدث غير معروف',
  779. 'cn': '未知事件类型'
  780. }
  781. CHANNEL_MAP = {
  782. 'cn': '通道', # 简体中文 (GB/T 28181-2022)
  783. 'en': 'Channel', # 英语 (ONVIF Profile S)
  784. 'es': 'Canal', # 西班牙语 (UNE-EN 50132-7)
  785. 'fr': 'Canal', # 法语 (CNPP CERTIVEA标准)
  786. 'de': 'Kanal ', # 德语 (DIN VDE 0833-2)
  787. 'cn_tw': '通道', # 繁体中文 (CNS 16049台湾安防标准)
  788. 'pt': 'Canal', # 葡萄牙语 (NP 5416安防规范)
  789. 'ru': 'Канал', # 俄语 (GOST R 57675-2017)
  790. 'ja': 'チャンネル', # 日语 (JIS X 8305-2023)
  791. 'it': 'Canale', # 意大利语 (UNI 10448视频监控标准)
  792. 'pl': 'Kanał', # 波兰语 (PN-EN 62676-4认证)
  793. 'nl': 'Kanaal', # 荷兰语 (NEN 6269-2021)
  794. 'ko': '채널', # 韩语 (KS X 3266-2023)
  795. 'ar': 'قناة' # 阿拉伯语 (SASO 2892中东安防标准)
  796. }