diff --git a/ui/public/locales/en/translation.json b/ui/public/locales/en/translation.json
index ac25717..e0b4aee 100644
--- a/ui/public/locales/en/translation.json
+++ b/ui/public/locales/en/translation.json
@@ -9,7 +9,7 @@
},
"navigation": {
"profile": "Profile",
- "admin": "admin",
+ "admin": "Admin",
"management": "Management",
"dashboard": "Dashboard",
"recordings": "Recordings",
@@ -32,11 +32,11 @@
"latest_events": "Latest events",
"configure_connection": "Configure connection",
"no_events": "No events",
- "no_events_description": "No recordings where found, make sure your Kerberos Agent is properly configured.",
+ "no_events_description": "No recordings were found, make sure your Agent is properly configured.",
"motion_detected": "Motion was detected",
"live_view": "Live view",
"loading_live_view": "Loading live view",
- "loading_live_view_description": "Hold on we are loading your live view here. If you didn't configure your camera connection, update it on the settings pages.",
+ "loading_live_view_description": "Hold on, we are loading your live view here. If you didn't configure your camera connection, update it on the settings pages.",
"time": "Time",
"description": "Description",
"name": "Name"
@@ -59,32 +59,32 @@
"persistence": "Persistence"
},
"info": {
- "kerberos_hub_demo": "Have a look at our Kerberos Hub demo environment, to see Kerberos Hub in action!",
- "configuration_updated_success": "Your configuration have been updated successfully.",
+ "kerberos_hub_demo": "Have a look at our Hub demo environment, to see Hub in action!",
+ "configuration_updated_success": "Your configuration has been updated successfully.",
"configuration_updated_error": "Something went wrong while saving.",
- "verify_hub": "Verifying your Kerberos Hub settings.",
- "verify_hub_success": "Kerberos Hub settings are successfully verified.",
- "verify_hub_error": "Something went wrong while verifying Kerberos Hub",
+ "verify_hub": "Verifying your Hub settings.",
+ "verify_hub_success": "Hub settings are successfully verified.",
+ "verify_hub_error": "Something went wrong while verifying Hub.",
"verify_persistence": "Verifying your persistence settings.",
"verify_persistence_success": "Persistence settings are successfully verified.",
- "verify_persistence_error": "Something went wrong while verifying the persistence",
+ "verify_persistence_error": "Something went wrong while verifying the persistence.",
"verify_camera": "Verifying your camera settings.",
"verify_camera_success": "Camera settings are successfully verified.",
- "verify_camera_error": "Something went wrong while verifying the camera settings",
+ "verify_camera_error": "Something went wrong while verifying the camera settings.",
"verify_onvif": "Verifying your ONVIF settings.",
"verify_onvif_success": "ONVIF settings are successfully verified.",
- "verify_onvif_error": "Something went wrong while verifying the ONVIF settings"
+ "verify_onvif_error": "Something went wrong while verifying the ONVIF settings."
},
"overview": {
"general": "General",
- "description_general": "General settings for your Kerberos Agent",
+ "description_general": "General settings for your Agent",
"key": "Key",
"camera_name": "Camera name",
"camera_friendly_name": "Friendly name",
"timezone": "Timezone",
"select_timezone": "Select a timezone",
"advanced_configuration": "Advanced configuration",
- "description_advanced_configuration": "Detailed configuration options to enable or disable specific parts of the Kerberos Agent",
+ "description_advanced_configuration": "Detailed configuration options to enable or disable specific parts of the Agent",
"offline_mode": "Offline mode",
"description_offline_mode": "Disable all outgoing traffic",
"encryption": "Encryption",
@@ -101,9 +101,9 @@
"camera": "Camera",
"description_camera": "Camera settings are required to make a connection to your camera of choice.",
"only_h264": "Currently only H264/H265 RTSP streams are supported.",
- "rtsp_url": "RTSP url",
+ "rtsp_url": "RTSP URL",
"rtsp_h264": "A H264/H265 RTSP connection to your camera.",
- "sub_rtsp_url": "Sub RTSP url (used for livestreaming)",
+ "sub_rtsp_url": "Sub RTSP URL (used for livestreaming)",
"sub_rtsp_h264": "A secondary RTSP connection to the low resolution of your camera.",
"onvif": "ONVIF",
"description_onvif": "Credentials to communicate with ONVIF capabilities. These are used for PTZ or other capabilities provided by the camera.",
@@ -115,28 +115,28 @@
},
"recording": {
"recording": "Recording",
- "description_recording": "Specify how you would like to make recordings. Having a continuous 24/7 setup or a motion based recording.",
+ "description_recording": "Specify how you would like to make recordings. Having a continuous 24/7 setup or a motion-based recording.",
"continuous_recording": "Continuous recording",
- "description_continuous_recording": "Make 24/7 or motion based recordings.",
- "max_duration": "max video duration (seconds)",
+ "description_continuous_recording": "Make 24/7 or motion-based recordings.",
+ "max_duration": "Max video duration (seconds)",
"description_max_duration": "The maximum duration of a recording.",
- "pre_recording": "pre recording (key frames buffered)",
+ "pre_recording": "Pre recording (key frames buffered)",
"description_pre_recording": "Seconds before an event occurred.",
- "post_recording": "post recording (seconds)",
+ "post_recording": "Post recording (seconds)",
"description_post_recording": "Seconds after an event occurred.",
"threshold": "Recording threshold (pixels)",
- "description_threshold": "The number of pixels changed to record",
+ "description_threshold": "The number of pixels changed to record.",
"autoclean": "Auto clean",
- "description_autoclean": "Specify if the Kerberos Agent can cleanup recordings when a specific storage capacity (MB) is reached. This will remove the oldest recordings when the capacity is reached.",
+ "description_autoclean": "Specify if the Agent can clean up recordings when a specific storage capacity (MB) is reached. This will remove the oldest recordings when the capacity is reached.",
"autoclean_enable": "Enable auto clean",
"autoclean_description_enable": "Remove oldest recording when capacity reached.",
"autoclean_max_directory_size": "Maximum directory size (MB)",
- "autoclean_description_max_directory_size": "The maximum MB's of recordings stored.",
+ "autoclean_description_max_directory_size": "The maximum MBs of recordings stored.",
"fragmentedrecordings": "Fragmented recordings",
- "description_fragmentedrecordings": "When recordings are fragmented they are suitable for an HLS stream. When turned on the MP4 container will look a bit different.",
+ "description_fragmentedrecordings": "When recordings are fragmented they are suitable for an HLS stream. When turned on, the MP4 container will look a bit different.",
"fragmentedrecordings_enable": "Enable fragmentation",
"fragmentedrecordings_description_enable": "Fragmented recordings are required for HLS.",
- "fragmentedrecordings_duration": "fragment duration",
+ "fragmentedrecordings_duration": "Fragment duration",
"fragmentedrecordings_description_duration": "Duration of a single fragment."
},
"streaming": {
@@ -149,16 +149,16 @@
"force_turn": "Force TURN",
"force_turn_description": "Force TURN usage, even when STUN is available.",
"stun_turn_forward": "Forwarding and transcoding",
- "stun_turn_description_forward": "Optimisations and enhancements for TURN/STUN communication.",
+ "stun_turn_description_forward": "Optimizations and enhancements for TURN/STUN communication.",
"stun_turn_webrtc": "Forwarding to WebRTC broker",
- "stun_turn_description_webrtc": "Forward h264 stream through MQTT",
+ "stun_turn_description_webrtc": "Forward H264 stream through MQTT",
"stun_turn_transcode": "Transcode stream",
"stun_turn_description_transcode": "Convert stream to a lower resolution",
"stun_turn_downscale": "Downscale resolution (in % of original resolution)",
"mqtt": "MQTT",
- "description_mqtt": "A MQTT broker is used to communicate from",
- "description2_mqtt": "to the Kerberos Agent, to achieve for example livestreaming or ONVIF (PTZ) capabilities.",
- "mqtt_brokeruri": "Broker Uri",
+ "description_mqtt": "An MQTT broker is used to communicate from",
+ "description2_mqtt": "to the Agent, to achieve for example livestreaming or ONVIF (PTZ) capabilities.",
+ "mqtt_brokeruri": "Broker URI",
"mqtt_username": "Username",
"mqtt_password": "Password",
"realtimeprocessing": "Realtime Processing",
@@ -180,57 +180,61 @@
"friday": "Friday",
"saturday": "Saturday",
"externalcondition": "External Condition",
- "description_externalcondition": "Depending on an external webservice recording can be enabled or disabled.",
+ "description_externalcondition": "Depending on an external web service, recording can be enabled or disabled.",
"regionofinterest": "Region Of Interest",
"description_regionofinterest": "By defining one or more regions, motion will be tracked only in the regions you have defined."
},
"persistence": {
- "kerberoshub": "Kerberos Hub",
- "description_kerberoshub": "Kerberos Agents can send heartbeats to a central",
- "description2_kerberoshub": "installation. Heartbeats and other relevant information are synced to Kerberos Hub to show realtime information about your video landscape.",
+ "kerberoshub": "Hub",
+ "description_kerberoshub": "Agents can send heartbeats to a central",
+ "description2_kerberoshub": "installation. Heartbeats and other relevant information are synced to Hub to show realtime information about your video landscape.",
"persistence": "Persistence",
"secondary_persistence": "Secondary Persistence",
"description_secondary_persistence": "Recordings will be sent to secondary persistence if the primary persistence is unavailable or fails. This can be useful for failover purposes.",
- "saasoffering": "Kerberos Hub (SAAS offering)",
+ "saasoffering": "Hub (SaaS offering)",
"description_persistence": "Having the ability to store your recordings is the beginning of everything. You can choose between our",
"description2_persistence": ", or a 3rd party provider",
"select_persistence": "Select a persistence",
"kerberoshub_encryption": "Encryption",
- "kerberoshub_encryption_description": "All traffic from/to Kerberos Hub will encrypted using AES-256.",
- "kerberoshub_proxyurl": "Kerberos Hub Proxy URL",
+ "kerberoshub_encryption_description": "All traffic from/to Hub will be encrypted using AES-256.",
+ "kerberoshub_proxyurl": "Hub Proxy URL",
"kerberoshub_description_proxyurl": "The Proxy endpoint for uploading your recordings.",
- "kerberoshub_apiurl": "Kerberos Hub API URL",
+ "kerberoshub_apiurl": "Hub API URL",
"kerberoshub_description_apiurl": "The API endpoint for uploading your recordings.",
"kerberoshub_publickey": "Public key",
- "kerberoshub_description_publickey": "The public key granted to your Kerberos Hub account.",
+ "kerberoshub_description_publickey": "The public key granted to your Hub account.",
"kerberoshub_privatekey": "Private key",
- "kerberoshub_description_privatekey": "The private key granted to your Kerberos Hub account.",
+ "kerberoshub_description_privatekey": "The private key granted to your Hub account.",
"kerberoshub_site": "Site",
- "kerberoshub_description_site": "The site ID the Kerberos Agents are belonging to in Kerberos Hub.",
+ "kerberoshub_description_site": "The site ID the Agents belong to in Hub.",
"kerberoshub_region": "Region",
"kerberoshub_description_region": "The region we are storing our recordings in.",
"kerberoshub_bucket": "Bucket",
"kerberoshub_description_bucket": "The bucket we are storing our recordings in.",
- "kerberoshub_username": "Username/Directory (should match Kerberos Hub username)",
- "kerberoshub_description_username": "The username of your Kerberos Hub account.",
- "kerberosvault_apiurl": "Kerberos Vault API URL",
- "kerberosvault_description_apiurl": "The Kerberos Vault API",
+ "kerberoshub_username": "Username/Directory (should match Hub username)",
+ "kerberoshub_description_username": "The username of your Hub account.",
+ "kerberosvault_apiurl": "Vault API URL",
+ "kerberosvault_description_apiurl": "The Vault API",
"kerberosvault_provider": "Provider",
- "kerberosvault_description_provider": "The provider to which your recordings will be send.",
- "kerberosvault_directory": "Directory (should match Kerberos Hub username)",
- "kerberosvault_description_directory": "Sub directory the recordings will be stored in your provider.",
+ "kerberosvault_description_provider": "The provider to which your recordings will be sent.",
+ "kerberosvault_directory": "Directory (should match Hub username)",
+ "kerberosvault_description_directory": "Subdirectory the recordings will be stored in your provider.",
"kerberosvault_accesskey": "Access key",
- "kerberosvault_description_accesskey": "The access key of your Kerberos Vault account.",
+ "kerberosvault_description_accesskey": "The access key of your Vault account.",
"kerberosvault_secretkey": "Secret key",
- "kerberosvault_description_secretkey": "The secret key of your Kerberos Vault account.",
+ "kerberosvault_description_secretkey": "The secret key of your Vault account.",
+ "kerberosvault_maxretries:": "Max retries",
+ "kerberosvault_description_maxretries": "The maximum number of retries to upload a recording.",
+ "kerberosvault_timeout": "Timeout",
+ "kerberosvault_description_timeout": "If a timeout occurs, recordings will be sent directly to the secondary Vault.",
"dropbox_directory": "Directory",
- "dropbox_description_directory": "The sub directory where the recordings will be stored in your Dropbox account.",
+ "dropbox_description_directory": "The subdirectory where the recordings will be stored in your Dropbox account.",
"dropbox_accesstoken": "Access token",
"dropbox_description_accesstoken": "The access token of your Dropbox account/app.",
"verify_connection": "Verify Connection",
- "remove_after_upload": "Once recordings are uploaded to some persistence, you might want to remove them from the local Kerberos Agent.",
+ "remove_after_upload": "Once recordings are uploaded to some persistence, you might want to remove them from the local Agent.",
"remove_after_upload_description": "Remove recordings after they are uploaded successfully.",
- "remove_after_upload_enabled": "Enabled delete on upload"
+ "remove_after_upload_enabled": "Enable delete on upload"
}
}
-}
+}
\ No newline at end of file
diff --git a/ui/src/pages/Settings/Settings.jsx b/ui/src/pages/Settings/Settings.jsx
index 34a6ddb..65f1803 100644
--- a/ui/src/pages/Settings/Settings.jsx
+++ b/ui/src/pages/Settings/Settings.jsx
@@ -2536,6 +2536,43 @@ class Settings extends React.Component {
)
}
/>
+
+ this.onUpdateField(
+ 'kstorage',
+ 'max_retries',
+ value,
+ config.kstorage
+ )
+ }
+ />
+
+
+ this.onUpdateField(
+ 'kstorage',
+ 'timeout',
+ value,
+ config.kstorage
+ )
+ }
+ />
>
)}
{config.cloud === this.DROPBOX && (