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 && (