diff --git a/web/public/locales/km/common.json b/web/public/locales/km/common.json
index 0967ef424b..1ae4da9d25 100644
--- a/web/public/locales/km/common.json
+++ b/web/public/locales/km/common.json
@@ -1 +1,6 @@
-{}
+{
+ "menu": {
+ "system": "ប្រព័ន្ធ",
+ "profiles": "ទម្រង់"
+ }
+}
diff --git a/web/public/locales/km/components/auth.json b/web/public/locales/km/components/auth.json
index 0967ef424b..d4d92e3efb 100644
--- a/web/public/locales/km/components/auth.json
+++ b/web/public/locales/km/components/auth.json
@@ -1 +1,16 @@
-{}
+{
+ "form": {
+ "user": "ឈ្មោះ Username",
+ "password": "ពាក្យសម្ងាត់",
+ "login": "ចូល",
+ "firstTimeLogin": "ព្យាយាមចូលប្រើប្រាស់ជាលើកដំបូងមែនទេ? ព័ត៌មានសម្ងាត់ត្រូវបានបង្ហាញនៅក្នុង Frigate logs។",
+ "errors": {
+ "usernameRequired": "សូមបញ្ជូល Username",
+ "passwordRequired": "សូមបញ្ជូល ពាក្យសម្ងាត់",
+ "rateLimit": "ហួសដែនកំណត់សំណើហើយ។ សូមព្យាយាមម្តងទៀតនៅពេលក្រោយ។",
+ "loginFailed": "ចូលអាខោន បរាជ័យ",
+ "unknownError": "កំហុសមិនស្គាល់ប្រភព។ សូមពិនិត្យមើល logs។",
+ "webUnknownError": "កំហុសមិនស្គាល់ប្រភព។ សូមពិនិត្យមើល console logs។"
+ }
+ }
+}
diff --git a/web/public/locales/km/components/filter.json b/web/public/locales/km/components/filter.json
index 0967ef424b..c5c5fa996b 100644
--- a/web/public/locales/km/components/filter.json
+++ b/web/public/locales/km/components/filter.json
@@ -1 +1,3 @@
-{}
+{
+ "filter": "តម្រង់"
+}
diff --git a/web/public/locales/km/components/icons.json b/web/public/locales/km/components/icons.json
index 0967ef424b..ca35337cbf 100644
--- a/web/public/locales/km/components/icons.json
+++ b/web/public/locales/km/components/icons.json
@@ -1 +1,8 @@
-{}
+{
+ "iconPicker": {
+ "selectIcon": "ជ្រើសរើស រូបតំណាង",
+ "search": {
+ "placeholder": "ស្វែងរក រូបតំណាង…"
+ }
+ }
+}
diff --git a/web/public/locales/km/components/input.json b/web/public/locales/km/components/input.json
index 0967ef424b..42ab22583e 100644
--- a/web/public/locales/km/components/input.json
+++ b/web/public/locales/km/components/input.json
@@ -1 +1,10 @@
-{}
+{
+ "button": {
+ "downloadVideo": {
+ "label": "ទាញយក វីដេអូ",
+ "toast": {
+ "success": "វីដេអូសម្រាប់ពិនិត្យឡើងវិញរបស់អ្នក បានចាប់ផ្តើមទាញយកហើយ។"
+ }
+ }
+ }
+}
diff --git a/web/public/locales/km/views/recording.json b/web/public/locales/km/views/recording.json
index 0967ef424b..48b94ae5a3 100644
--- a/web/public/locales/km/views/recording.json
+++ b/web/public/locales/km/views/recording.json
@@ -1 +1,12 @@
-{}
+{
+ "export": "នាំចេញ",
+ "calendar": "ប្រតិទិន",
+ "filter": "តម្រង់",
+ "filters": "តម្រង",
+ "toast": {
+ "error": {
+ "noValidTimeSelected": "មិនបានជ្រើសរើសចន្លោះពេលត្រឹមត្រូវទេ",
+ "endTimeMustAfterStartTime": "ពេលវេលាបញ្ចប់ ត្រូវតែនៅក្រោយពេលវេលាចាប់ផ្តើម"
+ }
+ }
+}
diff --git a/web/public/locales/km/views/settings.json b/web/public/locales/km/views/settings.json
index 0967ef424b..6b89306123 100644
--- a/web/public/locales/km/views/settings.json
+++ b/web/public/locales/km/views/settings.json
@@ -1 +1,1921 @@
-{}
+{
+ "documentTitle": {
+ "default": "ការកំណត់ - Frigate",
+ "authentication": "ការកំណត់ការផ្ទៀងផ្ទាត់អត្តសញ្ញាណ - Frigate",
+ "cameraManagement": "គ្រប់គ្រងកាមេរ៉ា - Frigate",
+ "cameraReview": "ការកំណត់ការពិនិត្យកាមេរ៉ា - Frigate",
+ "enrichments": "ការកំណត់ការបន្ថែមព័ត៌មាន - Frigate",
+ "masksAndZones": "កម្មវិធីកែសម្រួលរបាំង និងតំបន់ - Frigate",
+ "motionTuner": "ការកែតម្រូវចលនា - Frigate",
+ "object": "បំបាត់កំហុស - Frigate",
+ "general": "ការកំណត់ចំណុចប្រទាក់ - Frigate",
+ "globalConfig": "ការកំណត់រចនាសម្ព័ន្ធសកល - Frigate",
+ "cameraConfig": "ការកំណត់រចនាសម្ព័ន្ធកាមេរ៉ា - Frigate",
+ "frigatePlus": "ការកំណត់ Frigate+ - Frigate",
+ "detectorsAndModel": "ឧបករណ៍ចាប់សញ្ញា និងម៉ូដែល - Frigate",
+ "notifications": "ការកំណត់ការជូនដំណឹង - Frigate",
+ "maintenance": "ការថែទាំ - Frigate",
+ "profiles": "ទម្រង់ - Frigate"
+ },
+ "button": {
+ "overriddenGlobal": "បានបដិសេធ (សកល)",
+ "overriddenGlobalTooltip": "កាមេរ៉ានេះបានបដិសេធការកំណត់រចនាសម្ព័ន្ធសកលនៅក្នុងផ្នែកនេះ",
+ "overriddenGlobalHeading_other": "កាមេរ៉ានេះបានបដិសេធ {{count}} វាលពីការកំណត់រចនាសម្ព័ន្ធសកល៖",
+ "overriddenGlobalNoDeltas": "កាមេរ៉ានេះបានបដិសេធការកំណត់រចនាសម្ព័ន្ធសកល ប៉ុន្តែគ្មានតម្លៃវាលណាខុសគ្នាទេ។",
+ "overriddenBaseConfig": "បានបដិសេធ (ការកំណត់រចនាសម្ព័ន្ធមូលដ្ឋាន)",
+ "overriddenBaseConfigTooltip": "ទម្រង់ {{profile}} បានបដិសេធការកំណត់រចនាសម្ព័ន្ធនៅក្នុងផ្នែកនេះ",
+ "overriddenBaseConfigHeading_other": "ទម្រង់ {{profile}} បានបដិសេធ {{count}} វាលពីការកំណត់រចនាសម្ព័ន្ធមូលដ្ឋាន៖",
+ "overriddenBaseConfigNoDeltas": "ទម្រង់ {{profile}} បានបដិសេធផ្នែកនេះ ប៉ុន្តែគ្មានតម្លៃវាលណាខុសពីការកំណត់រចនាសម្ព័ន្ធមូលដ្ឋានទេ។",
+ "overriddenInCameras": {
+ "label_other": "បានបដិសេធនៅក្នុង {{count}} កាមេរ៉ា",
+ "tooltip_other": "{{count}} កាមេរ៉ាបានបដិសេធតម្លៃនៅក្នុងផ្នែកនេះ។ ចុចដើម្បីមើលព័ត៌មានលម្អិត។",
+ "heading_other": "ផ្នែកសកលនេះមានវាលដែលត្រូវបានបដិសេធនៅក្នុង {{count}} កាមេរ៉ា។",
+ "othersField_other": "{{count}} ផ្សេងទៀត",
+ "profilePrefix": "ទម្រង់ {{profile}}៖ {{fields}}"
+ }
+ },
+ "menuDot": {
+ "overrideGlobal": "ផ្នែកនេះបានបដិសេធការកំណត់រចនាសម្ព័ន្ធសកល",
+ "overrideProfile": "ផ្នែកនេះត្រូវបានបដិសេធដោយទម្រង់ {{profile}}",
+ "unsaved": "ផ្នែកនេះមានការផ្លាស់ប្តូរដែលមិនទាន់បានរក្សាទុក"
+ },
+ "menu": {
+ "general": "ទូទៅ",
+ "globalConfig": "ការកំណត់រចនាសម្ព័ន្ធសកល",
+ "system": "ប្រព័ន្ធ",
+ "integrations": "ការរួមបញ្ចូល",
+ "cameras": "ការកំណត់រចនាសម្ព័ន្ធកាមេរ៉ា",
+ "ui": "ចំណុចប្រទាក់",
+ "uiSettings": "ការកំណត់ចំណុចប្រទាក់",
+ "profiles": "ទម្រង់",
+ "globalDetect": "ការចាប់សញ្ញាវត្ថុ",
+ "globalRecording": "ការថត",
+ "globalSnapshots": "រូបថត",
+ "globalFfmpeg": "FFmpeg",
+ "globalMotion": "ការចាប់សញ្ញាចលនា",
+ "globalObjects": "វត្ថុ",
+ "globalReview": "ពិនិត្យ",
+ "globalAudioEvents": "ការចាប់សញ្ញាសំឡេង",
+ "globalLivePlayback": "ការចាក់ផ្សាយបន្តផ្ទាល់",
+ "globalTimestampStyle": "រចនាប័ទ្មត្រាពេលវេលា",
+ "systemDatabase": "មូលដ្ឋានទិន្នន័យ",
+ "systemTls": "TLS",
+ "systemAuthentication": "ការផ្ទៀងផ្ទាត់អត្តសញ្ញាណ",
+ "systemNetworking": "បណ្តាញ",
+ "systemProxy": "ប្រូកស៊ី",
+ "systemUi": "ចំណុចប្រទាក់",
+ "systemLogging": "ការកត់ត្រា",
+ "systemEnvironmentVariables": "អថេរបរិស្ថាន",
+ "systemTelemetry": "តេឡេម៉ែត្រ",
+ "systemBirdseye": "Birdseye",
+ "systemFfmpeg": "FFmpeg",
+ "systemDetectorsAndModel": "ឧបករណ៍ចាប់សញ្ញា និងម៉ូដែល",
+ "systemMqtt": "MQTT",
+ "systemGo2rtcStreams": "ស្ទ្រីម go2rtc",
+ "integrationSemanticSearch": "ការស្វែងរកតាមអត្ថន័យ",
+ "integrationGenerativeAi": "AI បង្កើត",
+ "integrationFaceRecognition": "ការសម្គាល់មុខ",
+ "integrationLpr": "ការសម្គាល់ផ្លាកលេខ",
+ "integrationObjectClassification": "ការចំណាត់ថ្នាក់វត្ថុ",
+ "integrationAudioTranscription": "ការបកស្រាយសំឡេង",
+ "cameraDetect": "ការចាប់សញ្ញាវត្ថុ",
+ "cameraFfmpeg": "ស្ទ្រីម (FFmpeg)",
+ "cameraRecording": "ការថត",
+ "cameraSnapshots": "រូបថត",
+ "cameraMotion": "ការចាប់សញ្ញាចលនា",
+ "cameraObjects": "វត្ថុ",
+ "cameraConfigReview": "ពិនិត្យ",
+ "cameraAudioEvents": "ការចាប់សញ្ញាសំឡេង",
+ "cameraAudioTranscription": "ការបកស្រាយសំឡេង",
+ "cameraNotifications": "ការជូនដំណឹង",
+ "cameraLivePlayback": "ការចាក់ផ្សាយបន្តផ្ទាល់",
+ "cameraBirdseye": "Birdseye",
+ "cameraFaceRecognition": "ការសម្គាល់មុខ",
+ "cameraLpr": "ការសម្គាល់ផ្លាកលេខ",
+ "cameraMqttConfig": "MQTT",
+ "cameraOnvif": "ONVIF",
+ "cameraUi": "ចំណុចប្រទាក់កាមេរ៉ា",
+ "cameraTimestampStyle": "រចនាប័ទ្មត្រាពេលវេលា",
+ "cameraMqtt": "MQTT កាមេរ៉ា",
+ "cameraManagement": "ការគ្រប់គ្រងកាមេរ៉ា",
+ "cameraReview": "ពិនិត្យ",
+ "masksAndZones": "របាំង / តំបន់",
+ "motionTuner": "ការកែតម្រូវចលនា",
+ "enrichments": "ការបន្ថែមព័ត៌មាន",
+ "users": "អ្នកប្រើប្រាស់",
+ "roles": "តួនាទី",
+ "notifications": "ការជូនដំណឹង",
+ "triggers": "កេះ",
+ "debug": "បំបាត់កំហុស",
+ "frigateplus": "Frigate+",
+ "maintenance": "ការថែទាំ",
+ "mediaSync": "ការធ្វើសមកាលកម្មមេឌៀ",
+ "regionGrid": "ក្រឡាតំបន់"
+ },
+ "dialog": {
+ "unsavedChanges": {
+ "title": "អ្នកមានការផ្លាស់ប្តូរដែលមិនទាន់បានរក្សាទុក។",
+ "desc": "តើអ្នកចង់រក្សាទុកការផ្លាស់ប្តូររបស់អ្នកមុននឹងបន្តដែរឬទេ?"
+ }
+ },
+ "saveAllPreview": {
+ "title": "ការផ្លាស់ប្តូរដែលត្រូវរក្សាទុក",
+ "triggerLabel": "ពិនិត្យការផ្លាស់ប្តូរដែលកំពុងរង់ចាំ",
+ "empty": "គ្មានការផ្លាស់ប្តូរដែលកំពុងរង់ចាំទេ។",
+ "scope": {
+ "label": "វិសាលភាព",
+ "global": "សកល",
+ "camera": "កាមេរ៉ា៖ {{cameraName}}"
+ },
+ "profile": {
+ "label": "ទម្រង់"
+ },
+ "field": {
+ "label": "វាល"
+ },
+ "value": {
+ "label": "តម្លៃថ្មី",
+ "reset": "កំណត់ឡើងវិញ"
+ }
+ },
+ "cameraSetting": {
+ "camera": "កាមេរ៉ា",
+ "noCamera": "គ្មានកាមេរ៉ា"
+ },
+ "general": {
+ "title": "ការកំណត់ចំណុចប្រទាក់",
+ "liveDashboard": {
+ "title": "ផ្ទាំងគ្រប់គ្រងបន្តផ្ទាល់",
+ "automaticLiveView": {
+ "label": "ការមើលបន្តផ្ទាល់ដោយស្វ័យប្រវត្តិ",
+ "desc": "ប្តូរទៅការមើលបន្តផ្ទាល់របស់កាមេរ៉ាដោយស្វ័យប្រវត្តិនៅពេលមានសកម្មភាពត្រូវបានចាប់សញ្ញា។ ការបិទជម្រើសនេះនឹងធ្វើឱ្យរូបភាពកាមេរ៉ានៅលើផ្ទាំងគ្រប់គ្រងបន្តផ្ទាល់ធ្វើបច្ចុប្បន្នភាពតែម្តងក្នុងមួយនាទីប៉ុណ្ណោះ។"
+ },
+ "playAlertVideos": {
+ "label": "ចាក់វីដេអូជូនដំណឹង",
+ "desc": "ជាលំនាំដើម ការជូនដំណឹងថ្មីៗនៅលើផ្ទាំងគ្រប់គ្រងបន្តផ្ទាល់នឹងចាក់ជាវីដេអូខ្លីៗ។ បិទជម្រើសនេះដើម្បីបង្ហាញតែរូបភាពនៃការជូនដំណឹងថ្មីៗនៅលើឧបករណ៍/កម្មវិធីរុករកនេះប៉ុណ្ណោះ។"
+ },
+ "displayCameraNames": {
+ "label": "បង្ហាញឈ្មោះកាមេរ៉ាជានិច្ច",
+ "desc": "បង្ហាញឈ្មោះកាមេរ៉ាជានិច្ចនៅក្នុងបន្ទះស្លាកនៅលើផ្ទាំងគ្រប់គ្រងការមើលបន្តផ្ទាល់កាមេរ៉ាច្រើន។"
+ },
+ "liveFallbackTimeout": {
+ "label": "ម៉ោងកំណត់ការបម្រុងទុកកម្មវិធីចាក់បន្តផ្ទាល់",
+ "desc": "នៅពេលដែលស្ទ្រីមបន្តផ្ទាល់គុណភាពខ្ពស់របស់កាមេរ៉ាមិនអាចប្រើបាន សូមប្តូរទៅរបៀបប្រើប្រាស់បណ្តាញទាបបន្ទាប់ពីចំនួនវិនាទីនេះ។ លំនាំដើម៖ 3។"
+ }
+ },
+ "storedLayouts": {
+ "title": "ប្លង់ដែលបានរក្សាទុក",
+ "desc": "ប្លង់កាមេរ៉ានៅក្នុងក្រុមកាមេរ៉ាអាចត្រូវបានអូស ឬប្តូរទំហំ។ ទីតាំងត្រូវបានរក្សាទុកនៅក្នុងឃ្លាំងទិន្នន័យក្នុងតំបន់របស់កម្មវិធីរុករករបស់អ្នក។",
+ "clearAll": "សម្អាតប្លង់ទាំងអស់"
+ },
+ "cameraGroupStreaming": {
+ "title": "ការកំណត់ការចាក់ស្ទ្រីមក្រុមកាមេរ៉ា",
+ "desc": "ការកំណត់ការចាក់ស្ទ្រីមសម្រាប់ក្រុមកាមេរ៉ានីមួយៗត្រូវបានរក្សាទុកនៅក្នុងឃ្លាំងទិន្នន័យក្នុងតំបន់របស់កម្មវិធីរុករករបស់អ្នក។",
+ "clearAll": "សម្អាតការកំណត់ការចាក់ស្ទ្រីមទាំងអស់"
+ },
+ "recordingsViewer": {
+ "title": "កម្មវិធីមើលការថត",
+ "defaultPlaybackRate": {
+ "label": "ល្បឿនចាក់លំនាំដើម",
+ "desc": "ល្បឿនចាក់លំនាំដើមសម្រាប់ការចាក់ការថត។"
+ }
+ },
+ "calendar": {
+ "title": "ប្រតិទិន",
+ "firstWeekday": {
+ "label": "ថ្ងៃដំបូងនៃសប្តាហ៍",
+ "desc": "ថ្ងៃដែលសប្តាហ៍នៃប្រតិទិនពិនិត្យចាប់ផ្តើម។",
+ "sunday": "ថ្ងៃអាទិត្យ",
+ "monday": "ថ្ងៃចន្ទ"
+ }
+ },
+ "toast": {
+ "success": {
+ "clearStoredLayout": "បានសម្អាតប្លង់ដែលបានរក្សាទុកសម្រាប់ {{cameraName}}",
+ "clearStreamingSettings": "បានសម្អាតការកំណត់ការចាក់ស្ទ្រីមសម្រាប់ក្រុមកាមេរ៉ាទាំងអស់។"
+ },
+ "error": {
+ "clearStoredLayoutFailed": "បរាជ័យក្នុងការសម្អាតប្លង់ដែលបានរក្សាទុក៖ {{errorMessage}}",
+ "clearStreamingSettingsFailed": "បរាជ័យក្នុងការសម្អាតការកំណត់ការចាក់ស្ទ្រីម៖ {{errorMessage}}"
+ }
+ }
+ },
+ "enrichments": {
+ "title": "ការកំណត់ការបន្ថែមព័ត៌មាន",
+ "unsavedChanges": "ការផ្លាស់ប្តូរការកំណត់ការបន្ថែមព័ត៌មានដែលមិនទាន់បានរក្សាទុក",
+ "birdClassification": {
+ "title": "ការចំណាត់ថ្នាក់បក្សី",
+ "desc": "ការចំណាត់ថ្នាក់បក្សីសម្គាល់បក្សីដែលស្គាល់ដោយប្រើម៉ូដែល Tensorflow ដែលបានកាត់បន្ថយ។ នៅពេលដែលបក្សីដែលស្គាល់ត្រូវបានសម្គាល់ ឈ្មោះទូទៅរបស់វានឹងត្រូវបានបន្ថែមជា sub_label។ ព័ត៌មាននេះត្រូវបានរួមបញ្ចូលនៅក្នុងចំណុចប្រទាក់ តម្រង និងការជូនដំណឹង។"
+ },
+ "semanticSearch": {
+ "title": "ការស្វែងរកតាមអត្ថន័យ",
+ "desc": "ការស្វែងរកតាមអត្ថន័យនៅក្នុង Frigate អនុញ្ញាតឱ្យអ្នកស្វែងរកវត្ថុដែលបានតាមដាននៅក្នុងធាតុពិនិត្យរបស់អ្នក ដោយប្រើរូបភាពខ្លួនឯង ការពិពណ៌នាអត្ថបទដែលកំណត់ដោយអ្នកប្រើប្រាស់ ឬការពិពណ៌នាដែលបានបង្កើតដោយស្វ័យប្រវត្តិ។",
+ "reindexNow": {
+ "label": "ធ្វើសន្ទស្សន៍ឡើងវិញឥឡូវនេះ",
+ "desc": "ការធ្វើសន្ទស្សន៍ឡើងវិញនឹងបង្កើត embeddings ឡើងវិញសម្រាប់វត្ថុដែលបានតាមដានទាំងអស់។ ដំណើរការនេះដំណើរការនៅផ្ទៃខាងក្រោយ ហើយអាចប្រើប្រាស់ CPU របស់អ្នកពេញកម្រិត និងចំណាយពេលយូរអាស្រ័យលើចំនួនវត្ថុដែលបានតាមដានដែលអ្នកមាន។",
+ "confirmTitle": "បញ្ជាក់ការធ្វើសន្ទស្សន៍ឡើងវិញ",
+ "confirmDesc": "តើអ្នកប្រាកដជាចង់ធ្វើសន្ទស្សន៍ឡើងវិញនូវ embeddings វត្ថុដែលបានតាមដានទាំងអស់មែនឬទេ? ដំណើរការនេះនឹងដំណើរការនៅផ្ទៃខាងក្រោយ ប៉ុន្តែវាអាចប្រើប្រាស់ CPU របស់អ្នកពេញកម្រិត និងចំណាយពេលយូរ។ អ្នកអាចមើលវឌ្ឍនភាពនៅលើទំព័រ Explore។",
+ "confirmButton": "ធ្វើសន្ទស្សន៍ឡើងវិញ",
+ "success": "ការធ្វើសន្ទស្សន៍ឡើងវិញបានចាប់ផ្តើមដោយជោគជ័យ។",
+ "alreadyInProgress": "ការធ្វើសន្ទស្សន៍ឡើងវិញកំពុងដំណើរការរួចហើយ។",
+ "error": "បរាជ័យក្នុងការចាប់ផ្តើមធ្វើសន្ទស្សន៍ឡើងវិញ៖ {{errorMessage}}"
+ },
+ "modelSize": {
+ "label": "ទំហំម៉ូដែល",
+ "desc": "ទំហំនៃម៉ូដែលដែលប្រើសម្រាប់ embeddings ការស្វែងរកតាមអត្ថន័យ។",
+ "small": {
+ "title": "តូច",
+ "desc": "ការប្រើប្រាស់ តូច ប្រើកំណែម៉ូដែលដែលបានកាត់បន្ថយ ដែលប្រើ RAM តិចជាង និងដំណើរការលឿនជាងនៅលើ CPU ដោយមានភាពខុសគ្នាតិចតួចបំផុតនៅក្នុងគុណភាព embedding។"
+ },
+ "large": {
+ "title": "ធំ",
+ "desc": "ការប្រើប្រាស់ large ប្រើម៉ូដែល Jina ពេញលេញ ហើយនឹងដំណើរការដោយស្វ័យប្រវត្តិនៅលើ GPU ប្រសិនបើអាច។"
+ }
+ }
+ },
+ "faceRecognition": {
+ "title": "ការសម្គាល់មុខ",
+ "desc": "ការសម្គាល់មុខអនុញ្ញាតឱ្យមនុស្សត្រូវបានកំណត់ឈ្មោះ ហើយនៅពេលដែលមុខរបស់ពួកគេត្រូវបានសម្គាល់ Frigate នឹងកំណត់ឈ្មោះរបស់បុគ្គលនោះជាស្លាករង។ ព័ត៌មាននេះត្រូវបានរួមបញ្ចូលនៅក្នុងចំណុចប្រទាក់ តម្រង និងការជូនដំណឹង។",
+ "modelSize": {
+ "label": "ទំហំម៉ូដែល",
+ "desc": "ទំហំនៃម៉ូដែលដែលប្រើសម្រាប់ការសម្គាល់មុខ។",
+ "small": {
+ "title": "តូច",
+ "desc": "ការប្រើប្រាស់ តូច ប្រើម៉ូដែល face embedding FaceNet ដែលដំណើរការប្រកបដោយប្រសិទ្ធភាពនៅលើ CPU ភាគច្រើន។"
+ },
+ "large": {
+ "title": "ធំ",
+ "desc": "ការប្រើប្រាស់ large ប្រើម៉ូដែល face embedding ArcFace ហើយនឹងដំណើរការដោយស្វ័យប្រវត្តិនៅលើ GPU ប្រសិនបើអាច។"
+ }
+ }
+ },
+ "licensePlateRecognition": {
+ "title": "ការសម្គាល់ផ្លាកលេខ",
+ "desc": "Frigate អាចសម្គាល់ផ្លាកលេខនៅលើយានយន្ត ហើយបន្ថែមតួអក្សរដែលបានចាប់សញ្ញាដោយស្វ័យប្រវត្តិទៅក្នុងវាល recognized_license_plate ឬឈ្មោះដែលស្គាល់ជា sub_label ទៅវត្ថុដែលជាប្រភេទរថយន្ត។ ករណីប្រើប្រាស់ទូទៅអាចជាការអានផ្លាកលេខរថយន្តដែលចូលមកផ្ទះ ឬរថយន្តដែលបើកកាត់តាមផ្លូវ។"
+ },
+ "restart_required": "តម្រូវឱ្យចាប់ផ្តើមឡើងវិញ (ការកំណត់ការបន្ថែមព័ត៌មានបានផ្លាស់ប្តូរ)",
+ "toast": {
+ "success": "ការកំណត់ការបន្ថែមព័ត៌មានត្រូវបានរក្សាទុក។ សូមចាប់ផ្តើម Frigate ឡើងវិញដើម្បីអនុវត្តការផ្លាស់ប្តូររបស់អ្នក។",
+ "error": "បរាជ័យក្នុងការរក្សាទុកការផ្លាស់ប្តូរការកំណត់រចនាសម្ព័ន្ធ៖ {{errorMessage}}"
+ }
+ },
+ "cameraWizard": {
+ "title": "បន្ថែមកាមេរ៉ា",
+ "description": "អនុវត្តតាមជំហានខាងក្រោមដើម្បីបន្ថែមកាមេរ៉ាថ្មីទៅក្នុងការដំឡើង Frigate របស់អ្នក។",
+ "steps": {
+ "nameAndConnection": "ឈ្មោះ និងការតភ្ជាប់",
+ "probeOrSnapshot": "ស្វែងរក ឬរូបថត",
+ "streamConfiguration": "ការកំណត់រចនាសម្ព័ន្ធស្ទ្រីម",
+ "validationAndTesting": "ការផ្ទៀងផ្ទាត់ និងការសាកល្បង"
+ },
+ "save": {
+ "success": "បានរក្សាទុកកាមេរ៉ាថ្មី {{cameraName}} ដោយជោគជ័យ។",
+ "failure": "កំហុសក្នុងការរក្សាទុក {{cameraName}}។"
+ },
+ "testResultLabels": {
+ "resolution": "កម្រិតបង្ហាញ",
+ "video": "វីដេអូ",
+ "audio": "សំឡេង",
+ "fps": "FPS"
+ },
+ "commonErrors": {
+ "noUrl": "សូមផ្តល់ URL ស្ទ្រីមដែលត្រឹមត្រូវ",
+ "testFailed": "ការសាកល្បងស្ទ្រីមបានបរាជ័យ៖ {{error}}"
+ },
+ "step1": {
+ "description": "បញ្ចូលព័ត៌មានលម្អិតកាមេរ៉ារបស់អ្នក ហើយជ្រើសរើសស្វែងរកកាមេរ៉ា ឬជ្រើសរើសម៉ាកដោយដៃ។",
+ "cameraName": "ឈ្មោះកាមេរ៉ា",
+ "cameraNamePlaceholder": "ឧ. front_door ឬ Back Yard Overview",
+ "host": "Host/IP Address",
+ "port": "Port",
+ "username": "ឈ្មោះអ្នកប្រើប្រាស់",
+ "usernamePlaceholder": "ជាជម្រើស",
+ "password": "ពាក្យសម្ងាត់",
+ "passwordPlaceholder": "ជាជម្រើស",
+ "selectTransport": "ជ្រើសរើសពិធីការដឹកជញ្ជូន",
+ "cameraBrand": "ម៉ាកកាមេរ៉ា",
+ "selectBrand": "ជ្រើសរើសម៉ាកកាមេរ៉ាសម្រាប់គំរូ URL",
+ "customUrl": "URL ស្ទ្រីមផ្ទាល់ខ្លួន",
+ "brandInformation": "ព័ត៌មានម៉ាក",
+ "brandUrlFormat": "សម្រាប់កាមេរ៉ាដែលមានទម្រង់ URL RTSP ដូចជា៖ {{exampleUrl}}",
+ "customUrlPlaceholder": "rtsp://username:password@host:port/path",
+ "connectionSettings": "ការកំណត់ការតភ្ជាប់",
+ "detectionMethod": "វិធីសាស្ត្រចាប់សញ្ញាស្ទ្រីម",
+ "onvifPort": "ONVIF Port",
+ "probeMode": "ស្វែងរកកាមេរ៉ា",
+ "manualMode": "ការជ្រើសរើសដោយដៃ",
+ "detectionMethodDescription": "ស្វែងរកកាមេរ៉ាជាមួយ ONVIF (ប្រសិនបើគាំទ្រ) ដើម្បីស្វែងរក URL ស្ទ្រីមកាមេរ៉ា ឬជ្រើសរើសម៉ាកកាមេរ៉ាដោយដៃដើម្បីប្រើ URL ដែលបានកំណត់ជាមុន។ ដើម្បីបញ្ចូល URL RTSP ផ្ទាល់ខ្លួន សូមជ្រើសរើសវិធីសាស្ត្រដោយដៃ ហើយជ្រើសរើស \"Other\"។",
+ "onvifPortDescription": "សម្រាប់កាមេរ៉ាដែលគាំទ្រ ONVIF នេះជាធម្មតាគឺ 80 ឬ 8080។",
+ "useDigestAuth": "ប្រើការផ្ទៀងផ្ទាត់អត្តសញ្ញាណ digest",
+ "useDigestAuthDescription": "ប្រើការផ្ទៀងផ្ទាត់អត្តសញ្ញាណ HTTP digest សម្រាប់ ONVIF។ កាមេរ៉ាមួយចំនួនអាចតម្រូវឱ្យមានឈ្មោះអ្នកប្រើប្រាស់/ពាក្យសម្ងាត់ ONVIF ពិសេស ជំនួសឱ្យអ្នកគ្រប់គ្រងស្តង់ដារ។",
+ "errors": {
+ "brandOrCustomUrlRequired": "ជ្រើសរើសម៉ាកកាមេរ៉ាជាមួយ host/IP ឬជ្រើសរើស 'Other' ជាមួយ URL ផ្ទាល់ខ្លួន",
+ "nameRequired": "ឈ្មោះកាមេរ៉ាត្រូវបានទាមទារ",
+ "nameLength": "ឈ្មោះកាមេរ៉ាត្រូវតែមាន 64 តួអក្សរ ឬតិចជាង",
+ "invalidCharacters": "ឈ្មោះកាមេរ៉ាមានតួអក្សរមិនត្រឹមត្រូវ",
+ "nameExists": "ឈ្មោះកាមេរ៉ាមានរួចហើយ",
+ "customUrlRtspRequired": "URL ផ្ទាល់ខ្លួនត្រូវតែចាប់ផ្តើមដោយ \"rtsp://\" ឬ \"rtsps://\"។ ការកំណត់រចនាសម្ព័ន្ធដោយដៃត្រូវបានទាមទារសម្រាប់ស្ទ្រីមកាមេរ៉ាដែលមិនមែនជា RTSP។"
+ }
+ },
+ "step2": {
+ "description": "ស្វែងរកកាមេរ៉ាសម្រាប់ស្ទ្រីមដែលមាន ឬកំណត់រចនាសម្ព័ន្ធដោយដៃដោយផ្អែកលើវិធីសាស្ត្រចាប់សញ្ញាដែលអ្នកបានជ្រើសរើស។",
+ "testSuccess": "ការសាកល្បងការតភ្ជាប់បានជោគជ័យ!",
+ "testFailed": "ការសាកល្បងការតភ្ជាប់បានបរាជ័យ។ សូមពិនិត្យមើលការបញ្ចូលរបស់អ្នក ហើយព្យាយាមម្តងទៀត។",
+ "testFailedTitle": "ការសាកល្បងបានបរាជ័យ",
+ "streamDetails": "ព័ត៌មានលម្អិតស្ទ្រីម",
+ "probing": "កំពុងស្វែងរកកាមេរ៉ា...",
+ "retry": "ព្យាយាមម្តងទៀត",
+ "testing": {
+ "probingMetadata": "កំពុងស្វែងរកទិន្នន័យមេតាកាមេរ៉ា...",
+ "fetchingSnapshot": "កំពុងទាញយករូបថតកាមេរ៉ា..."
+ },
+ "probeFailed": "បរាជ័យក្នុងការស្វែងរកកាមេរ៉ា៖ {{error}}",
+ "probingDevice": "កំពុងស្វែងរកឧបករណ៍...",
+ "probeSuccessful": "ការស្វែងរកបានជោគជ័យ",
+ "probeError": "កំហុសការស្វែងរក",
+ "probeNoSuccess": "ការស្វែងរកមិនបានជោគជ័យ",
+ "deviceInfo": "ព័ត៌មានឧបករណ៍",
+ "manufacturer": "ក្រុមហ៊ុនផលិត",
+ "model": "ម៉ូដែល",
+ "firmware": "Firmware",
+ "profiles": "ទម្រង់",
+ "ptzSupport": "ការគាំទ្រ PTZ",
+ "autotrackingSupport": "ការគាំទ្រ Autotracking",
+ "presets": "ការកំណត់ជាមុន",
+ "rtspCandidates": "បេក្ខភាព RTSP",
+ "rtspCandidatesDescription": "URL RTSP ខាងក្រោមត្រូវបានរកឃើញពីការស្វែងរកកាមេរ៉ា។ សាកល្បងការតភ្ជាប់ដើម្បីមើលទិន្នន័យមេតាស្ទ្រីម។",
+ "noRtspCandidates": "គ្មាន URL RTSP ត្រូវបានរកឃើញពីកាមេរ៉ាទេ។ ព័ត៌មានសម្ងាត់របស់អ្នកអាចមិនត្រឹមត្រូវ ឬកាមេរ៉ាអាចមិនគាំទ្រ ONVIF ឬវិធីសាស្ត្រដែលប្រើដើម្បីទាញយក URL RTSP។ សូមត្រឡប់ក្រោយ ហើយបញ្ចូល URL RTSP ដោយដៃ។",
+ "candidateStreamTitle": "បេក្ខភាព {{number}}",
+ "useCandidate": "ប្រើ",
+ "uriCopy": "ចម្លង",
+ "uriCopied": "URI ត្រូវបានចម្លងទៅ clipboard",
+ "testConnection": "សាកល្បងការតភ្ជាប់",
+ "toggleUriView": "ចុចដើម្បីបិទ/បើកការមើល URI ពេញលេញ",
+ "connected": "បានតភ្ជាប់",
+ "notConnected": "មិនបានតភ្ជាប់",
+ "errors": {
+ "hostRequired": "Host/IP address ត្រូវបានទាមទារ"
+ }
+ },
+ "step3": {
+ "description": "កំណត់រចនាសម្ព័ន្ធតួនាទីស្ទ្រីម និងបន្ថែមស្ទ្រីមបន្ថែមសម្រាប់កាមេរ៉ារបស់អ្នក។",
+ "streamsTitle": "ស្ទ្រីមកាមេរ៉ា",
+ "addStream": "បន្ថែមស្ទ្រីម",
+ "addAnotherStream": "បន្ថែមស្ទ្រីមមួយទៀត",
+ "streamTitle": "ស្ទ្រីម {{number}}",
+ "streamUrl": "URL ស្ទ្រីម",
+ "streamUrlPlaceholder": "rtsp://username:password@host:port/path",
+ "selectStream": "ជ្រើសរើសស្ទ្រីម",
+ "searchCandidates": "ស្វែងរកបេក្ខភាព...",
+ "noStreamFound": "រកមិនឃើញស្ទ្រីម",
+ "url": "URL",
+ "resolution": "កម្រិតបង្ហាញ",
+ "selectResolution": "ជ្រើសរើសកម្រិតបង្ហាញ",
+ "quality": "គុណភាព",
+ "selectQuality": "ជ្រើសរើសគុណភាព",
+ "roles": "តួនាទី",
+ "roleLabels": {
+ "detect": "ការចាប់សញ្ញាវត្ថុ",
+ "record": "ការថត",
+ "audio": "សំឡេង"
+ },
+ "testStream": "សាកល្បងការតភ្ជាប់",
+ "testSuccess": "ការសាកល្បងស្ទ្រីមបានជោគជ័យ!",
+ "testFailed": "ការសាកល្បងស្ទ្រីមបានបរាជ័យ",
+ "testFailedTitle": "ការសាកល្បងបានបរាជ័យ",
+ "connected": "បានតភ្ជាប់",
+ "notConnected": "មិនបានតភ្ជាប់",
+ "featuresTitle": "មុខងារ",
+ "go2rtc": "កាត់បន្ថយការតភ្ជាប់ទៅកាមេរ៉ា",
+ "detectRoleWarning": "យ៉ាងហោចណាស់ស្ទ្រីមមួយត្រូវតែមានតួនាទី \"detect\" ដើម្បីបន្ត។",
+ "rolesPopover": {
+ "title": "តួនាទីស្ទ្រីម",
+ "detect": "មតិព័ត៌មានសំខាន់សម្រាប់ការចាប់សញ្ញាវត្ថុ។",
+ "record": "រក្សាទុកផ្នែកនៃមតិព័ត៌មានវីដេអូដោយផ្អែកលើការកំណត់រចនាសម្ព័ន្ធ។",
+ "audio": "មតិព័ត៌មានសម្រាប់ការចាប់សញ្ញាដោយផ្អែកលើសំឡេង។"
+ },
+ "featuresPopover": {
+ "title": "មុខងារស្ទ្រីម",
+ "description": "ប្រើការចាក់ស្ទ្រីមឡើងវិញ go2rtc ដើម្បីកាត់បន្ថយការតភ្ជាប់ទៅកាមេរ៉ារបស់អ្នក។"
+ }
+ },
+ "step4": {
+ "description": "ការផ្ទៀងផ្ទាត់ និងការវិភាគចុងក្រោយមុនពេលរក្សាទុកកាមេរ៉ាថ្មីរបស់អ្នក។ តភ្ជាប់ស្ទ្រីមនីមួយៗមុនពេលរក្សាទុក។",
+ "validationTitle": "ការផ្ទៀងផ្ទាត់ស្ទ្រីម",
+ "connectAllStreams": "តភ្ជាប់ស្ទ្រីមទាំងអស់",
+ "reconnectionSuccess": "ការតភ្ជាប់ឡើងវិញបានជោគជ័យ។",
+ "reconnectionPartial": "ស្ទ្រីមមួយចំនួនបរាជ័យក្នុងការតភ្ជាប់ឡើងវិញ។",
+ "streamUnavailable": "ការមើលជាមុនស្ទ្រីមមិនមាន",
+ "reload": "ផ្ទុកឡើងវិញ",
+ "connecting": "កំពុងតភ្ជាប់...",
+ "streamTitle": "ស្ទ្រីម {{number}}",
+ "valid": "ត្រឹមត្រូវ",
+ "failed": "បរាជ័យ",
+ "notTested": "មិនបានសាកល្បង",
+ "connectStream": "តភ្ជាប់",
+ "connectingStream": "កំពុងតភ្ជាប់",
+ "disconnectStream": "ផ្តាច់",
+ "estimatedBandwidth": "កម្រិតបញ្ជូនដែលបានប៉ាន់ស្មាន",
+ "roles": "តួនាទី",
+ "ffmpegModule": "ប្រើរបៀប tương thích ស្ទ្រីម",
+ "ffmpegModuleDescription": "ប្រសិនបើស្ទ្រីមមិនផ្ទុកបន្ទាប់ពីការព្យាយាមជាច្រើនដង សូមព្យាយាមបើកវា។ នៅពេលបើក Frigate នឹងប្រើម៉ូឌុល ffmpeg ជាមួយ go2rtc។ នេះអាចផ្តល់ភាពឆបគ្នាប្រសើរជាងមុនជាមួយស្ទ្រីមកាមេរ៉ាមួយចំនួន។",
+ "none": "គ្មាន",
+ "error": "កំហុស",
+ "streamValidated": "ស្ទ្រីម {{number}} ត្រូវបានផ្ទៀងផ្ទាត់ដោយជោគជ័យ",
+ "streamValidationFailed": "ការផ្ទៀងផ្ទាត់ស្ទ្រីម {{number}} បានបរាជ័យ",
+ "saveAndApply": "រក្សាទុកកាមេរ៉ាថ្មី",
+ "saveError": "ការកំណត់រចនាសម្ព័ន្ធមិនត្រឹមត្រូវ។ សូមពិនិត្យមើលការកំណត់របស់អ្នក។",
+ "issues": {
+ "title": "ការផ្ទៀងផ្ទាត់ស្ទ្រីម",
+ "videoCodecGood": "កូឌិកវីដេអូគឺ {{codec}}។",
+ "audioCodecGood": "កូឌិកសំឡេងគឺ {{codec}}។",
+ "resolutionHigh": "កម្រិតបង្ហាញ {{resolution}} អាចបណ្តាលឱ្យការប្រើប្រាស់ធនធានកើនឡើង។",
+ "resolutionLow": "កម្រិតបង្ហាញ {{resolution}} អាចទាបពេកសម្រាប់ការចាប់សញ្ញាវត្ថុតូចៗដោយអាចទុកចិត្តបាន។",
+ "resolutionUnknown": "កម្រិតបង្ហាញនៃស្ទ្រីមនេះមិនអាចត្រូវបានស្វែងរកទេ។ អ្នកគួរតែកំណត់កម្រិតបង្ហាញការចាប់សញ្ញាដោយដៃនៅក្នុងការកំណត់ ឬការកំណត់រចនាសម្ព័ន្ធរបស់អ្នក។",
+ "noAudioWarning": "រកមិនឃើញសំឡេងសម្រាប់ស្ទ្រីមនេះទេ ការថតនឹងគ្មានសំឡេង។",
+ "audioCodecRecordError": "កូឌិកសំឡេង AAC ត្រូវបានទាមទារដើម្បីគាំទ្រសំឡេងនៅក្នុងការថត។",
+ "audioCodecRequired": "ស្ទ្រីមសំឡេងត្រូវបានទាមទារដើម្បីគាំទ្រការចាប់សញ្ញាសំឡេង។",
+ "restreamingWarning": "ការកាត់បន្ថយការតភ្ជាប់ទៅកាមេរ៉ាសម្រាប់ស្ទ្រីមថតអាចបង្កើនការប្រើប្រាស់ CPU បន្តិចបន្តួច។",
+ "brands": {
+ "reolink-rtsp": "Reolink RTSP មិនត្រូវបានណែនាំទេ។ បើក HTTP នៅក្នុងការកំណត់ firmware របស់កាមេរ៉ា ហើយចាប់ផ្តើមអ្នកជំនួយការឡើងវិញ។",
+ "reolink-http": "ស្ទ្រីម Reolink HTTP គួរតែប្រើ FFmpeg សម្រាប់ភាពឆបគ្នាប្រសើរជាងមុន។ បើក 'Use stream compatibility mode' សម្រាប់ស្ទ្រីមនេះ។"
+ },
+ "dahua": {
+ "substreamWarning": "Substream 1 ត្រូវបានចាក់សោទៅកម្រិតបង្ហាញទាប។ កាមេរ៉ា Dahua / Amcrest / EmpireTech ជាច្រើនគាំទ្រ substreams បន្ថែមដែលត្រូវការបើកនៅក្នុងការកំណត់របស់កាមេរ៉ា។ វាត្រូវបានណែនាំឱ្យពិនិត្យ និងប្រើប្រាស់ស្ទ្រីមទាំងនោះប្រសិនបើមាន។"
+ },
+ "hikvision": {
+ "substreamWarning": "ស្ទ្រីមរង 1 ត្រូវបានកំណត់ឱ្យនៅកម្រិតបង្ហាញទាប។ កាមេរ៉ា Hikvision ជាច្រើនគាំទ្រស្ទ្រីមរងបន្ថែម ដែលត្រូវការបើកនៅក្នុងការកំណត់របស់កាមេរ៉ា។ អ្នកគួរតែពិនិត្យ និងប្រើប្រាស់ស្ទ្រីមទាំងនោះប្រសិនបើមាន។"
+ }
+ }
+ }
+ },
+ "cameraManagement": {
+ "title": "គ្រប់គ្រងកាមេរ៉ា",
+ "description": "បន្ថែម កែសម្រួល និងលុបកាមេរ៉ា គ្រប់គ្រងស្ថានភាពនៃកាមេរ៉ានីមួយៗ និងកំណត់ការផ្លាស់ប្តូរតាមប្រវត្តិរូប និងប្រភេទកាមេរ៉ា។ ដើម្បីកំណត់ស្ទ្រីម ការរកឃើញ ចលនា และการตั้งค่าเฉพาะคาเมราอื่นๆ โปรดเลือกส่วนที่เจาะจงภายใต้ การกำหนดค่าคาเมรา។",
+ "addCamera": "បន្ថែមកាមេរ៉ាថ្មី",
+ "deleteCamera": "លុបកាមេរ៉ា",
+ "deleteCameraDialog": {
+ "title": "លុបកាមេរ៉ា",
+ "description": "ការលុបកាមេរ៉ានឹងលុបចោលជាអចិន្ត្រៃយ៍នូវការថតវីដេអូ វត្ថុដែលបានតាមដាន និងការកំណត់ទាំងអស់សម្រាប់កាមេរ៉ានោះ។ ស្ទ្រីម go2rtc ទាំងឡាយណាដែលពាក់ព័ន្ធជាមួយកាមេរ៉ានេះ អាចនៅតែត្រូវការលុបចេញដោយផ្ទាល់ដៃ។",
+ "selectPlaceholder": "ជ្រើសរើសកាមេរ៉ា…",
+ "confirmTitle": "តើអ្នកប្រាកដដែរឬទេ?",
+ "confirmWarning": "ការលុប {{cameraName}} មិនអាចត្រឡប់វិញបានទេ។",
+ "deleteExports": "លុបការនាំចេញសម្រាប់កាមេរ៉ានេះផងដែរ",
+ "confirmButton": "លុបជាអចិន្ត្រៃយ៍",
+ "success": "កាមេរ៉ា {{cameraName}} ត្រូវបានលុបដោយជោគជ័យ",
+ "error": "បរាជ័យក្នុងការលុបកាមេរ៉ា {{cameraName}}"
+ },
+ "editCamera": "កែសម្រួលកាមេរ៉ា៖",
+ "selectCamera": "ជ្រើសរើសកាមេរ៉ា",
+ "backToSettings": "ត្រឡប់ទៅការកំណត់កាមេរ៉ា",
+ "streams": {
+ "title": "ស្ថានភាព និងព័ត៌មានលម្អិតនៃកាមេរ៉ា",
+ "label": "ស្ថានភាពកាមេរ៉ា",
+ "description": "កំណត់ស្ថានភាពប្រតិបត្តិការសម្រាប់កាមេរ៉ានីមួយៗ។
បើក: ស្ទ្រីមត្រូវបានដំណើរការជាធម្មតា។
បើក : ផ្អាកការដំណើរការជាបណ្តោះអាសន្ន។ មិនរក្សាទុកនៅពេលចាប់ផ្តើម Frigate ឡើងវិញទេ។
បិទជាអចិន្ត្រៃយ៍: បញ្ឈប់ការដំណើរការ និងរក្សាទុកការផ្លាស់ប្តូរទៅក្នុងការកំណត់របស់អ្នក។ ត្រូវការចាប់ផ្តើមឡើងវិញដើម្បីបើកកាមេរ៉ាដែលបានបិទជាអចិន្ត្រៃយ៍។
សម្គាល់៖ ការបិទជាអចិន្ត្រៃយ៍មិនប៉ះពាល់ដល់ការ restream របស់ go2rtc ទេ។
អូសដៃគ្រប់គ្រងដើម្បីតម្រៀបកាមេរ៉ាដែលកំពុងសកម្មឡើងវិញ នៅពេលដែលវាលេចឡើងពេញផ្ទៃអេក្រង់ រួមទាំងផ្ទាំងបញ្ជាផ្ទាល់ និងបញ្ជីធ្លាក់ចុះនៃការជ្រើសរើសកាមេរ៉ា។",
+ "disabledSubheading": "បានបិទនៅក្នុងការកំណត់",
+ "status": {
+ "on": "បើក",
+ "off": "បិទ",
+ "disabled": "បានបិទ"
+ },
+ "enableSuccess": "បានបើក {{cameraName}}។ សូមចាប់ផ្តើម Frigate ឡើងវិញដើម្បីអនុវត្ត។",
+ "disableSuccess": "បានបិទ {{cameraName}} និងរក្សាទុកក្នុងការកំណត់។",
+ "reorderHandle": "អូសដើម្បីតម្រៀបឡើងវិញ",
+ "saving": "កំពុងរក្សាទុក…",
+ "saved": "បានរក្សាទុក",
+ "details": {
+ "edit": "កែសម្រួលព័ត៌មានលម្អិតនៃកាមេរ៉ា",
+ "title": "កែសម្រួលព័ត៌មានលម្អិតនៃកាមេរ៉ា",
+ "description": "ធ្វើបច្ចុប្បន្នភាពឈ្មោះបង្ហាញ URL ខាងក្រៅ និងភាពមើលឃើញដែលប្រើសម្រាប់កាមេរ៉ានេះ នៅទូទាំងផ្ទៃអេក្រង់ Frigate។",
+ "friendlyNameLabel": "ឈ្មោះបង្ហាញ",
+ "friendlyNameHelp": "ឈ្មោះងាយស្រួលដែលបង្ហាញសម្រាប់កាមេរ៉ានេះនៅទូទាំងផ្ទៃអេក្រង់ Frigate។ ទុកឱ្យនៅទទេដើម្បីប្រើលេខសម្គាល់កាមេរ៉ា។",
+ "webuiUrlLabel": "URL ផ្ទៃអេក្រង់វេបរបស់កាមេរ៉ា",
+ "webuiUrlHelp": "URL ដើម្បីចូលទៅកាន់ផ្ទៃអេក្រង់វេបរបស់កាមេរ៉ាដោយផ្ទាល់ពីទិដ្ឋភាព Debug។ ទុកឱ្យនៅទទេដើម្បីបិទតំណភ្ជាប់។",
+ "webuiUrlInvalid": "ត្រូវតែជា URL ត្រឹមត្រូវ (ឧ. https://example.com)។",
+ "dashboardLabel": "បង្ហាញលើផ្ទាំងបញ្ជាផ្ទាល់",
+ "dashboardHelp": "បង្ហាញកាមេរ៉ានេះលើផ្ទាំងបញ្ជាផ្ទាល់នៃកាមេរ៉ាទាំងអស់ដែលបានកំណត់ជាលំនាំដើម។ វានៅតែអាចប្រើបាននៅគ្រប់ទីកន្លែងផ្សេងទៀត រួមទាំងក្រុមកាមេរ៉ាផងដែរ។",
+ "reviewLabel": "បង្ហាញក្នុងការត្រួតពិនិត្យ",
+ "reviewHelp": "បង្ហាញកាមេរ៉ានេះក្នុងការត្រួតពិនិត្យ រួមទាំងតម្រងកាមេរ៉ា ការត្រួតពិនិត្យចលនា និងទិដ្ឋភាពប្រវត្តិ។"
+ }
+ },
+ "cameraConfig": {
+ "add": "បន្ថែមកាមេរ៉ា",
+ "edit": "កែសម្រួលកាមេរ៉ា",
+ "description": "កំណត់ការកំណត់កាមេរ៉ា រួមទាំងបញ្ចូលស្ទ្រីម និងតួនាទី។",
+ "name": "ឈ្មោះកាមេរ៉ា",
+ "nameRequired": "ឈ្មោះកាមេរ៉ាគឺចាំបាច់",
+ "nameLength": "ឈ្មោះកាមេរ៉ាត្រូវតែមានតិចជាង ៦៤ តួអក្សរ។",
+ "namePlaceholder": "ឧ. front_door ឬ Back Yard Overview",
+ "enabled": "បានបើក",
+ "ffmpeg": {
+ "inputs": "ស្ទ្រីមបញ្ចូល",
+ "path": "ផ្លូវស្ទ្រីម",
+ "pathRequired": "ផ្លូវស្ទ្រីមគឺចាំបាច់",
+ "pathPlaceholder": "rtsp://...",
+ "roles": "តួនាទី",
+ "rolesRequired": "ត្រូវការយ៉ាងហោចណាស់មួយតួនាទី",
+ "rolesUnique": "តួនាទីនីមួយៗ (សំឡេង, រកឃើញ, ថត) អាចត្រូវបានកំណត់ឱ្យតែមួយស្ទ្រីមប៉ុណ្ណោះ",
+ "addInput": "បន្ថែមស្ទ្រីមបញ្ចូល",
+ "removeInput": "ដកស្ទ្រីមបញ្ចូលចេញ",
+ "inputsRequired": "ត្រូវការយ៉ាងហោចណាស់មួយស្ទ្រីមបញ្ចូល"
+ },
+ "go2rtcStreams": "ស្ទ្រីម go2rtc",
+ "streamUrls": "URL ស្ទ្រីម",
+ "addUrl": "បន្ថែម URL",
+ "addGo2rtcStream": "បន្ថែមស្ទ្រីម go2rtc",
+ "toast": {
+ "success": "កាមេរ៉ា {{cameraName}} ត្រូវបានរក្សាទុកដោយជោគជ័យ"
+ }
+ },
+ "profiles": {
+ "title": "ការផ្លាស់ប្តូរកាមេរ៉ាតាមប្រវត្តិរូប",
+ "selectLabel": "ជ្រើសរើសប្រវត្តិរូប",
+ "description": "កំណត់ថាកាមេរ៉ាណាខ្លះត្រូវបើក ឬបិទ នៅពេលដែលប្រវត្តិរូបត្រូវបានដំណើរការ។ កាមេរ៉ាដែលបានកំណត់ជា \"ទទួលមរតក\" នឹងរក្សាស្ថានភាពលំនាំដើមរបស់វា។",
+ "inherit": "ទទួលមរតក",
+ "on": "បើក",
+ "off": "បិទ"
+ },
+ "cameraType": {
+ "title": "ប្រភេទកាមេរ៉ា",
+ "label": "ប្រភេទកាមេរ៉ា",
+ "description": "កំណត់ប្រភេទសម្រាប់កាមេរ៉ានីមួយៗ។ កាមេរ៉ា LPR ពិសេសគឺជាកាមេរ៉ាដែលមានគោលបំណងតែមួយ ដែលមានការពង្រីកអុបទិកខ្លាំង ដើម្បីចាប់យកផ្លាកលេខនៅលើយានយន្តដែលនៅឆ្ងាយ។ កាមេរ៉ាភាគច្រើនគួរតែប្រើប្រភេទកាមេរ៉ាធម្មតា លើកលែងតែកាមេរ៉ានោះមានគោលបំណងពិសេសសម្រាប់ LPR ហើយមានទិដ្ឋភាពផ្តោតយ៉ាងច្បាស់លាស់លើផ្លាកលេខ។",
+ "normal": "ធម្មតា",
+ "dedicatedLpr": "LPR ពិសេស",
+ "saveSuccess": "បានធ្វើបច្ចុប្បន្នភាពប្រភេទកាមេរ៉ាសម្រាប់ {{cameraName}}។ សូមចាប់ផ្តើម Frigate ឡើងវិញដើម្បីអនុវត្តការផ្លាស់ប្តូរ។"
+ },
+ "clone": {
+ "sectionTitle": "ការកំណត់ចម្លង",
+ "sectionDescription": "ចម្លងការកំណត់ពីកាមេរ៉ាមួយទៅកាមេរ៉ាមួយទៀត ឬកាមេរ៉ាថ្មី។",
+ "button": "ចម្លងការកំណត់",
+ "title": "ចម្លងការកំណត់កាមេរ៉ា",
+ "description": "ចម្លងការកំណត់របស់កាមេរ៉ាទៅកាន់កាមេរ៉ាផ្សេងទៀតមួយ ឬច្រើន ឬកាមេរ៉ាថ្មី។ អត្តសញ្ញាណ (ឈ្មោះ, ឈ្មោះងាយស្រួល, URL ផ្ទៃអេក្រង់វេប, លំដាប់បង្ហាញ) មិនត្រូវបានចម្លងទេ។",
+ "source": {
+ "label": "កាមេរ៉ាប្រភព",
+ "placeholder": "ជ្រើសរើសកាមេរ៉ាប្រភព",
+ "required": "ជ្រើសរើសកាមេរ៉ាប្រភព"
+ },
+ "target": {
+ "legend": "គោលដៅ",
+ "newRadio": "កាមេរ៉ាថ្មី",
+ "newNameLabel": "ឈ្មោះកាមេរ៉ា",
+ "newNamePlaceholder": "ឧ. back_door ឬ Back Door",
+ "newNameRequired": "ឈ្មោះកាមេរ៉ាគឺចាំបាច់",
+ "newNameInvalid": "ឈ្មោះកាមេរ៉ាមិនត្រឹមត្រូវ",
+ "newNameCollision": "កាមេរ៉ាដែលមានឈ្មោះនេះមានរួចហើយ",
+ "newStreamsForced": "ស្ទ្រីមត្រូវបានចម្លងជានិច្ចសម្រាប់កាមេរ៉ាថ្មី។",
+ "existingCamerasRadio": "កាមេរ៉ាដែលមានស្រាប់",
+ "allCameras": "កាមេរ៉ាទាំងអស់",
+ "existingPlaceholder": "ជ្រើសរើសយ៉ាងហោចណាស់មួយកាមេរ៉ា",
+ "existingDisabled": "មិនមានកាមេរ៉ាផ្សេងទៀតដើម្បីចម្លងទៅ"
+ },
+ "categories": {
+ "legend": "ការកំណត់ដើម្បីចម្លង",
+ "description": "ជ្រើសរើសការកំណត់ណាដែលត្រូវចម្លងពីកាមេរ៉ាប្រភព។",
+ "selectAll": "ជ្រើសរើសទាំងអស់",
+ "selectNone": "មិនជ្រើសរើស",
+ "resetDefaults": "កំណត់ឡើងវិញទៅលំនាំដើម",
+ "general": "ទូទៅ",
+ "spatial": "ការកំណត់លំហ",
+ "streams": "ស្ទ្រីម",
+ "spatialWarningTitle": "កម្រិតបង្ហាញមិនត្រូវគ្នា",
+ "spatialWarning": "កម្រិតបង្ហាញរកឃើញរបស់កាមេរ៉ាប្រភព {{srcCamera}} ({{srcWidth}}×{{srcHeight}}) ខុសពី៖ {{cameras}}។ ពហុកោណអាចនឹងមិនតម្រឹមគ្នានៅលើកាមេរ៉ាទាំងនោះទេ។ លំនាំដើមទាំងនេះត្រូវបានបិទ; បើកដើម្បីចម្លងដូចដើម។",
+ "restartHint": "ត្រូវការចាប់ផ្តើមឡើងវិញ",
+ "items": {
+ "record": "ការថត",
+ "snapshots": "រូបថត",
+ "review": "ការត្រួតពិនិត្យ",
+ "motion": "ការរកឃើញចលនា",
+ "objects": "វត្ថុ",
+ "audio": "ការរកឃើញសំឡេង",
+ "audio_transcription": "ការចម្លងសំឡេង",
+ "notifications": "ការជូនដំណឹង",
+ "birdseye": "Birdseye",
+ "mqtt": "MQTT",
+ "timestamp_style": "រចនាប័ទ្មពេលវេលា",
+ "onvif": "ONVIF",
+ "lpr": "ការសម្គាល់ផ្លាកលេខ",
+ "face_recognition": "ការសម្គាល់មុខ",
+ "semantic_search": "ការស្វែងរកតាមអត្ថន័យ",
+ "genai": "បង្កើតដោយ AI",
+ "type": "ប្រភេទកាមេរ៉ា (ធម្មតា / LPR ពិសេស)",
+ "profiles": "ប្រវត្តិរូប",
+ "detect": "វិមាត្ររកឃើញ",
+ "zones": "តំបន់",
+ "motion_mask": "ម៉ាសចលនា",
+ "object_masks": "ម៉ាសវត្ថុ",
+ "ffmpeg_live": "URL ស្ទ្រីម និងតួនាទី"
+ }
+ },
+ "footer": {
+ "changeCount_other": "ការផ្លាស់ប្តូរ {{count}} នឹងត្រូវបានអនុវត្ត",
+ "restartNeeded": "ការចាប់ផ្តើមឡើងវិញនឹងត្រូវបានទាមទារសម្រាប់ការផ្លាស់ប្តូរមួយចំនួន។",
+ "liveOnly": "ការផ្លាស់ប្តូរទាំងអស់នឹងអនុវត្តភ្លាមៗដោយមិនចាំបាច់ចាប់ផ្តើមឡើងវិញ។",
+ "submit": "ចម្លង",
+ "submitting": "កំពុងចម្លង…"
+ },
+ "toast": {
+ "success": "ការកំណត់ត្រូវបានចម្លងទៅ {{cameraName}}",
+ "successWithRestart": "ការកំណត់ត្រូវបានចម្លងទៅ {{cameraName}}។ សូមចាប់ផ្តើម Frigate ឡើងវិញដើម្បីអនុវត្តការផ្លាស់ប្តូរទាំងអស់។",
+ "successMulti_other": "ការកំណត់ត្រូវបានចម្លងទៅកាមេរ៉ា {{count}}",
+ "successMultiWithRestart_other": "ការកំណត់ត្រូវបានចម្លងទៅកាមេរ៉ា {{count}}។ សូមចាប់ផ្តើម Frigate ឡើងវិញដើម្បីអនុវត្តការផ្លាស់ប្តូរទាំងអស់។",
+ "partialFailure": "ផ្នែក {{successCount}} ត្រូវបានអនុវត្ត; '{{failedSection}}' បានបរាជ័យ៖ {{errorMessage}}",
+ "partialFailureMulti": "បានចម្លងទៅកាមេរ៉ា {{successCount}}; បានបរាជ័យសម្រាប់ {{failed}}៖ {{errorMessage}}",
+ "newCameraPartialFailure": "កាមេរ៉ា {{cameraName}} ត្រូវបានបង្កើត ប៉ុន្តែការកំណត់មួយចំនួនបានបរាជ័យក្នុងការចម្លង៖ {{errorMessage}}",
+ "sourceMissing": "កាមេរ៉ាប្រភពលែងមានទៀតហើយ",
+ "submitError": "បរាជ័យក្នុងការចម្លងកាមេរ៉ា៖ {{errorMessage}}"
+ }
+ }
+ },
+ "cameraReview": {
+ "title": "ការកំណត់ការត្រួតពិនិត្យកាមេរ៉ា",
+ "object_descriptions": {
+ "title": "ការពិពណ៌នាវត្ថុ Generative AI",
+ "desc": "បើក/បិទ ការពិពណ៌នាវត្ថុ Generative AI សម្រាប់កាមេរ៉ានេះជាបណ្តោះអាសន្ន រហូតដល់ Frigate ចាប់ផ្តើមឡើងវិញ។ នៅពេលបិទ ការពិពណ៌នាដែលបង្កើតដោយ AI នឹងមិនត្រូវបានស្នើសុំសម្រាប់វត្ថុដែលបានតាមដាននៅលើកាមេរ៉ានេះទេ។"
+ },
+ "review_descriptions": {
+ "title": "ការពិពណ៌នាការត្រួតពិនិត្យ Generative AI",
+ "desc": "បើក/បិទ ការពិពណ៌នាការត្រួតពិនិត្យ Generative AI សម្រាប់កាមេរ៉ានេះជាបណ្តោះអាសន្ន រហូតដល់ Frigate ចាប់ផ្តើមឡើងវិញ។ នៅពេលបិទ ការពិពណ៌នាដែលបង្កើតដោយ AI នឹងមិនត្រូវបានស្នើសុំសម្រាប់ធាតុត្រួតពិនិត្យនៅលើកាមេរ៉ានេះទេ។"
+ },
+ "review": {
+ "title": "ការត្រួតពិនិត្យ",
+ "desc": "បើក/បិទ ការជូនដំណឹង និងការរកឃើញសម្រាប់កាមេរ៉ានេះជាបណ្តោះអាសន្ន រហូតដល់ Frigate ចាប់ផ្តើមឡើងវិញ។ នៅពេលបិទ ធាតុត្រួតពិនិត្យថ្មីនឹងមិនត្រូវបានបង្កើតទេ។ ",
+ "alerts": "ការជូនដំណឹង ",
+ "detections": "ការរកឃើញ "
+ },
+ "reviewClassification": {
+ "title": "ការចាត់ថ្នាក់ការត្រួតពិនិត្យ",
+ "desc": "Frigate ចាត់ថ្នាក់ធាតុត្រួតពិនិត្យជា ការជូនដំណឹង និង ការរកឃើញ។ ជាលំនាំដើម វត្ថុ មនុស្ស និង រថយន្ត ទាំងអស់ត្រូវបានចាត់ទុកថាជាការជូនដំណឹង។ អ្នកអាចកែលម្អការចាត់ថ្នាក់នៃធាតុត្រួតពិនិត្យរបស់អ្នក ដោយកំណត់តំបន់ដែលត្រូវការសម្រាប់ពួកវា។",
+ "noDefinedZones": "មិនមានតំបន់ណាមួយត្រូវបានកំណត់សម្រាប់កាមេរ៉ានេះទេ។",
+ "objectAlertsTips": "វត្ថុ {{alertsLabels}} ទាំងអស់នៅលើ {{cameraName}} នឹងត្រូវបានបង្ហាញជាការជូនដំណឹង។",
+ "zoneObjectAlertsTips": "វត្ថុ {{alertsLabels}} ទាំងអស់ដែលបានរកឃើញនៅក្នុង {{zone}} នៅលើ {{cameraName}} នឹងត្រូវបានបង្ហាញជាការជូនដំណឹង។",
+ "objectDetectionsTips": "វត្ថុ {{detectionsLabels}} ទាំងអស់ដែលមិនបានចាត់ថ្នាក់នៅលើ {{cameraName}} នឹងត្រូវបានបង្ហាញជាការរកឃើញ ដោយមិនគិតពីតំបន់ដែលពួកវាស្ថិតនៅ។",
+ "zoneObjectDetectionsTips": {
+ "text": "វត្ថុ {{detectionsLabels}} ទាំងអស់ដែលមិនបានចាត់ថ្នាក់នៅក្នុង {{zone}} នៅលើ {{cameraName}} នឹងត្រូវបានបង្ហាញជាការរកឃើញ។",
+ "notSelectDetections": "វត្ថុ {{detectionsLabels}} ទាំងអស់ដែលបានរកឃើញនៅក្នុង {{zone}} នៅលើ {{cameraName}} ដែលមិនបានចាត់ថ្នាក់ជាការជូនដំណឹង នឹងត្រូវបានបង្ហាញជាការរកឃើញ ដោយមិនគិតពីតំបន់ដែលពួកវាស្ថិតនៅ។",
+ "regardlessOfZoneObjectDetectionsTips": "វត្ថុ {{detectionsLabels}} ទាំងអស់ដែលមិនបានចាត់ថ្នាក់នៅលើ {{cameraName}} នឹងត្រូវបានបង្ហាញជាការរកឃើញ ដោយមិនគិតពីតំបន់ដែលពួកវាស្ថិតនៅ។"
+ },
+ "unsavedChanges": "ការកំណត់ការចាត់ថ្នាក់ការត្រួតពិនិត្យដែលមិនបានរក្សាទុកសម្រាប់ {{camera}}",
+ "selectAlertsZones": "ជ្រើសរើសតំបន់សម្រាប់ការជូនដំណឹង",
+ "selectDetectionsZones": "ជ្រើសរើសតំបន់សម្រាប់ការរកឃើញ",
+ "limitDetections": "កំណត់ការរកឃើញចំពោះតំបន់ជាក់លាក់",
+ "toast": {
+ "success": "ការកំណត់ការចាត់ថ្នាក់ការត្រួតពិនិត្យត្រូវបានរក្សាទុក។ សូមចាប់ផ្តើម Frigate ឡើងវិញដើម្បីអនុវត្តការផ្លាស់ប្តូរ។"
+ }
+ }
+ },
+ "masksAndZones": {
+ "filter": {
+ "all": "ម៉ាស និងតំបន់ទាំងអស់"
+ },
+ "restart_required": "ត្រូវការចាប់ផ្តើមឡើងវិញ (ម៉ាស/តំបន់ បានផ្លាស់ប្តូរ)",
+ "disabledInConfig": "ធាតុត្រូវបានបិទនៅក្នុងឯកសារកំណត់",
+ "addDisabledProfile": "បន្ថែមទៅក្នុងការកំណត់មូលដ្ឋានជាមុនសិន បន្ទាប់មកផ្លាស់ប្តូរនៅក្នុងប្រវត្តិរូប",
+ "profileBase": "(មូលដ្ឋាន)",
+ "profileOverride": "(ផ្លាស់ប្តូរ)",
+ "toast": {
+ "success": {
+ "copyCoordinates": "បានចម្លងកូអរដោនេសម្រាប់ {{polyName}} ទៅក្ដារតម្បៀត។"
+ },
+ "error": {
+ "copyCoordinatesFailed": "មិនអាចចម្លងកូអរដោនេទៅក្ដារតម្បៀតបានទេ។"
+ }
+ },
+ "motionMaskLabel": "ម៉ាសចលនា {{number}}",
+ "objectMaskLabel": "ម៉ាសវត្ថុ {{number}}",
+ "form": {
+ "id": {
+ "error": {
+ "mustNotBeEmpty": "ID មិនត្រូវទទេទេ។",
+ "alreadyExists": "ម៉ាសដែលមាន ID នេះមានរួចហើយសម្រាប់កាមេរ៉ានេះ។"
+ }
+ },
+ "name": {
+ "error": {
+ "mustNotBeEmpty": "ឈ្មោះមិនត្រូវទទេទេ។"
+ }
+ },
+ "zoneName": {
+ "error": {
+ "mustBeAtLeastTwoCharacters": "ឈ្មោះតំបន់ត្រូវតែមានយ៉ាងហោចណាស់ ២ តួអក្សរ។",
+ "mustNotBeSameWithCamera": "ឈ្មោះតំបន់មិនត្រូវដូចគ្នានឹងឈ្មោះកាមេរ៉ាទេ។",
+ "alreadyExists": "តំបន់ដែលមានឈ្មោះនេះមានរួចហើយសម្រាប់កាមេរ៉ានេះ។",
+ "mustNotContainPeriod": "ឈ្មោះតំបន់មិនត្រូវមានសញ្ញាចុចទេ។",
+ "hasIllegalCharacter": "ឈ្មោះតំបន់មានតួអក្សរដែលមិនអនុញ្ញាត។",
+ "mustHaveAtLeastOneLetter": "ឈ្មោះតំបន់ត្រូវតែមានយ៉ាងហោចណាស់មួយតួអក្សរ។"
+ }
+ },
+ "distance": {
+ "error": {
+ "text": "ចម្ងាយត្រូវតែធំជាង ឬស្មើនឹង 0.1។",
+ "mustBeFilled": "វាលចម្ងាយទាំងអស់ត្រូវតែបំពេញ ដើម្បីប្រើការប៉ាន់ស្មានល្បឿន។"
+ }
+ },
+ "inertia": {
+ "error": {
+ "mustBeAboveZero": "និចលភាពត្រូវតែធំជាង 0។"
+ }
+ },
+ "loiteringTime": {
+ "error": {
+ "mustBeGreaterOrEqualZero": "រយៈពេលរង់ចាំត្រូវតែធំជាង ឬស្មើនឹង 0។"
+ }
+ },
+ "speed": {
+ "error": {
+ "mustBeGreaterOrEqualTo": "កម្រិតល្បឿនត្រូវតែធំជាង ឬស្មើនឹង 0.1។"
+ }
+ },
+ "polygonDrawing": {
+ "type": {
+ "zone": "តំបន់",
+ "motion_mask": "ម៉ាសចលនា",
+ "object_mask": "ម៉ាសវត្ថុ"
+ },
+ "removeLastPoint": "ដកចំណុចចុងក្រោយចេញ",
+ "reset": {
+ "label": "សម្អាតចំណុចទាំងអស់"
+ },
+ "snapPoints": {
+ "true": "ចាប់ចំណុច",
+ "false": "កុំចាប់ចំណុច"
+ },
+ "delete": {
+ "title": "បញ្ជាក់ការលុប",
+ "desc": "តើអ្នកប្រាកដថាចង់លុប {{type}} {{name}} ដែរឬទេ?",
+ "success": "{{name}} ត្រូវបានលុប។"
+ },
+ "revertOverride": {
+ "title": "ត្រឡប់ទៅការកំណត់មូលដ្ឋាន",
+ "desc": "សកម្មភាពនេះនឹងដកការផ្លាស់ប្តូរប្រវត្តិរូបសម្រាប់ {{type}} {{name}} ហើយត្រឡប់ទៅការកំណត់មូលដ្ឋានវិញ។"
+ },
+ "error": {
+ "mustBeFinished": "ការគូរពហុកោណត្រូវតែបញ្ចប់ មុនពេលរក្សាទុក។"
+ }
+ }
+ },
+ "zones": {
+ "label": "តំបន់",
+ "documentTitle": "កែសម្រួលតំបន់ - Frigate",
+ "desc": {
+ "title": "តំបន់អនុញ្ញាតឱ្យអ្នកកំណត់ផ្ទៃជាក់លាក់នៃ frame ដើម្បីឱ្យអ្នកអាចកំណត់បានថា វត្ថុមួយស្ថិតនៅក្នុងផ្ទៃជាក់លាក់ណាមួយឬអត់។",
+ "documentation": "ឯកសារ"
+ },
+ "add": "បន្ថែមតំបន់",
+ "edit": "កែសម្រួលតំបន់",
+ "point_other": "{{count}} ចំណុច",
+ "clickDrawPolygon": "ចុចដើម្បីគូរពហុកោណនៅលើរូបភាព។",
+ "name": {
+ "title": "ឈ្មោះ",
+ "inputPlaceHolder": "បញ្ចូលឈ្មោះ…",
+ "tips": "ឈ្មោះត្រូវតែមានយ៉ាងហោចណាស់ ២ តួអក្សរ ត្រូវតែមានយ៉ាងហោចណាស់មួយតួអក្សរ ហើយមិនត្រូវជាឈ្មោះរបស់កាមេរ៉ា ឬតំបន់ផ្សេងទៀតនៅលើកាមេរ៉ានេះទេ។"
+ },
+ "enabled": {
+ "title": "បានបើក",
+ "description": "ថាតើតំបន់នេះកំពុងសកម្ម និងបានបើកនៅក្នុងឯកសារកំណត់ឬអត់។ ប្រសិនបើបិទ វាមិនអាចត្រូវបានបើកដោយ MQTT ទេ។ តំបន់ដែលបានបិទត្រូវបានមិនអើពើនៅពេលដំណើរការ។"
+ },
+ "inertia": {
+ "title": "និចលភាព",
+ "desc": "កំណត់ចំនួនស៊ុមដែលវត្ថុមួយត្រូវតែស្ថិតនៅក្នុងតំបន់ មុនពេលវាត្រូវបានចាត់ទុកថានៅក្នុងតំបន់។ លំនាំដើម៖ 3"
+ },
+ "loiteringTime": {
+ "title": "រយៈពេលរង់ចាំ",
+ "desc": "កំណត់រយៈពេលអប្បបរមាជាវិនាទី ដែលវត្ថុត្រូវតែស្ថិតនៅក្នុងតំបន់ ដើម្បីឱ្យវាដំណើរការ។ លំនាំដើម៖ 0"
+ },
+ "objects": {
+ "title": "វត្ថុ",
+ "desc": "បញ្ជីវត្ថុដែលអនុវត្តចំពោះតំបន់នេះ។"
+ },
+ "allObjects": "វត្ថុទាំងអស់",
+ "speedEstimation": {
+ "title": "ការប៉ាន់ស្មានល្បឿន",
+ "desc": "បើកការប៉ាន់ស្មានល្បឿនសម្រាប់វត្ថុនៅក្នុងតំបន់នេះ។ តំបន់ត្រូវតែមាន ៤ ចំណុចគត់។",
+ "lineADistance": "ចម្ងាយបន្ទាត់ A ({{unit}})",
+ "lineBDistance": "ចម្ងាយបន្ទាត់ B ({{unit}})",
+ "lineCDistance": "ចម្ងាយបន្ទាត់ C ({{unit}})",
+ "lineDDistance": "ចម្ងាយបន្ទាត់ D ({{unit}})"
+ },
+ "speedThreshold": {
+ "title": "កម្រិតល្បឿន ({{unit}})",
+ "desc": "កំណត់ល្បឿនអប្បបរមាសម្រាប់វត្ថុ ដើម្បីចាត់ទុកថានៅក្នុងតំបន់នេះ។",
+ "toast": {
+ "error": {
+ "pointLengthError": "ការប៉ាន់ស្មានល្បឿនត្រូវបានបិទសម្រាប់តំបន់នេះ។ តំបន់ដែលមានការប៉ាន់ស្មានល្បឿនត្រូវតែមាន ៤ ចំណុចគត់។",
+ "loiteringTimeError": "តំបន់ដែលមានរយៈពេលរង់ចាំធំជាង 0 មិនគួរប្រើជាមួយការប៉ាន់ស្មានល្បឿនទេ។"
+ }
+ }
+ },
+ "toast": {
+ "success": "តំបន់ ({{zoneName}}) ត្រូវបានរក្សាទុក។"
+ }
+ },
+ "motionMasks": {
+ "label": "ម៉ាសចលនា",
+ "documentTitle": "កែសម្រួលម៉ាសចលនា - Frigate",
+ "desc": {
+ "title": "ម៉ាសចលនាត្រូវបានប្រើដើម្បីការពារចលនាដែលមិនចង់បាន ពីការធ្វើឱ្យការរកឃើញដំណើរការ។ ការប្រើម៉ាសច្រើនពេកនឹងធ្វើឱ្យការតាមដានវត្ថុកាន់តែពិបាក។",
+ "documentation": "ឯកសារ"
+ },
+ "add": "ម៉ាសចលនាថ្មី",
+ "edit": "កែសម្រួលម៉ាសចលនា",
+ "defaultName": "ម៉ាសចលនា {{number}}",
+ "context": {
+ "title": "ម៉ាសចលនាត្រូវបានប្រើដើម្បីការពារចលនាដែលមិនចង់បាន ពីការធ្វើឱ្យការរកឃើញដំណើរការ (ឧទាហរណ៍៖ មែកឈើ, ពេលវេលានៅលើកាមេរ៉ា)។ ម៉ាសចលនាគួរតែត្រូវបានប្រើ តិចតួចបំផុត ការប្រើម៉ាសច្រើនពេកនឹងធ្វើឱ្យការតាមដានវត្ថុកាន់តែពិបាក។"
+ },
+ "point_other": "{{count}} ចំណុច",
+ "clickDrawPolygon": "ចុចដើម្បីគូរពហុកោណនៅលើរូបភាព។",
+ "name": {
+ "title": "ឈ្មោះ",
+ "description": "ឈ្មោះងាយស្រួលជាជម្រើសសម្រាប់ម៉ាសចលនានេះ។",
+ "placeholder": "បញ្ចូលឈ្មោះ..."
+ },
+ "polygonAreaTooLarge": {
+ "title": "ម៉ាសចលនាកំពុងគ្របដណ្តប់ {{polygonArea}}% នៃស៊ុមកាមេរ៉ា។ ម៉ាសចលនាធំមិនត្រូវបានណែនាំទេ។",
+ "tips": "ម៉ាសចលនាមិនការពារវត្ថុពីការរកឃើញទេ។ អ្នកគួរតែប្រើតំបន់ដែលត្រូវការជំនួសវិញ។"
+ },
+ "toast": {
+ "success": {
+ "title": "{{polygonName}} ត្រូវបានរក្សាទុក។",
+ "noName": "ម៉ាសចលនាត្រូវបានរក្សាទុក។"
+ }
+ }
+ },
+ "objectMasks": {
+ "label": "ម៉ាសវត្ថុ",
+ "documentTitle": "កែសម្រួលម៉ាសវត្ថុ - Frigate",
+ "desc": {
+ "title": "ម៉ាសតម្រងវត្ថុត្រូវបានប្រើដើម្បីច្រោះយកការរកឃើញខុសសម្រាប់ប្រភេទវត្ថុជាក់លាក់ ដោយផ្អែកលើទីតាំង។",
+ "documentation": "ឯកសារ"
+ },
+ "add": "បន្ថែមម៉ាសវត្ថុ",
+ "edit": "កែសម្រួលម៉ាសវត្ថុ",
+ "context": "ម៉ាសតម្រងវត្ថុត្រូវបានប្រើដើម្បីច្រោះយកការរកឃើញខុសសម្រាប់ប្រភេទវត្ថុជាក់លាក់ ដោយផ្អែកលើទីតាំង។",
+ "point_other": "{{count}} ចំណុច",
+ "clickDrawPolygon": "ចុចដើម្បីគូរពហុកោណនៅលើរូបភាព។",
+ "name": {
+ "title": "ឈ្មោះ",
+ "description": "ឈ្មោះងាយស្រួលជាជម្រើសសម្រាប់ម៉ាសវត្ថុនេះ។",
+ "placeholder": "បញ្ចូលឈ្មោះ..."
+ },
+ "objects": {
+ "title": "វត្ថុ",
+ "desc": "ប្រភេទវត្ថុដែលអនុវត្តចំពោះម៉ាសវត្ថុនេះ។",
+ "allObjectTypes": "ប្រភេទវត្ថុទាំងអស់"
+ },
+ "toast": {
+ "success": {
+ "title": "{{polygonName}} ត្រូវបានរក្សាទុក។",
+ "noName": "ម៉ាសវត្ថុត្រូវបានរក្សាទុក។"
+ }
+ }
+ },
+ "masks": {
+ "enabled": {
+ "title": "បានបើក",
+ "description": "ថាតើម៉ាសនេះត្រូវបានបើកនៅក្នុងឯកសារកំណត់ឬអត់។ ប្រសិនបើបិទ វាមិនអាចត្រូវបានបើកដោយ MQTT ទេ។ ម៉ាសដែលបានបិទត្រូវបានមិនអើពើនៅពេលដំណើរការ។"
+ }
+ }
+ },
+ "motionDetectionTuner": {
+ "title": "កម្មវិធីកែតម្រូវការរកឃើញចលនា",
+ "unsavedChanges": "ការផ្លាស់ប្តូរកម្មវិធីកែតម្រូវចលនាដែលមិនបានរក្សាទុក ({{camera}})",
+ "desc": {
+ "title": "Frigate ប្រើការរកឃើញចលនាជាការត្រួតពិនិត្យដំបូង ដើម្បីមើលថាតើមានអ្វីកើតឡើងនៅក្នុងស៊ុមដែលគួរឱ្យពិនិត្យជាមួយការរកឃើញវត្ថុឬអត់។",
+ "documentation": "អានមគ្គុទ្ទេសក៍កែតម្រូវចលនា"
+ },
+ "Threshold": {
+ "title": "កម្រិត",
+ "desc": "តម្លៃកម្រិតកំណត់ថាតើការផ្លាស់ប្តូរពន្លឺនៃភីកសែលកម្រិតណា ដែលត្រូវបានចាត់ទុកថាជាចលនា។ លំនាំដើម៖ 30"
+ },
+ "contourArea": {
+ "title": "ផ្ទៃគន្លង",
+ "desc": "តម្លៃផ្ទៃគន្លងត្រូវបានប្រើដើម្បីសម្រេចថាក្រុមភីកសែលដែលបានផ្លាស់ប្តូរណាខ្លះ ដែលមានលក្ខណៈគ្រប់គ្រាន់ជាចលនា។ លំនាំដើម៖ 10"
+ },
+ "improveContrast": {
+ "title": "បង្កើនកម្រិតពណ៌",
+ "desc": "បង្កើនកម្រិតពណ៌សម្រាប់ឈុតឆាកងងឹត។ លំនាំដើម៖ បើក"
+ },
+ "toast": {
+ "success": "ការកំណត់ចលនាត្រូវបានរក្សាទុក។"
+ }
+ },
+ "debug": {
+ "title": "Debug",
+ "detectorDesc": "Frigate ប្រើឧបករណ៍រកឃើញរបស់អ្នក ({{detectors}}) ដើម្បីរកឃើញវត្ថុនៅក្នុងស្ទ្រីមវីដេអូរបស់កាមេរ៉ាអ្នក។",
+ "desc": "ទិដ្ឋភាព Debug បង្ហាញទិដ្ឋភាពពេលវេលាជាក់ស្តែងនៃវត្ថុដែលបានតាមដាន និងស្ថិតិរបស់ពួកវា។ បញ្ជីវត្ថុបង្ហាញសេចក្តីសង្ខេបនៃវត្ថុដែលបានរកឃើញ ដោយមានការពន្យារពេល។",
+ "openCameraWebUI": "បើកផ្ទៃអេក្រង់វេបរបស់ {{camera}}",
+ "debugging": "ការ Debug",
+ "objectList": "បញ្ជីវត្ថុ",
+ "noObjects": "មិនមានវត្ថុ",
+ "audio": {
+ "title": "សំឡេង",
+ "noAudioDetections": "មិនមានការរកឃើញសំឡេង",
+ "score": "ពិន្ទុ",
+ "currentRMS": "RMS បច្ចុប្បន្ន",
+ "currentdbFS": "dbFS បច្ចុប្បន្ន"
+ },
+ "boundingBoxes": {
+ "title": "ប្រអប់កំណត់",
+ "desc": "បង្ហាញប្រអប់កំណត់នៅជុំវិញវត្ថុដែលបានតាមដាន",
+ "colors": {
+ "label": "ពណ៌ប្រអប់កំណត់វត្ថុ",
+ "info": "
ប្រអប់ចលនា
ប្រអប់ពណ៌ក្រហមនឹងត្រូវបានដាក់នៅលើ ផ្ទៃនៃស៊ុមដែលកំពុងមានការរកឃើញចលនា
" + }, + "regions": { + "title": "តំបន់", + "desc": "បង្ហាញប្រអប់នៃតំបន់ដែលចាប់អារម្មណ៍ ដែលបានបញ្ជូនទៅឧបករណ៍រកឃើញវត្ថុ", + "tips": "ប្រអប់តំបន់
ប្រអប់ពណ៌បៃតងភ្លឺនឹងត្រូវបានដាក់នៅលើ ផ្ទៃដែលចាប់អារម្មណ៍នៅក្នុងស៊ុម ដែលកំពុងត្រូវបានបញ្ជូនទៅឧបករណ៍រកឃើញវត្ថុ។
" + }, + "paths": { + "title": "ផ្លូវ", + "desc": "បង្ហាញចំណុចសំខាន់នៃផ្លូវរបស់វត្ថុដែលបានតាមដាន", + "tips": "ផ្លូវ
បន្ទាត់ និងរង្វង់នឹងបង្ហាញចំណុចសំខាន់ ដែលវត្ថុដែលបានតាមដានបានផ្លាស់ទីក្នុងអំឡុងពេលវាមានវត្តមាន។
" + }, + "objectShapeFilterDrawing": { + "title": "ការគូរតម្រងរាងវត្ថុ", + "desc": "គូរចតុកោណកែងនៅលើរូបភាព ដើម្បីមើលព័ត៌មានលម្អិតនៃផ្ទៃ និងសមាមាត្រ", + "tips": "បើកជម្រើសនេះដើម្បីគូរចតុកោណកែងនៅលើរូបភាពកាមេរ៉ា ដើម្បីបង្ហាញផ្ទៃ និងសមាមាត្ររបស់វា។ តម្លៃទាំងនេះអាចត្រូវបានប្រើដើម្បីកំណត់ប៉ារ៉ាម៉ែត្រតម្រងរាងវត្ថុនៅក្នុងការកំណត់របស់អ្នក។", + "score": "ពិន្ទុ", + "ratio": "សមាមាត្រ", + "area": "ផ្ទៃ" + } + }, + "timestampPosition": { + "tl": "កំពូលខាងឆ្វេង", + "tr": "កំពូលខាងស្តាំ", + "bl": "បាតខាងឆ្វេង", + "br": "បាតខាងស្តាំ" + }, + "users": { + "title": "អ្នកប្រើប្រាស់", + "management": { + "title": "ការគ្រប់គ្រងអ្នកប្រើប្រាស់", + "desc": "គ្រប់គ្រងគណនីអ្នកប្រើប្រាស់នៃ Frigate នេះ។" + }, + "addUser": "បន្ថែមអ្នកប្រើប្រាស់", + "updatePassword": "កំណត់ពាក្យសម្ងាត់ឡើងវិញ", + "toast": { + "success": { + "createUser": "អ្នកប្រើប្រាស់ {{user}} ត្រូវបានបង្កើតដោយជោគជ័យ", + "deleteUser": "អ្នកប្រើប្រាស់ {{user}} ត្រូវបានលុបដោយជោគជ័យ", + "updatePassword": "ពាក្យសម្ងាត់ត្រូវបានធ្វើបច្ចុប្បន្នភាពដោយជោគជ័យ។", + "roleUpdated": "តួនាទីត្រូវបានធ្វើបច្ចុប្បន្នភាពសម្រាប់ {{user}}" + }, + "error": { + "setPasswordFailed": "បរាជ័យក្នុងការរក្សាទុកពាក្យសម្ងាត់៖ {{errorMessage}}", + "createUserFailed": "បរាជ័យក្នុងការបង្កើតអ្នកប្រើប្រាស់៖ {{errorMessage}}", + "deleteUserFailed": "បរាជ័យក្នុងការលុបអ្នកប្រើប្រាស់៖ {{errorMessage}}", + "roleUpdateFailed": "បរាជ័យក្នុងការធ្វើបច្ចុប្បន្នភាពតួនាទី៖ {{errorMessage}}" + } + }, + "table": { + "username": "ឈ្មោះអ្នកប្រើប្រាស់", + "actions": "សកម្មភាព", + "role": "តួនាទី", + "noUsers": "រកមិនឃើញអ្នកប្រើប្រាស់ទេ។", + "changeRole": "ផ្លាស់ប្តូរតួនាទីអ្នកប្រើប្រាស់", + "password": "កំណត់ពាក្យសម្ងាត់ឡើងវិញ", + "deleteUser": "លុបអ្នកប្រើប្រាស់" + }, + "dialog": { + "form": { + "user": { + "title": "ឈ្មោះអ្នកប្រើប្រាស់", + "desc": "អនុញ្ញាតតែអក្សរ លេខ សញ្ញាចុច និងសញ្ញា _ ប៉ុណ្ណោះ។", + "placeholder": "បញ្ចូលឈ្មោះអ្នកប្រើប្រាស់" + }, + "password": { + "title": "ពាក្យសម្ងាត់", + "placeholder": "បញ្ចូលពាក្យសម្ងាត់", + "show": "បង្ហាញពាក្យសម្ងាត់", + "hide": "លាក់ពាក្យសម្ងាត់", + "confirm": { + "title": "បញ្ជាក់ពាក្យសម្ងាត់", + "placeholder": "បញ្ជាក់ពាក្យសម្ងាត់" + }, + "strength": { + "title": "កម្រិតខ្លាំងនៃពាក្យសម្ងាត់៖ ", + "weak": "ខ្សោយ", + "medium": "មធ្យម", + "strong": "ខ្លាំង", + "veryStrong": "ខ្លាំងណាស់" + }, + "requirements": { + "title": "តម្រូវការពាក្យសម្ងាត់៖", + "length": "យ៉ាងហោចណាស់ ១២ តួអក្សរ" + }, + "match": "ពាក្យសម្ងាត់ត្រូវគ្នា", + "notMatch": "ពាក្យសម្ងាត់មិនត្រូវគ្នា" + }, + "newPassword": { + "title": "ពាក្យសម្ងាត់ថ្មី", + "placeholder": "បញ្ចូលពាក្យសម្ងាត់ថ្មី", + "confirm": { + "placeholder": "បញ្ចូលពាក្យសម្ងាត់ថ្មីម្តងទៀត" + } + }, + "currentPassword": { + "title": "ពាក្យសម្ងាត់បច្ចុប្បន្ន", + "placeholder": "បញ្ចូលពាក្យសម្ងាត់បច្ចុប្បន្នរបស់អ្នក" + }, + "usernameIsRequired": "ឈ្មោះអ្នកប្រើប្រាស់គឺចាំបាច់", + "passwordIsRequired": "ពាក្យសម្ងាត់គឺចាំបាច់" + }, + "createUser": { + "title": "បង្កើតអ្នកប្រើប្រាស់ថ្មី", + "desc": "បន្ថែមគណនីអ្នកប្រើប្រាស់ថ្មី និងកំណត់តួនាទីសម្រាប់ការចូលប្រើប្រាស់ផ្នែកនានានៃផ្ទៃអេក្រង់ Frigate។", + "usernameOnlyInclude": "ឈ្មោះអ្នកប្រើប្រាស់អាចមានតែអក្សរ លេខ . ឬ _ ប៉ុណ្ណោះ", + "confirmPassword": "សូមបញ្ជាក់ពាក្យសម្ងាត់របស់អ្នក" + }, + "deleteUser": { + "title": "លុបអ្នកប្រើប្រាស់", + "desc": "សកម្មភាពនេះមិនអាចត្រឡប់វិញបានទេ។ វានឹងលុបគណនីអ្នកប្រើប្រាស់ជាអចិន្ត្រៃយ៍ និងដកទិន្នន័យដែលពាក់ព័ន្ធទាំងអស់ចេញ។", + "warn": "តើអ្នកប្រាកដថាចង់លុប {{username}} ដែរឬទេ?" + }, + "passwordSetting": { + "cannotBeEmpty": "ពាក្យសម្ងាត់មិនអាចទទេបានទេ", + "doNotMatch": "ពាក្យសម្ងាត់មិនត្រូវគ្នា", + "currentPasswordRequired": "ពាក្យសម្ងាត់បច្ចុប្បន្នគឺចាំបាច់", + "incorrectCurrentPassword": "ពាក្យសម្ងាត់បច្ចុប្បន្នមិនត្រឹមត្រូវ", + "passwordVerificationFailed": "បរាជ័យក្នុងការផ្ទៀងផ្ទាត់ពាក្យសម្ងាត់", + "updatePassword": "ធ្វើបច្ចុប្បន្នភាពពាក្យសម្ងាត់សម្រាប់ {{username}}", + "setPassword": "កំណត់ពាក្យសម្ងាត់", + "desc": "បង្កើតពាក្យសម្ងាត់ខ្លាំង ដើម្បីការពារគណនីនេះ។", + "multiDeviceWarning": "ឧបករណ៍ផ្សេងទៀតដែលអ្នកបានចូល នឹងត្រូវបានទាមទារឱ្យចូលឡើងវិញក្នុងរយៈពេល {{refresh_time}}។", + "multiDeviceAdmin": "អ្នកក៏អាចបង្ខំអ្នកប្រើប្រាស់ទាំងអស់ឱ្យផ្ទៀងផ្ទាត់អត្តសញ្ញាណឡើងវិញភ្លាមៗ ដោយការបង្វិល JWT secret របស់អ្នក។" + }, + "changeRole": { + "title": "ផ្លាស់ប្តូរតួនាទីអ្នកប្រើប្រាស់", + "select": "ជ្រើសរើសតួនាទី", + "desc": "ធ្វើបច្ចុប្បន្នភាពការអនុញ្ញាតសម្រាប់ {{username}}", + "roleInfo": { + "intro": "ជ្រើសរើសតួនាទីដែលសមស្របសម្រាប់អ្នកប្រើប្រាស់នេះ៖", + "admin": "អ្នកគ្រប់គ្រង", + "adminDesc": "ចូលប្រើប្រាស់ពេញលេញនូវមុខងារទាំងអស់។", + "viewer": "អ្នកមើល", + "viewerDesc": "កំណត់ត្រឹមតែផ្ទាំងបញ្ជាផ្ទាល់ ការត្រួតពិនិត្យ ការរុករក និងការនាំចេញប៉ុណ្ណោះ។", + "customDesc": "តួនាទីផ្ទាល់ខ្លួនដែលមានការចូលប្រើកាមេរ៉ាជាក់លាក់។" + } + } + } + }, + "roles": { + "management": { + "title": "ការគ្រប់គ្រងតួនាទីអ្នកមើល", + "desc": "គ្រប់គ្រងតួនាទីអ្នកមើលផ្ទាល់ខ្លួន និងការអនុញ្ញាតចូលប្រើកាមេរ៉ារបស់ពួកគេ សម្រាប់ Frigate នេះ។" + }, + "addRole": "បន្ថែមតួនាទី", + "table": { + "role": "តួនាទី", + "cameras": "កាមេរ៉ា", + "actions": "សកម្មភាព", + "noRoles": "រកមិនឃើញតួនាទីផ្ទាល់ខ្លួនទេ។", + "editCameras": "កែសម្រួលកាមេរ៉ា", + "deleteRole": "លុបតួនាទី" + }, + "toast": { + "success": { + "createRole": "តួនាទី {{role}} ត្រូវបានបង្កើតដោយជោគជ័យ", + "updateCameras": "កាមេរ៉ាត្រូវបានធ្វើបច្ចុប្បន្នភាពសម្រាប់តួនាទី {{role}}", + "deleteRole": "តួនាទី {{role}} ត្រូវបានលុបដោយជោគជ័យ", + "userRolesUpdated_other": "អ្នកប្រើប្រាស់ {{count}} នាក់ដែលបានកំណត់ឱ្យតួនាទីនេះ ត្រូវបានធ្វើបច្ចុប្បន្នភាពទៅជា 'អ្នកមើល' ដែលមានសិទ្ធិចូលប្រើកាមេរ៉ាទាំងអស់។" + }, + "error": { + "createRoleFailed": "បរាជ័យក្នុងការបង្កើតតួនាទី៖ {{errorMessage}}", + "updateCamerasFailed": "បរាជ័យក្នុងការធ្វើបច្ចុប្បន្នភាពកាមេរ៉ា៖ {{errorMessage}}", + "deleteRoleFailed": "បរាជ័យក្នុងការលុបតួនាទី៖ {{errorMessage}}", + "userUpdateFailed": "បរាជ័យក្នុងការធ្វើបច្ចុប្បន្នភាពតួនាទីអ្នកប្រើប្រាស់៖ {{errorMessage}}" + } + }, + "dialog": { + "createRole": { + "title": "បង្កើតតួនាទីថ្មី", + "desc": "បន្ថែមតួនាទីថ្មី និងកំណត់ការអនុញ្ញាតចូលប្រើកាមេរ៉ា។" + }, + "editCameras": { + "title": "កែសម្រួលកាមេរ៉ារបស់តួនាទី", + "desc": "ធ្វើបច្ចុប្បន្នភាពការចូលប្រើកាមេរ៉ាសម្រាប់តួនាទី {{role}}។" + }, + "deleteRole": { + "title": "លុបតួនាទី", + "desc": "សកម្មភាពនេះមិនអាចត្រឡប់វិញបានទេ។ វានឹងលុបតួនាទីនេះជាអចិន្ត្រៃយ៍ ហើយកំណត់អ្នកប្រើប្រាស់ណាដែលមានតួនាទីនេះ ទៅជាតួនាទី 'អ្នកមើល' ដែលនឹងផ្តល់សិទ្ធិចូលប្រើកាមេរ៉ាទាំងអស់។", + "warn": "តើអ្នកប្រាកដថាចង់លុប {{role}} ដែរឬទេ?", + "deleting": "កំពុងលុប..." + }, + "form": { + "role": { + "title": "ឈ្មោះតួនាទី", + "placeholder": "បញ្ចូលឈ្មោះតួនាទី", + "desc": "អនុញ្ញាតតែអក្សរ លេខ សញ្ញាចុច និងសញ្ញា _ ប៉ុណ្ណោះ។", + "roleIsRequired": "ឈ្មោះតួនាទីគឺចាំបាច់", + "roleOnlyInclude": "ឈ្មោះតួនាទីអាចមានតែអក្សរ លេខ . ឬ _ ប៉ុណ្ណោះ", + "roleExists": "តួនាទីដែលមានឈ្មោះនេះមានរួចហើយ។" + }, + "cameras": { + "title": "កាមេរ៉ា", + "desc": "ជ្រើសរើសកាមេរ៉ាដែលតួនាទីនេះមានសិទ្ធិចូលប្រើ។ ត្រូវការយ៉ាងហោចណាស់មួយកាមេរ៉ា។", + "required": "ត្រូវជ្រើសរើសយ៉ាងហោចណាស់មួយកាមេរ៉ា។" + } + } + } + }, + "notification": { + "title": "ការជូនដំណឹង", + "notificationSettings": { + "title": "ការកំណត់ការជូនដំណឹង", + "desc": "Frigate អាចផ្ញើការជូនដំណឹង Push ទៅឧបករណ៍របស់អ្នកដោយផ្ទាល់ នៅពេលដែលវាកំពុងដំណើរការក្នុងកម្មវិធីរុករក ឬបានដំឡើងជា PWA។" + }, + "notificationUnavailable": { + "title": "ការជូនដំណឹងមិនអាចប្រើបាន", + "desc": "ការជូនដំណឹង Push លើវេប ត្រូវការបរិយាកាសសុវត្ថិភាព (https://…)។ នេះគឺជាការកំណត់របស់កម្មវិធីរុករក។ ចូលប្រើ Frigate ដោយសុវត្ថិភាព ដើម្បីប្រើការជូនដំណឹង។",
+ "descPwa": "នៅលើ iOS ការជូនដំណឹង Push លើវេប អាចប្រើបានតែនៅពេលដែល Frigate ត្រូវបានដំឡើងទៅកាន់អេក្រង់ដើមរបស់អ្នក។ បើកម៉ឺនុយ ចែករំលែក ជ្រើសរើស បន្ថែមទៅអេក្រង់ដើម បន្ទាប់មកបើក Frigate ពីរូបតំណាងថ្មី ដើម្បីចុះឈ្មោះឧបករណ៍នេះសម្រាប់ការជូនដំណឹង។"
+ },
+ "globalSettings": {
+ "title": "ការកំណត់សកល",
+ "desc": "ផ្អាកការជូនដំណឹងជាបណ្តោះអាសន្នសម្រាប់កាមេរ៉ាជាក់លាក់ នៅលើឧបករណ៍ដែលបានចុះឈ្មោះទាំងអស់។"
+ },
+ "email": {
+ "title": "អ៊ីមែល",
+ "placeholder": "ឧ. example@email.com",
+ "desc": "អ៊ីមែលត្រឹមត្រូវគឺចាំបាច់ ហើយនឹងត្រូវបានប្រើដើម្បីជូនដំណឹងអ្នក ប្រសិនបើមានបញ្ហាណាមួយជាមួយសេវាកម្ម Push។"
+ },
+ "cameras": {
+ "title": "កាមេរ៉ា",
+ "noCameras": "មិនមានកាមេរ៉ាទេ",
+ "desc": "ជ្រើសរើសកាមេរ៉ាណាដែលត្រូវបើកការជូនដំណឹង។"
+ },
+ "deviceSpecific": "ការកំណត់ជាក់លាក់នៃឧបករណ៍",
+ "registerDevice": "ចុះឈ្មោះឧបករណ៍នេះ",
+ "unregisterDevice": "ដកការចុះឈ្មោះឧបករណ៍នេះ",
+ "sendTestNotification": "ផ្ញើការជូនដំណឹងសាកល្បង",
+ "unsavedRegistrations": "ការចុះឈ្មោះការជូនដំណឹងដែលមិនបានរក្សាទុក",
+ "unsavedChanges": "ការផ្លាស់ប្តូរការជូនដំណឹងដែលមិនបានរក្សាទុក",
+ "active": "ការជូនដំណឹងកំពុងសកម្ម",
+ "suspended": "ការជូនដំណឹងត្រូវបានផ្អាក {{time}}",
+ "suspendTime": {
+ "suspend": "ផ្អាក",
+ "5minutes": "ផ្អាករយៈពេល ៥ នាទី",
+ "10minutes": "ផ្អាករយៈពេល ១០ នាទី",
+ "30minutes": "ផ្អាករយៈពេល ៣០ នាទី",
+ "1hour": "ផ្អាករយៈពេល ១ ម៉ោង",
+ "12hours": "ផ្អាករយៈពេល ១២ ម៉ោង",
+ "24hours": "ផ្អាករយៈពេល ២៤ ម៉ោង",
+ "untilRestart": "ផ្អាករហូតដល់ចាប់ផ្តើមឡើងវិញ"
+ },
+ "cancelSuspension": "បោះបង់ការផ្អាក",
+ "toast": {
+ "success": {
+ "registered": "បានចុះឈ្មោះសម្រាប់ការជូនដំណឹងដោយជោគជ័យ។ ការចាប់ផ្តើម Frigate ឡើងវិញគឺចាំបាច់ មុនពេលការជូនដំណឹងណាមួយ (រួមទាំងការជូនដំណឹងសាកល្បង) អាចត្រូវបានផ្ញើ។",
+ "settingSaved": "ការកំណត់ការជូនដំណឹងត្រូវបានរក្សាទុក។"
+ },
+ "error": {
+ "registerFailed": "បរាជ័យក្នុងការរក្សាទុកការចុះឈ្មោះការជូនដំណឹង។"
+ }
+ }
+ },
+ "frigatePlus": {
+ "title": "ការកំណត់ Frigate+",
+ "description": "Frigate+ គឺជាសេវាកម្មជាវដែលផ្តល់ការចូលប្រើប្រាស់មុខងារ និងសមត្ថភាពបន្ថែម សម្រាប់ Frigate របស់អ្នក រួមទាំងសមត្ថភាពក្នុងការប្រើប្រាស់ម៉ូដែលរកឃើញវត្ថុផ្ទាល់ខ្លួន ដែលបានបណ្តុះបណ្តាលលើទិន្នន័យរបស់អ្នកផ្ទាល់។ អ្នកអាចគ្រប់គ្រងការកំណត់ម៉ូដែល Frigate+ របស់អ្នកនៅទីនេះ។",
+ "cardTitles": {
+ "api": "API",
+ "currentModel": "ម៉ូដែលបច្ចុប្បន្ន",
+ "otherModels": "ម៉ូដែលផ្សេងទៀត",
+ "configuration": "ការកំណត់"
+ },
+ "apiKey": {
+ "title": "Frigate+ API Key",
+ "validated": "Frigate+ API key ត្រូវបានរកឃើញ និងផ្ទៀងផ្ទាត់",
+ "notValidated": "Frigate+ API key មិនត្រូវបានរកឃើញ ឬមិនបានផ្ទៀងផ្ទាត់",
+ "desc": "Frigate+ API key អនុញ្ញាតឱ្យមានការរួមបញ្ចូលជាមួយសេវាកម្ម Frigate+។",
+ "plusLink": "អានបន្ថែមអំពី Frigate+"
+ },
+ "snapshotConfig": {
+ "title": "ការកំណត់រូបថត",
+ "desc": "ការដាក់ស្នើទៅ Frigate+ តម្រូវឱ្យបើករូបថតនៅក្នុងការកំណត់របស់អ្នក។",
+ "cleanCopyWarning": "កាមេរ៉ាមួយចំនួនបានបិទរូបថត",
+ "table": {
+ "camera": "កាមេរ៉ា",
+ "snapshots": "រូបថត"
+ }
+ },
+ "modelInfo": {
+ "title": "ព័ត៌មានម៉ូដែល",
+ "modelType": "ប្រភេទម៉ូដែល",
+ "trainDate": "កាលបរិច្ឆេទបណ្តុះបណ្តាល",
+ "baseModel": "ម៉ូដែលមូលដ្ឋាន",
+ "plusModelType": {
+ "baseModel": "ម៉ូដែលមូលដ្ឋាន",
+ "userModel": "បានកែសម្រួល"
+ },
+ "supportedDetectors": "ឧបករណ៍រកឃើញដែលគាំទ្រ",
+ "cameras": "កាមេរ៉ា",
+ "loading": "កំពុងផ្ទុកព័ត៌មានម៉ូដែល…",
+ "error": "បរាជ័យក្នុងការផ្ទុកព័ត៌មានម៉ូដែល",
+ "noModelLoaded": "បច្ចុប្បន្នមិនមានម៉ូដែល Frigate+ ណាមួយត្រូវបានផ្ទុកទេ។",
+ "availableModels": "ម៉ូដែល Frigate+ ដែលមាន",
+ "loadingAvailableModels": "កំពុងផ្ទុកម៉ូដែលដែលមាន…",
+ "selectModel": "ជ្រើសរើសម៉ូដែល",
+ "noModelsAvailable": "មិនមានម៉ូដែលទេ",
+ "filter": {
+ "ariaLabel": "តម្រងម៉ូដែលតាមប្រភេទ",
+ "baseModels": "ម៉ូដែលមូលដ្ឋាន",
+ "fineTunedModels": "ម៉ូដែលដែលបានកែសម្រួល"
+ },
+ "modelSelect": "ម៉ូដែលដែលមានរបស់អ្នកនៅលើ Frigate+ អាចត្រូវបានជ្រើសរើសនៅទីនេះ។ សូមចំណាំថា មានតែម៉ូដែលដែលឆបគ្នានឹងការកំណត់ឧបករណ៍រកឃើញបច្ចុប្បន្នរបស់អ្នកប៉ុណ្ណោះ ដែលអាចត្រូវបានជ្រើសរើស។"
+ },
+ "changeInDetectorsAndModel": "ផ្លាស់ប្តូរម៉ូដែល",
+ "unsavedChanges": "ការផ្លាស់ប្តូរការកំណត់ Frigate+ ដែលមិនបានរក្សាទុក",
+ "restart_required": "ត្រូវការចាប់ផ្តើមឡើងវិញ (ម៉ូដែល Frigate+ បានផ្លាស់ប្តូរ)",
+ "toast": {
+ "success": "ការកំណត់ Frigate+ ត្រូវបានរក្សាទុក។ សូមចាប់ផ្តើម Frigate ឡើងវិញដើម្បីអនុវត្តការផ្លាស់ប្តូរ។",
+ "error": "បរាជ័យក្នុងការរក្សាទុកការផ្លាស់ប្តូរការកំណត់៖ {{errorMessage}}"
+ }
+ },
+ "detectorsAndModel": {
+ "title": "ឧបករណ៍រកឃើញ និងម៉ូដែល",
+ "description": "កំណត់ផ្នែកខាងក្រោយនៃឧបករណ៍រកឃើញដែលដំណើរការការរកឃើញវត្ថុ និងម៉ូដែលដែលវាប្រើ។ ការផ្លាស់ប្តូរត្រូវបានរក្សាទុកជាមួយគ្នា ដើម្បីឱ្យឧបករណ៍រកឃើញ និងម៉ូដែលនៅតែស៊ីគ្នា។",
+ "cardTitles": {
+ "detector": "ផ្នែករឹងឧបករណ៍រកឃើញ",
+ "model": "ម៉ូដែលរកឃើញ"
+ },
+ "tabs": {
+ "plus": "Frigate+",
+ "custom": "ម៉ូដែលផ្ទាល់ខ្លួន"
+ },
+ "mismatch": {
+ "warning": "ម៉ូដែល Frigate+ បច្ចុប្បន្ន \"{{model}}\" ត្រូវការឧបករណ៍រកឃើញ {{required}}។ ជ្រើសរើសម៉ូដែលដែលឆបគ្នាខាងក្រោម ឬប្តូរទៅម៉ូដែលផ្ទាល់ខ្លួន មុនពេលរក្សាទុក។"
+ },
+ "plusModel": {
+ "requiresDetector": "ត្រូវការ៖ {{detector}}",
+ "noModelSelected": "ជ្រើសរើសម៉ូដែល Frigate+"
+ },
+ "toast": {
+ "saveSuccess": "ការកំណត់ឧបករណ៍រកឃើញ និងម៉ូដែលត្រូវបានរក្សាទុក។ សូមចាប់ផ្តើម Frigate ឡើងវិញដើម្បីអនុវត្តការផ្លាស់ប្តូរ។",
+ "saveError": "បរាជ័យក្នុងការរក្សាទុកការកំណត់ឧបករណ៍រកឃើញ និងម៉ូដែល"
+ },
+ "unsavedChanges": "ការផ្លាស់ប្តូរឧបករណ៍រកឃើញ និងម៉ូដែលដែលមិនបានរក្សាទុក",
+ "restartRequired": "ត្រូវការចាប់ផ្តើមឡើងវិញ (ឧបករណ៍រកឃើញ ឬម៉ូដែល បានផ្លាស់ប្តូរ)"
+ },
+ "triggers": {
+ "documentTitle": "កេះ",
+ "semanticSearch": {
+ "title": "ការស្វែងរកតាមអត្ថន័យត្រូវបានបិទ",
+ "desc": "ការស្វែងរកតាមអត្ថន័យត្រូវតែបើក ដើម្បីប្រើកេះ។"
+ },
+ "management": {
+ "title": "កេះ",
+ "desc": "គ្រប់គ្រងកេះសម្រាប់ {{camera}}។ ប្រើប្រភេទរូបភាពតូច ដើម្បីកេះលើរូបភាពតូចដែលស្រដៀងនឹង វត្ថុដែលបានតាមដានដែលអ្នកបានជ្រើសរើស និងប្រភេទការពិពណ៌នា ដើម្បីកេះលើការពិពណ៌នាដែលស្រដៀងនឹងអត្ថបទដែលអ្នកបានកំណត់។"
+ },
+ "addTrigger": "បន្ថែមកេះ",
+ "table": {
+ "name": "ឈ្មោះ",
+ "type": "ប្រភេទ",
+ "content": "មាតិកា",
+ "threshold": "កម្រិត",
+ "actions": "សកម្មភាព",
+ "noTriggers": "មិនមានកេះណាមួយត្រូវបានកំណត់សម្រាប់កាមេរ៉ានេះទេ។",
+ "edit": "កែសម្រួល",
+ "deleteTrigger": "លុបកេះ",
+ "lastTriggered": "បានកេះចុងក្រោយ"
+ },
+ "type": {
+ "thumbnail": "រូបភាពតូច",
+ "description": "ការពិពណ៌នា"
+ },
+ "actions": {
+ "notification": "ផ្ញើការជូនដំណឹង",
+ "sub_label": "បន្ថែមស្លាករង",
+ "attribute": "បន្ថែមគុណលក្ខណៈ"
+ },
+ "dialog": {
+ "createTrigger": {
+ "title": "បង្កើតកេះ",
+ "desc": "បង្កើតកេះសម្រាប់កាមេរ៉ា {{camera}}"
+ },
+ "editTrigger": {
+ "title": "កែសម្រួលកេះ",
+ "desc": "កែសម្រួលការកំណត់សម្រាប់កេះនៅលើកាមេរ៉ា {{camera}}"
+ },
+ "deleteTrigger": {
+ "title": "លុបកេះ",
+ "desc": "តើអ្នកប្រាកដថាចង់លុបកេះ {{triggerName}} ដែរឬទេ? សកម្មភាពនេះមិនអាចត្រឡប់វិញបានទេ។"
+ },
+ "form": {
+ "name": {
+ "title": "ឈ្មោះ",
+ "placeholder": "ដាក់ឈ្មោះកេះនេះ",
+ "description": "បញ្ចូលឈ្មោះ ឬការពិពណ៌នាតែមួយគត់ ដើម្បីសម្គាល់កេះនេះ",
+ "error": {
+ "minLength": "វាលត្រូវតែមានប្រវែងយ៉ាងហោចណាស់ ២ តួអក្សរ។",
+ "invalidCharacters": "វាលអាចមានតែអក្សរ លេខ សញ្ញា _ និងសញ្ញា - ប៉ុណ្ណោះ។",
+ "alreadyExists": "កេះដែលមានឈ្មោះនេះមានរួចហើយសម្រាប់កាមេរ៉ានេះ។"
+ }
+ },
+ "enabled": {
+ "description": "បើក ឬបិទកេះនេះ"
+ },
+ "type": {
+ "title": "ប្រភេទ",
+ "placeholder": "ជ្រើសរើសប្រភេទកេះ",
+ "description": "កេះនៅពេលដែលការពិពណ៌នាវត្ថុដែលបានតាមដានស្រដៀងគ្នាត្រូវបានរកឃើញ",
+ "thumbnail": "កេះនៅពេលដែលរូបភាពតូចនៃវត្ថុដែលបានតាមដានស្រដៀងគ្នាត្រូវបានរកឃើញ"
+ },
+ "content": {
+ "title": "មាតិកា",
+ "imagePlaceholder": "ជ្រើសរើសរូបភាពតូច",
+ "textPlaceholder": "បញ្ចូលមាតិកាអត្ថបទ",
+ "imageDesc": "មានតែរូបភាពតូចចំនួន ១០០ ចុងក្រោយប៉ុណ្ណោះដែលត្រូវបានបង្ហាញ។ ប្រសិនបើអ្នករកមិនឃើញរូបភាពតូចដែលអ្នកចង់បាន សូមត្រួតពិនិត្យវត្ថុមុនៗនៅក្នុងការរុករក ហើយកំណត់កេះពីម៉ឺនុយនៅទីនោះ។",
+ "textDesc": "បញ្ចូលអត្ថបទដើម្បីកេះសកម្មភាពនេះ នៅពេលដែលការពិពណ៌នាវត្ថុដែលបានតាមដានស្រដៀងគ្នាត្រូវបានរកឃើញ។",
+ "error": {
+ "required": "មាតិកាគឺចាំបាច់។"
+ }
+ },
+ "threshold": {
+ "title": "កម្រិត",
+ "desc": "កំណត់កម្រិតភាពស្រដៀងគ្នាសម្រាប់កេះនេះ។ កម្រិតខ្ពស់ជាងនេះមានន័យថា ត្រូវការការផ្គូផ្គងដែលជិតស្និទ្ធជាងមុន ដើម្បីបញ្ចេញកេះ។",
+ "error": {
+ "min": "កម្រិតត្រូវតែយ៉ាងហោចណាស់ 0",
+ "max": "កម្រិតត្រូវតែអតិបរមា 1"
+ }
+ },
+ "actions": {
+ "title": "សកម្មភាព",
+ "desc": "ជាលំនាំដើម Frigate បញ្ចេញសារ MQTT សម្រាប់កេះទាំងអស់។ ស្លាករងបន្ថែមឈ្មោះកេះទៅស្លាកវត្ថុ។ គុណលក្ខណៈគឺជាទិន្នន័យមេតាដែលអាចស្វែងរកបាន ដែលរក្សាទុកដាច់ដោយឡែកនៅក្នុងទិន្នន័យមេតានៃវត្ថុដែលបានតាមដាន។",
+ "error": {
+ "min": "ត្រូវជ្រើសរើសយ៉ាងហោចណាស់មួយសកម្មភាព។"
+ }
+ }
+ }
+ },
+ "wizard": {
+ "title": "បង្កើតកេះ",
+ "step1": {
+ "description": "កំណត់ការកំណត់មូលដ្ឋានសម្រាប់កេះរបស់អ្នក។"
+ },
+ "step2": {
+ "description": "កំណត់មាតិកាដែលនឹងកេះសកម្មភាពនេះ។"
+ },
+ "step3": {
+ "description": "កំណត់កម្រិត និងសកម្មភាពសម្រាប់កេះនេះ។"
+ },
+ "steps": {
+ "nameAndType": "ឈ្មោះ និងប្រភេទ",
+ "configureData": "កំណត់ទិន្នន័យ",
+ "thresholdAndActions": "កម្រិត និងសកម្មភាព"
+ }
+ },
+ "toast": {
+ "success": {
+ "createTrigger": "កេះ {{name}} ត្រូវបានបង្កើតដោយជោគជ័យ។",
+ "updateTrigger": "កេះ {{name}} ត្រូវបានធ្វើបច្ចុប្បន្នភាពដោយជោគជ័យ។",
+ "deleteTrigger": "កេះ {{name}} ត្រូវបានលុបដោយជោគជ័យ។"
+ },
+ "error": {
+ "createTriggerFailed": "បរាជ័យក្នុងការបង្កើតកេះ៖ {{errorMessage}}",
+ "updateTriggerFailed": "បរាជ័យក្នុងការធ្វើបច្ចុប្បន្នភាពកេះ៖ {{errorMessage}}",
+ "deleteTriggerFailed": "បរាជ័យក្នុងការលុបកេះ៖ {{errorMessage}}"
+ }
+ }
+ },
+ "maintenance": {
+ "title": "ការថែទាំ",
+ "sync": {
+ "title": "ការធ្វើសមកាលកម្មមេឌៀ",
+ "desc": "Frigate នឹងសម្អាតមេឌៀជាប្រចាំតាមកាលវិភាគ យោងតាមការកំណត់ការរក្សាទុករបស់អ្នក។ វាជារឿងធម្មតាដែលឃើញឯកសារដែលគ្មានម្ចាស់មួយចំនួន នៅពេល Frigate ដំណើរការ។ ប្រើមុខងារនេះដើម្បីដកឯកសារមេឌៀដែលគ្មានម្ចាស់ចេញពីថាស ដែលលែងត្រូវបានយោងនៅក្នុងមូលដ្ឋានទិន្នន័យ។",
+ "started": "ការធ្វើសមកាលកម្មមេឌៀបានចាប់ផ្តើម។",
+ "alreadyRunning": "ការងារធ្វើសមកាលកម្មកំពុងដំណើរការរួចហើយ",
+ "error": "បរាជ័យក្នុងការចាប់ផ្តើមការធ្វើសមកាលកម្ម",
+ "currentStatus": "ស្ថានភាព",
+ "jobId": "លេខសម្គាល់ការងារ",
+ "startTime": "ពេលវេលាចាប់ផ្តើម",
+ "endTime": "ពេលវេលាបញ្ចប់",
+ "statusLabel": "ស្ថានភាព",
+ "results": "លទ្ធផល",
+ "errorLabel": "កំហុស",
+ "mediaTypes": "ប្រភេទមេឌៀ",
+ "allMedia": "មេឌៀទាំងអស់",
+ "dryRun": "ដំណើរការសាកល្បង",
+ "dryRunEnabled": "គ្មានឯកសារណាមួយនឹងត្រូវបានលុបទេ",
+ "dryRunDisabled": "ឯកសារនឹងត្រូវបានលុប",
+ "force": "បង្ខំ",
+ "forceDesc": "រំលងកម្រិតសុវត្ថិភាព និងបញ្ចប់ការធ្វើសមកាលកម្ម ទោះបីជាឯកសារជាង ៥០% នឹងត្រូវបានលុបក៏ដោយ។",
+ "verbose": "លម្អិត",
+ "verboseDesc": "សរសេរបញ្ជីពេញលេញនៃឯកសារដែលគ្មានម្ចាស់ទៅថាស ដើម្បីត្រួតពិនិត្យ។",
+ "running": "កំពុងដំណើរការការធ្វើសមកាលកម្ម...",
+ "start": "ចាប់ផ្តើមការធ្វើសមកាលកម្ម",
+ "inProgress": "ការធ្វើសមកាលកម្មកំពុងដំណើរការ។ ទំព័រនេះត្រូវបានបិទ។",
+ "status": {
+ "queued": "ក្នុងជួរ",
+ "running": "កំពុងដំណើរការ",
+ "completed": "បានបញ្ចប់",
+ "failed": "បានបរាជ័យ",
+ "notRunning": "មិនកំពុងដំណើរការ"
+ },
+ "resultsFields": {
+ "filesChecked": "ឯកសារដែលបានពិនិត្យ",
+ "orphansFound": "ឯកសារគ្មានម្ចាស់ដែលរកឃើញ",
+ "orphansDeleted": "ឯកសារគ្មានម្ចាស់ដែលបានលុប",
+ "aborted": "បានបោះបង់។ ការលុបនឹងលើសពីកម្រិតសុវត្ថិភាព។",
+ "error": "កំហុស",
+ "totals": "សរុប"
+ },
+ "event_snapshots": "រូបថតវត្ថុដែលបានតាមដាន",
+ "event_thumbnails": "រូបភាពតូចវត្ថុដែលបានតាមដាន",
+ "review_thumbnails": "រូបភាពតូចត្រួតពិនិត្យ",
+ "previews": "ការមើលជាមុន",
+ "exports": "ការនាំចេញ",
+ "recordings": "ការថត"
+ },
+ "regionGrid": {
+ "title": "ក្រឡាតំបន់",
+ "desc": "ក្រឡាតំបន់គឺជាការបង្កើនប្រសិទ្ធភាព ដែលរៀនពីកន្លែងដែលវត្ថុដែលមានទំហំផ្សេងៗគ្នា ជាធម្មតាលេចឡើងនៅក្នុងដែនមើលឃើញរបស់កាមេរ៉ានីមួយៗ។ Frigate ប្រើទិន្នន័យនេះដើម្បីកំណត់ទំហំតំបន់រកឃើញប្រកបដោយប្រសិទ្ធភាព។ ក្រឡានេះត្រូវបានបង្កើតឡើងដោយស្វ័យប្រវត្តិតាមពេលវេលា ពីទិន្នន័យវត្ថុដែលបានតាមដាន។",
+ "clear": "សម្អាតក្រឡាតំបន់",
+ "clearConfirmTitle": "សម្អាតក្រឡាតំបន់",
+ "clearConfirmDesc": "ការសម្អាតក្រឡាតំបន់មិនត្រូវបានណែនាំទេ លើកលែងតែអ្នកបានផ្លាស់ប្តូរទំហំម៉ូដែលឧបករណ៍រកឃើញរបស់អ្នកថ្មីៗនេះ ឬបានផ្លាស់ប្តូរទីតាំងរូបវន្តរបស់កាមេរ៉ាអ្នក ហើយកំពុងមានបញ្ហាការតាមដានវត្ថុ។ ក្រឡានឹងត្រូវបានកសាងឡើងវិញដោយស្វ័យប្រវត្តិតាមពេលវេលា នៅពេលដែលវត្ថុត្រូវបានតាមដាន។ ការចាប់ផ្តើម Frigate ឡើងវិញគឺចាំបាច់ ដើម្បីឱ្យការផ្លាស់ប្តូរមានប្រសិទ្ធភាព។",
+ "clearSuccess": "ក្រឡាតំបន់ត្រូវបានសម្អាតដោយជោគជ័យ",
+ "clearError": "បរាជ័យក្នុងការសម្អាតក្រឡាតំបន់",
+ "restartRequired": "ត្រូវការចាប់ផ្តើមឡើងវិញ ដើម្បីឱ្យការផ្លាស់ប្តូរក្រឡាតំបន់មានប្រសិទ្ធភាព"
+ }
+ },
+ "configForm": {
+ "global": {
+ "title": "ការកំណត់សកល",
+ "description": "ការកំណត់ទាំងនេះអនុវត្តចំពោះកាមេរ៉ាទាំងអស់ លើកលែងតែត្រូវបានផ្លាស់ប្តូរនៅក្នុងការកំណត់ជាក់លាក់នៃកាមេរ៉ា។"
+ },
+ "camera": {
+ "title": "ការកំណត់កាមេរ៉ា",
+ "description": "ការកំណត់ទាំងនេះអនុវត្តតែចំពោះកាមេរ៉ានេះប៉ុណ្ណោះ ហើយផ្លាស់ប្តូរការកំណត់សកល។",
+ "noCameras": "មិនមានកាមេរ៉ាទេ"
+ },
+ "advancedSettingsCount": "ការកំណត់កម្រិតខ្ពស់ ({{count}})",
+ "advancedCount": "កម្រិតខ្ពស់ ({{count}})",
+ "showAdvanced": "បង្ហាញការកំណត់កម្រិតខ្ពស់",
+ "tabs": {
+ "sharedDefaults": "លំនាំដើមដែលបានចែករំលែក",
+ "system": "ប្រព័ន្ធ",
+ "integrations": "ការរួមបញ្ចូល"
+ },
+ "additionalProperties": {
+ "keyLabel": "គន្លឹះ",
+ "valueLabel": "តម្លៃ",
+ "keyPlaceholder": "គន្លឹះថ្មី",
+ "remove": "ដកចេញ",
+ "providerNameLabel": "ឈ្មោះអ្នកផ្តល់សេវា",
+ "providerNamePlaceholder": "ឧ. openai",
+ "variableNameLabel": "ឈ្មោះអថេរ",
+ "variableNamePlaceholder": "ឧ. MY_VARIABLE",
+ "loggerNameLabel": "ឈ្មោះ Logger",
+ "loggerNamePlaceholder": "ឧ. frigate.record",
+ "keyPatternError": "ប្រើតែអក្សរ លេខ សញ្ញា - និងសញ្ញា _ (គ្មានចន្លោះ)"
+ },
+ "knownPlates": {
+ "namePlaceholder": "ឧ. ឡានប្រពន្ធ",
+ "platePlaceholder": "លេខផ្លាក ឬ regex"
+ },
+ "liveStreams": {
+ "streamNameLabel": "ឈ្មោះស្ទ្រីម",
+ "streamNamePlaceholder": "ឧ. Main HD Stream",
+ "go2rtcStreamLabel": "ស្ទ្រីម go2rtc",
+ "go2rtcStreamPlaceholder": "ជ្រើសរើសស្ទ្រីម go2rtc",
+ "go2rtcStreamSearch": "ស្វែងរក ឬបញ្ចូលឈ្មោះស្ទ្រីម…",
+ "noGo2rtcStreams": "មិនមានស្ទ្រីម go2rtc ត្រូវបានកំណត់",
+ "availableStreams": "ស្ទ្រីមដែលមាន",
+ "useCustom": "ប្រើ \"{{value}}\"",
+ "addStream": "បន្ថែមស្ទ្រីម"
+ },
+ "timezone": {
+ "defaultOption": "ប្រើតំបន់ពេលវេលារបស់កម្មវិធីរុករក"
+ },
+ "roleMap": {
+ "empty": "គ្មានការផ្គូផ្គងតួនាទី",
+ "roleLabel": "តួនាទី",
+ "groupsLabel": "ក្រុម",
+ "addMapping": "បន្ថែមការផ្គូផ្គងតួនាទី",
+ "remove": "ដកចេញ"
+ },
+ "ffmpegArgs": {
+ "preset": "ការកំណត់ជាមុន",
+ "manual": "អាគុយម៉ង់ដោយដៃ",
+ "inherit": "ទទួលមរតកពីការកំណត់កាមេរ៉ា",
+ "none": "គ្មាន",
+ "useGlobalSetting": "ទទួលមរតកពីការកំណត់សកល",
+ "selectPreset": "ជ្រើសរើសការកំណត់ជាមុន",
+ "manualPlaceholder": "បញ្ចូលអាគុយម៉ង់ FFmpeg",
+ "presetLabels": {
+ "preset-rpi-64-h264": "Raspberry Pi (H.264)",
+ "preset-rpi-64-h265": "Raspberry Pi (H.265)",
+ "preset-vaapi": "VAAPI (Intel/AMD GPU)",
+ "preset-intel-qsv-h264": "Intel QuickSync (H.264)",
+ "preset-intel-qsv-h265": "Intel QuickSync (H.265)",
+ "preset-nvidia": "NVIDIA GPU",
+ "preset-jetson-h264": "NVIDIA Jetson (H.264)",
+ "preset-jetson-h265": "NVIDIA Jetson (H.265)",
+ "preset-rkmpp": "Rockchip RKMPP",
+ "preset-http-jpeg-generic": "HTTP JPEG (ទូទៅ)",
+ "preset-http-mjpeg-generic": "HTTP MJPEG (ទូទៅ)",
+ "preset-http-reolink": "HTTP - កាមេរ៉ា Reolink",
+ "preset-rtmp-generic": "RTMP (ទូទៅ)",
+ "preset-rtsp-generic": "RTSP (ទូទៅ)",
+ "preset-rtsp-restream": "RTSP - Restream ពី go2rtc",
+ "preset-rtsp-restream-low-latency": "RTSP - Restream ពី go2rtc (ភាពយឺតយ៉ាវទាប)",
+ "preset-rtsp-udp": "RTSP - UDP",
+ "preset-rtsp-blue-iris": "RTSP - Blue Iris",
+ "preset-record-generic": "ថត (ទូទៅ, គ្មានសំឡេង)",
+ "preset-record-generic-audio-copy": "ថត (ទូទៅ + ចម្លងសំឡេង)",
+ "preset-record-generic-audio-aac": "ថត (ទូទៅ + សំឡេងទៅ AAC)",
+ "preset-record-mjpeg": "ថត - កាមេរ៉ា MJPEG",
+ "preset-record-jpeg": "ថត - កាមេរ៉ា JPEG",
+ "preset-record-ubiquiti": "ថត - កាមេរ៉ា Ubiquiti"
+ }
+ },
+ "cameraInputs": {
+ "itemTitle": "ស្ទ្រីម {{index}}",
+ "sourceMode": {
+ "restream": "Restream (go2rtc)",
+ "manual": "ផ្លូវបញ្ចូលដោយដៃ",
+ "go2rtcStreamLabel": "ស្ទ្រីម go2rtc",
+ "go2rtcStreamPlaceholder": "ជ្រើសរើសស្ទ្រីម go2rtc",
+ "noGo2rtcStreams": "មិនមានស្ទ្រីម go2rtc ត្រូវបានកំណត់",
+ "go2rtcStreamSearch": "ស្វែងរកស្ទ្រីម...",
+ "availableStreams": "ស្ទ្រីមដែលមាន",
+ "noMatchingStreams": "គ្មានស្ទ្រីមដែលត្រូវគ្នា"
+ }
+ },
+ "restartRequiredField": "ត្រូវការចាប់ផ្តើមឡើងវិញ",
+ "restartRequiredFooter": "ការកំណត់បានផ្លាស់ប្តូរ - ត្រូវការចាប់ផ្តើមឡើងវិញ",
+ "sections": {
+ "detect": "ការរកឃើញ",
+ "record": "ការថត",
+ "snapshots": "រូបថត",
+ "motion": "ចលនា",
+ "objects": "វត្ថុ",
+ "review": "ការត្រួតពិនិត្យ",
+ "audio": "សំឡេង",
+ "notifications": "ការជូនដំណឹង",
+ "live": "ទិដ្ឋភាពផ្ទាល់",
+ "timestamp_style": "ពេលវេលា",
+ "mqtt": "MQTT",
+ "database": "មូលដ្ឋានទិន្នន័យ",
+ "telemetry": "Telemetry",
+ "auth": "ការផ្ទៀងផ្ទាត់អត្តសញ្ញាណ",
+ "tls": "TLS",
+ "proxy": "Proxy",
+ "go2rtc": "go2rtc",
+ "ffmpeg": "FFmpeg",
+ "detectors": "ឧបករណ៍រកឃើញ",
+ "model": "ម៉ូដែល",
+ "semantic_search": "ការស្វែងរកតាមអត្ថន័យ",
+ "genai": "GenAI",
+ "face_recognition": "ការសម្គាល់មុខ",
+ "lpr": "ការសម្គាល់ផ្លាកលេខ",
+ "birdseye": "Birdseye",
+ "masksAndZones": "ម៉ាស / តំបន់"
+ },
+ "detect": {
+ "title": "ការកំណត់ការរកឃើញ"
+ },
+ "detectors": {
+ "title": "ការកំណត់ឧបករណ៍រកឃើញ",
+ "singleType": "អនុញ្ញាតតែឧបករណ៍រកឃើញ {{type}} មួយប៉ុណ្ណោះ។",
+ "keyRequired": "ឈ្មោះឧបករណ៍រកឃើញគឺចាំបាច់។",
+ "keyDuplicate": "ឈ្មោះឧបករណ៍រកឃើញមានរួចហើយ។",
+ "noSchema": "មិនមានគ្រោងការណ៍ឧបករណ៍រកឃើញទេ។",
+ "none": "មិនមានឧបករណ៍រកឃើញណាមួយត្រូវបានកំណត់ទេ។",
+ "add": "បន្ថែមឧបករណ៍រកឃើញ",
+ "addCustomKey": "បន្ថែមគន្លឹះផ្ទាល់ខ្លួន"
+ },
+ "record": {
+ "title": "ការកំណត់ការថត"
+ },
+ "snapshots": {
+ "title": "ការកំណត់រូបថត"
+ },
+ "motion": {
+ "title": "ការកំណត់ចលនា"
+ },
+ "objects": {
+ "title": "ការកំណត់វត្ថុ"
+ },
+ "audioLabels": {
+ "summary": "ស្លាកសំឡេង {{count}} ត្រូវបានជ្រើសរើស",
+ "empty": "មិនមានស្លាកសំឡេងទេ"
+ },
+ "objectLabels": {
+ "summary": "ប្រភេទវត្ថុ {{count}} ត្រូវបានជ្រើសរើស",
+ "empty": "មិនមានស្លាកវត្ថុទេ"
+ },
+ "reviewLabels": {
+ "summary": "ស្លាក {{count}} ត្រូវបានជ្រើសរើស",
+ "empty": "មិនមានស្លាកទេ"
+ },
+ "filters": {
+ "objectFieldLabel": "{{field}} សម្រាប់ {{label}}"
+ },
+ "zoneNames": {
+ "summary": "{{count}} ត្រូវបានជ្រើសរើស",
+ "empty": "មិនមានតំបន់ទេ"
+ },
+ "inputRoles": {
+ "summary": "តួនាទី {{count}} ត្រូវបានជ្រើសរើស",
+ "empty": "មិនមានតួនាទីទេ",
+ "options": {
+ "detect": "រកឃើញ",
+ "record": "ថត",
+ "audio": "សំឡេង"
+ }
+ },
+ "genaiRoles": {
+ "options": {
+ "embeddings": "Embedding",
+ "descriptions": "ការពិពណ៌នា",
+ "chat": "ជជែក"
+ }
+ },
+ "semanticSearchModel": {
+ "placeholder": "ជ្រើសរើសម៉ូដែល…",
+ "builtIn": "ម៉ូដែលដែលមានស្រាប់",
+ "genaiProviders": "អ្នកផ្តល់ GenAI"
+ },
+ "semanticSearchModelSize": {
+ "notApplicable": "មិនអនុវត្តចំពោះអ្នកផ្តល់ GenAI"
+ },
+ "review": {
+ "title": "ការកំណត់ការត្រួតពិនិត្យ"
+ },
+ "audio": {
+ "title": "ការកំណត់សំឡេង"
+ },
+ "notifications": {
+ "title": "ការកំណត់ការជូនដំណឹង"
+ },
+ "live": {
+ "title": "ការកំណត់ទិដ្ឋភាពផ្ទាល់"
+ },
+ "timestamp_style": {
+ "title": "ការកំណត់ពេលវេលា"
+ },
+ "searchPlaceholder": "ស្វែងរក...",
+ "addCustomLabel": "បន្ថែមស្លាកផ្ទាល់ខ្លួន...",
+ "genaiModel": {
+ "placeholder": "ជ្រើសរើស ឬបញ្ចូលម៉ូដែល…",
+ "search": "ស្វែងរក ឬបញ្ចូលម៉ូដែល…",
+ "noModels": "មិនមានម៉ូដែលទេ",
+ "available": "ម៉ូដែលដែលមាន",
+ "useCustom": "ប្រើ \"{{value}}\"",
+ "refresh": "ធ្វើឱ្យថ្មីម៉ូដែល",
+ "probeFailed": "បរាជ័យក្នុងការស៊ើបអង្កេតម៉ូដែល",
+ "fetchedModels": "បានទាញយកបញ្ជីម៉ូដែលដោយជោគជ័យ"
+ },
+ "ptzPresets": {
+ "placeholder": "ជ្រើសរើស ឬបញ្ចូលការកំណត់ជាមុន...",
+ "search": "ស្វែងរក ឬបញ្ចូលការកំណត់ជាមុន...",
+ "noPresets": "មិនមានការកំណត់ជាមុនទេ",
+ "available": "ការកំណត់ជាមុនរបស់កាមេរ៉ា",
+ "useCustom": "ប្រើ \"{{value}}\""
+ },
+ "defaultRole": {
+ "admin": "អ្នកគ្រប់គ្រង",
+ "viewer": "អ្នកមើល"
+ }
+ },
+ "globalConfig": {
+ "title": "ការកំណត់សកល",
+ "description": "កំណត់ការកំណត់សកលដែលអនុវត្តចំពោះកាមេរ៉ាទាំងអស់ លើកលែងតែត្រូវបានផ្លាស់ប្តូរ។",
+ "toast": {
+ "success": "ការកំណត់សកលត្រូវបានរក្សាទុកដោយជោគជ័យ",
+ "error": "បរាជ័យក្នុងការរក្សាទុកការកំណត់សកល",
+ "validationError": "ការផ្ទៀងផ្ទាត់បានបរាជ័យ"
+ }
+ },
+ "cameraConfig": {
+ "title": "ការកំណត់កាមេរ៉ា",
+ "description": "កំណត់ការកំណត់សម្រាប់កាមេរ៉ានីមួយៗ។ ការកំណត់ផ្លាស់ប្តូរលំនាំដើមសកល។",
+ "overriddenBadge": "បានផ្លាស់ប្តូរ",
+ "resetToGlobal": "កំណត់ឡើងវិញទៅសកល",
+ "toast": {
+ "success": "ការកំណត់កាមេរ៉ាត្រូវបានរក្សាទុកដោយជោគជ័យ",
+ "error": "បរាជ័យក្នុងការរក្សាទុកការកំណត់កាមេរ៉ា"
+ }
+ },
+ "toast": {
+ "success": "ការកំណត់ត្រូវបានរក្សាទុកដោយជោគជ័យ",
+ "applied": "ការកំណត់ត្រូវបានអនុវត្តដោយជោគជ័យ",
+ "successRestartRequired": "ការកំណត់ត្រូវបានរក្សាទុកដោយជោគជ័យ។ សូមចាប់ផ្តើម Frigate ឡើងវិញដើម្បីអនុវត្តការផ្លាស់ប្តូររបស់អ្នក។",
+ "error": "បរាជ័យក្នុងការរក្សាទុកការកំណត់",
+ "validationError": "ការផ្ទៀងផ្ទាត់បានបរាជ័យ៖ {{message}}",
+ "resetSuccess": "កំណត់ឡើងវិញទៅលំនាំដើមសកល",
+ "resetError": "បរាជ័យក្នុងការកំណត់ការកំណត់ឡើងវិញ",
+ "saveAllSuccess_other": "បានរក្សាទុកផ្នែក {{count}} ដោយជោគជ័យ។",
+ "saveAllSuccessRestartRequired_other": "បានរក្សាទុកផ្នែក {{count}} ដោយជោគជ័យ។ សូមចាប់ផ្តើម Frigate ឡើងវិញដើម្បីអនុវត្តការផ្លាស់ប្តូររបស់អ្នក។",
+ "saveAllPartial_other": "ផ្នែក {{successCount}} នៃ {{totalCount}} ត្រូវបានរក្សាទុក។ {{failCount}} បានបរាជ័យ។",
+ "saveAllFailure": "បរាជ័យក្នុងការរក្សាទុកផ្នែកទាំងអស់។"
+ },
+ "profiles": {
+ "title": "ប្រវត្តិរូប",
+ "activeProfile": "ប្រវត្តិរូបសកម្ម",
+ "noActiveProfile": "គ្មានប្រវត្តិរូបសកម្ម",
+ "active": "សកម្ម",
+ "activated": "ប្រវត្តិរូប '{{profile}}' ត្រូវបានដំណើរការ",
+ "activateFailed": "បរាជ័យក្នុងការកំណត់ប្រវត្តិរូប",
+ "deactivated": "ប្រវត្តិរូបត្រូវបានបិទ",
+ "noProfiles": "គ្មានប្រវត្តិរូបត្រូវបានកំណត់។",
+ "noOverrides": "គ្មានការផ្លាស់ប្តូរ",
+ "cameraCount_other": "កាមេរ៉ា {{count}}",
+ "columnCamera": "កាមេរ៉ា",
+ "columnOverrides": "ការផ្លាស់ប្តូរប្រវត្តិរូប",
+ "baseConfig": "ការកំណត់មូលដ្ឋាន",
+ "addProfile": "បន្ថែមប្រវត្តិរូប",
+ "newProfile": "ប្រវត្តិរូបថ្មី",
+ "profileNamePlaceholder": "ឧ. Armed, Away, Night Mode",
+ "friendlyNameLabel": "ឈ្មោះប្រវត្តិរូប",
+ "profileIdLabel": "លេខសម្គាល់ប្រវត្តិរូប",
+ "profileIdDescription": "អត្តសញ្ញាណខាងក្នុងដែលប្រើក្នុងការកំណត់ និងស្វ័យប្រវត្តិកម្ម",
+ "nameInvalid": "អនុញ្ញាតតែអក្សរតូច លេខ និងសញ្ញា _ ប៉ុណ្ណោះ",
+ "nameDuplicate": "ប្រវត្តិរូបដែលមានឈ្មោះនេះមានរួចហើយ",
+ "error": {
+ "mustBeAtLeastTwoCharacters": "ត្រូវតែមានយ៉ាងហោចណាស់ ២ តួអក្សរ",
+ "mustNotContainPeriod": "មិនត្រូវមានសញ្ញាចុច",
+ "alreadyExists": "ប្រវត្តិរូបដែលមានលេខសម្គាល់នេះមានរួចហើយ"
+ },
+ "renameProfile": "ប្តូរឈ្មោះប្រវត្តិរូប",
+ "renameSuccess": "ប្រវត្តិរូបត្រូវបានប្តូរឈ្មោះទៅជា '{{profile}}'",
+ "deleteProfile": "លុបប្រវត្តិរូប",
+ "deleteProfileConfirm": "លុបប្រវត្តិរូប \"{{profile}}\" ពីកាមេរ៉ាទាំងអស់? សកម្មភាពនេះមិនអាចត្រឡប់វិញបានទេ។",
+ "deleteSuccess": "ប្រវត្តិរូប '{{profile}}' ត្រូវបានលុប",
+ "createSuccess": "ប្រវត្តិរូប '{{profile}}' ត្រូវបានបង្កើត",
+ "removeOverride": "ដកការផ្លាស់ប្តូរប្រវត្តិរូប",
+ "deleteSection": "លុបការផ្លាស់ប្តូរផ្នែក",
+ "deleteSectionConfirm": "ដកការផ្លាស់ប្តូរ {{section}} សម្រាប់ប្រវត្តិរូប {{profile}} នៅលើ {{camera}}?",
+ "deleteSectionSuccess": "បានដកការផ្លាស់ប្តូរ {{section}} សម្រាប់ {{profile}}",
+ "enableSwitch": "បើកប្រវត្តិរូប",
+ "enabledDescription": "ប្រវត្តិរូបត្រូវបានបើក។ បង្កើតប្រវត្តិរូបថ្មីខាងក្រោម រុករកទៅផ្នែកកំណត់កាមេរ៉ាដើម្បីធ្វើការផ្លាស់ប្តូររបស់អ្នក ហើយរក្សាទុកដើម្បីឱ្យការផ្លាស់ប្តូរមានប្រសិទ្ធភាព។",
+ "disabledDescription": "ប្រវត្តិរូបអនុញ្ញាតឱ្យអ្នកកំណត់សំណុំនៃការផ្លាស់ប្តូរការកំណត់កាមេរ៉ាដែលមានឈ្មោះ (ឧ. armed, away, night) ដែលអាចត្រូវបានដំណើរការតាមតម្រូវការ។"
+ },
+ "unsavedChanges": "អ្នកមានការផ្លាស់ប្តូរដែលមិនបានរក្សាទុក",
+ "confirmReset": "បញ្ជាក់ការកំណត់ឡើងវិញ",
+ "resetToDefaultDescription": "សកម្មភាពនេះនឹងកំណត់ការកំណត់ទាំងអស់នៅក្នុងផ្នែកនេះឡើងវិញទៅតម្លៃលំនាំដើមរបស់ពួកវា។ សកម្មភាពនេះមិនអាចត្រឡប់វិញបានទេ។",
+ "resetToGlobalDescription": "សកម្មភាពនេះនឹងកំណត់ការកំណត់នៅក្នុងផ្នែកនេះឡើងវិញទៅលំនាំដើមសកល។ សកម្មភាពនេះមិនអាចត្រឡប់វិញបានទេ។",
+ "go2rtcStreams": {
+ "title": "ស្ទ្រីម go2rtc",
+ "description": "គ្រប់គ្រងការកំណត់ស្ទ្រីម go2rtc សម្រាប់ការ restream កាមេរ៉ា។ ស្ទ្រីមនីមួយៗមានឈ្មោះ និង URL ប្រភពមួយ ឬច្រើន។",
+ "addStream": "បន្ថែមស្ទ្រីម",
+ "addStreamDesc": "បញ្ចូលឈ្មោះសម្រាប់ស្ទ្រីមថ្មី។ ឈ្មោះនេះនឹងត្រូវបានប្រើដើម្បីយោងស្ទ្រីមនៅក្នុងការកំណត់កាមេរ៉ារបស់អ្នក។",
+ "addUrl": "បន្ថែម URL",
+ "sourceNumber": "ប្រភព {{index}}",
+ "streamName": "ឈ្មោះស្ទ្រីម",
+ "streamNamePlaceholder": "ឧ. front_door",
+ "streamUrlPlaceholder": "ឧ. rtsp://user:pass@192.168.1.100/stream",
+ "deleteStream": "លុបស្ទ្រីម",
+ "deleteStreamConfirm": "តើអ្នកប្រាកដថាចង់លុបស្ទ្រីម \"{{streamName}}\" ដែរឬទេ? កាមេរ៉ាដែលយោងស្ទ្រីមនេះអាចនឹងឈប់ដំណើរការ។",
+ "noStreams": "មិនមានស្ទ្រីម go2rtc ត្រូវបានកំណត់។ បន្ថែមស្ទ្រីមដើម្បីចាប់ផ្តើម។",
+ "validation": {
+ "nameRequired": "ឈ្មោះស្ទ្រីមគឺចាំបាច់",
+ "nameDuplicate": "ស្ទ្រីមដែលមានឈ្មោះនេះមានរួចហើយ",
+ "nameInvalid": "ឈ្មោះស្ទ្រីមអាចមានតែអក្សរ លេខ សញ្ញា _ និងសញ្ញា - ប៉ុណ្ណោះ",
+ "urlRequired": "ត្រូវការយ៉ាងហោចណាស់មួយ URL"
+ },
+ "renameStream": "ប្តូរឈ្មោះស្ទ្រីម",
+ "renameStreamDesc": "បញ្ចូលឈ្មោះថ្មីសម្រាប់ស្ទ្រីមនេះ។ ការប្តូរឈ្មោះស្ទ្រីមអាចធ្វើឱ្យកាមេរ៉ា ឬស្ទ្រីមផ្សេងទៀតដែលយោងវាតាមឈ្មោះ មានបញ្ហា។",
+ "newStreamName": "ឈ្មោះស្ទ្រីមថ្មី",
+ "ffmpeg": {
+ "useFfmpegModule": "ប្រើរបៀបឆបគ្នា (ffmpeg)",
+ "video": "វីដេអូ",
+ "audio": "សំឡេង",
+ "hardware": "ការបង្កើនល្បឿនផ្នែករឹង",
+ "videoCopy": "ចម្លង",
+ "videoH264": "បំប្លែងទៅ H.264",
+ "videoH265": "បំប្លែងទៅ H.265",
+ "videoExclude": "ដកចេញ",
+ "audioCopy": "ចម្លង",
+ "audioAac": "បំប្លែងទៅ AAC",
+ "audioOpus": "បំប្លែងទៅ Opus",
+ "audioPcmu": "បំប្លែងទៅ PCM μ-law",
+ "audioPcma": "បំប្លែងទៅ PCM A-law",
+ "audioPcm": "បំប្លែងទៅ PCM",
+ "audioMp3": "បំប្លែងទៅ MP3",
+ "audioExclude": "ដកចេញ",
+ "hardwareNone": "គ្មានការបង្កើនល្បឿនផ្នែករឹង",
+ "hardwareAuto": "ស្វ័យប្រវត្តិ (ណែនាំ)",
+ "hardwareVaapi": "VAAPI",
+ "hardwareCuda": "CUDA",
+ "hardwareV4l2m2m": "V4L2 M2M",
+ "hardwareDxva2": "DXVA2",
+ "hardwareVideotoolbox": "VideoToolbox",
+ "addVideoCodec": "បន្ថែម codec វីដេអូ",
+ "addAudioCodec": "បន្ថែម codec សំឡេង",
+ "removeCodec": "ដក codec ចេញ"
+ }
+ },
+ "birdseye": {
+ "trackingMode": {
+ "objects": "វត្ថុ",
+ "motion": "ចលនា",
+ "continuous": "ជាប់លាប់"
+ },
+ "cameraOrder": {
+ "label": "លំដាប់កាមេរ៉ា",
+ "description": "អូសកាមេរ៉ាដើម្បីកំណត់លំដាប់របស់ពួកវានៅក្នុងប្លង់ Birdseye។",
+ "reorderHandle": "អូសដើម្បីតម្រៀបឡើងវិញ",
+ "saving": "កំពុងរក្សាទុក…",
+ "saved": "បានរក្សាទុក"
+ }
+ },
+ "retainMode": {
+ "all": "ទាំងអស់",
+ "motion": "ចលនា",
+ "active_objects": "វត្ថុសកម្ម"
+ },
+ "previewQuality": {
+ "very_high": "ខ្ពស់ណាស់",
+ "high": "ខ្ពស់",
+ "medium": "មធ្យម",
+ "low": "ទាប",
+ "very_low": "ទាបណាស់"
+ },
+ "ui": {
+ "timeFormat": {
+ "browser": "កម្មវិធីរុករក",
+ "12hour": "១២ ម៉ោង",
+ "24hour": "២៤ ម៉ោង"
+ },
+ "unitSystem": {
+ "metric": "ម៉ែត្រ",
+ "imperial": "អ៊ីមភេរៀល"
+ }
+ },
+ "review": {
+ "imageSource": {
+ "recordings": "ការថត",
+ "previews": "ការមើលជាមុន"
+ }
+ },
+ "logger": {
+ "logLevel": {
+ "debug": "Debug",
+ "info": "ព័ត៌មាន",
+ "warning": "ការព្រមាន",
+ "error": "កំហុស",
+ "critical": "ធ្ងន់ធ្ងរ"
+ }
+ },
+ "onvif": {
+ "profileAuto": "ស្វ័យប្រវត្តិ",
+ "profileLoading": "កំពុងផ្ទុកប្រវត្តិរូប...",
+ "autotracking": {
+ "zooming": {
+ "disabled": "បានបិទ",
+ "absolute": "ដាច់ខាត",
+ "relative": "ទាក់ទង"
+ }
+ }
+ },
+ "modelSize": {
+ "small": "តូច",
+ "large": "ធំ"
+ },
+ "configMessages": {
+ "review": {
+ "recordDisabled": "ការថតត្រូវបានបិទ ធាតុត្រួតពិនិត្យនឹងមិនត្រូវបានបង្កើតទេ។",
+ "detectDisabled": "ការរកឃើញវត្ថុត្រូវបានបិទ។ ធាតុត្រួតពិនិត្យត្រូវការវត្ថុដែលបានរកឃើញ ដើម្បីចាត់ថ្នាក់ការជូនដំណឹង និងការរកឃើញ។",
+ "allNonAlertDetections": "សកម្មភាពដែលមិនមែនជាការជូនដំណឹងទាំងអស់ នឹងត្រូវបានរួមបញ្ចូលជាការរកឃើញ។",
+ "genaiImageSourceRecordingsRecordDisabled": "ប្រភពរូបភាពត្រូវបានកំណត់ទៅជា 'ការថត' ប៉ុន្តែការថតត្រូវបានបិទ។ Frigate នឹងត្រឡប់ទៅប្រើរូបភាពមើលជាមុនវិញ។"
+ },
+ "audio": {
+ "noAudioRole": "គ្មានស្ទ្រីមណាមួយបានកំណត់តួនាទីសំឡេងទេ។ អ្នកត្រូវតែបើកតួនាទីសំឡេង ដើម្បីឱ្យការរកឃើញសំឡេងដំណើរការ។"
+ },
+ "audioTranscription": {
+ "audioDetectionDisabled": "ការរកឃើញសំឡេងមិនត្រូវបានបើកសម្រាប់កាមេរ៉ានេះទេ។ ការចម្លងសំឡេងត្រូវការឱ្យការរកឃើញសំឡេងសកម្ម។"
+ },
+ "detect": {
+ "fpsGreaterThanFive": "ការកំណត់ FPS រកឃើញខ្ពស់ជាង ៥ មិនត្រូវបានណែនាំទេ។ តម្លៃខ្ពស់ជាងនេះអាចបណ្តាលឱ្យមានបញ្ហាប្រសិទ្ធភាព ហើយនឹងមិនផ្តល់អត្ថប្រយោជន៍អ្វីឡើយ។",
+ "disabled": "ការរកឃើញវត្ថុត្រូវបានបិទ។ រូបថត ធាតុត្រួតពិនិត្យ និងការបំពេញបន្ថែម ដូចជាការសម្គាល់មុខ ការសម្គាល់ផ្លាកលេខ និង Generative AI នឹងមិនដំណើរការទេ។",
+ "resolutionShouldBeMultipleOfFour": "សម្រាប់លទ្ធផលល្អបំផុត ទទឹង និងកម្ពស់រកឃើញគួរតែជាពហុគុណនៃ ៤។ តម្លៃគូផ្សេងទៀតអាចបង្កើតជា artifacts ដែលមើលឃើញ ឬការបង្ខូចទ្រង់ទ្រាយបន្តិចបន្តួចនៅក្នុងស្ទ្រីមរកឃើញ។",
+ "aspectRatioMismatch": "ទទឹង និងកម្ពស់ដែលអ្នកបានបញ្ចូល មិនត្រូវនឹងសមាមាត្រនៃកម្រិតបង្ហាញរកឃើញបច្ចុប្បន្នរបស់អ្នកទេ។ វាអាចបង្កើតរូបភាពដែលត្រូវបានពន្លាត ឬបង្ខូចទ្រង់ទ្រាយ។",
+ "maxFramesSet": "ការកំណត់ frames អតិបរមា ផ្លាស់ប្តូរឥរិយាបថលំនាំដើម ហើយបិទការតាមដានវត្ថុដែលនៅស្ងៀម។ មានស្ថានភាពតិចតួចណាស់ដែលត្រូវការវា សូមប្រើដោយប្រុងប្រយ័ត្ន។",
+ "squareResolution": "កម្រិតបង្ហាញរកឃើញជាការ៉េ គឺមិនធម្មតាទេ។ ទទឹង និងកម្ពស់រកឃើញគួរតែត្រូវនឹងសមាមាត្ររបស់កាមេរ៉ាអ្នក (ឧទាហរណ៍ 16:9) មិនមែនវិមាត្រនៃម៉ូដែលរកឃើញវត្ថុទេ។ សមាមាត្រដែលមិនត្រូវគ្នាអាចពន្លាតរូបភាព និងកាត់បន្ថយភាពត្រឹមត្រូវនៃការរកឃើញ។",
+ "resolutionHigh": "កម្រិតបង្ហាញរកឃើញនេះខ្ពស់ជាងការណែនាំ ហើយអាចបណ្តាលឱ្យការប្រើប្រាស់ធនធានកើនឡើង ដោយមិនកែលម្អភាពត្រឹមត្រូវនៃការរកឃើញ។ កម្រិតបង្ហាញរកឃើញនៅ ឬក្រោម 1080p ត្រូវបានណែនាំសម្រាប់កាមេរ៉ាភាគច្រើន។",
+ "globalResolutionMultipleCameras": "កម្រិតបង្ហាញរកឃើញសកលត្រូវបានកំណត់ ខណៈដែលកាមេរ៉ាច្រើនត្រូវបានកំណត់។ លើកលែងតែកាមេរ៉ាទាំងអស់មានកម្រិតបង្ហាញ និងសមាមាត្រដូចគ្នា ទទឹង និងកម្ពស់រកឃើញគួរតែត្រូវបានកំណត់សម្រាប់កាមេរ៉ានីមួយៗ ដើម្បីឱ្យត្រូវនឹងសមាមាត្រដើមរបស់កាមេរ៉ានីមួយៗ។"
+ },
+ "model": {
+ "optimizedFor320": "Frigate ត្រូវបានបង្កើនប្រសិទ្ធភាពសម្រាប់ម៉ូដែល 320x320 ដែលជាជម្រើសល្អបំផុតសម្រាប់ការរៀបចំភាគច្រើន។ ម៉ូដែល 640x640 យឺតជាង ហើយជួយបានតែក្នុងសេណារីយ៉ូជាក់លាក់ប៉ុណ្ណោះ។",
+ "inputDimensionsNotDetectResolution": "ទទឹង និងកម្ពស់បញ្ចូលម៉ូដែល គឺជាវិមាត្របញ្ចូលនៃម៉ូដែលរកឃើញវត្ថុ មិនមែនជាកម្រិតបង្ហាញរកឃើញរបស់កាមេរ៉ាអ្នកទេ។ ពួកវាគួរតែត្រូវនឹងវិមាត្រនៃម៉ូដែលដែលអ្នកកំពុងប្រើ — ជាធម្មតាជាទំហំការ៉េដូចជា 320x320 ឬ 640x640។"
+ }
+ }
+}
diff --git a/web/public/locales/km/views/system.json b/web/public/locales/km/views/system.json
index 0967ef424b..0e34272fba 100644
--- a/web/public/locales/km/views/system.json
+++ b/web/public/locales/km/views/system.json
@@ -1 +1,5 @@
-{}
+{
+ "enrichments": {
+ "title": "ការបន្ថែមព័ត៌មាន"
+ }
+}