Default value : {
'^Access is denied$': {
gettext: gettext('Access denied.')
},
'^Alarm created$': {
gettext: gettext('Alarm created')
},
'^Alarm updated$': {
gettext: gettext('Alarm updated')
},
'^API is not available with the new domain$': {
gettext: gettext('Could not activate custom domain. DNS setup is incorrect.')
},
'^Application with given name already exist$': {
gettext: gettext('Application with given name already exists.')
},
'^Application with id (.+?) is already assigned to the tenant (.+?)$': {
gettext: gettext('This application is already assigned to tenant "{{tenant}}".'),
placeholders: {
tenant: '$2'
}
},
'^Apply software changes: (.+?)\\.?$': {
gettext: gettext('Apply software changes: {{ softwareChanges }}'),
placeholders: {
softwareChanges: {
capture: '$1',
translate: {
'install "(.+?)" \\(version: (.+?)\\)': {
gettext: gettext('install "{{ softwareName }}" (version: {{ softwareVersion }})'),
placeholders: {
softwareName: '$1',
softwareVersion: '$2'
}
},
'install "([^"]+)"(?! \\(version: .+?\\))': {
gettext: gettext('install "{{ softwareName }}"'),
placeholders: {
softwareName: '$1'
}
},
'delete "(.+?)" \\(version: (.+?)\\)': {
gettext: gettext('delete "{{ softwareName }}" (version: {{ softwareVersion }})'),
placeholders: {
softwareName: '$1',
softwareVersion: '$2'
}
},
'delete "([^"]+)"(?! \\(version: .+?\\))': {
gettext: gettext('delete "{{ softwareName }}"'),
placeholders: {
softwareName: '$1'
}
}
}
}
}
},
'^Assign device profile (.+?) to device (.+?)$': {
gettext: gettext('Assign device profile {{profileName}} to device {{deviceName}}'),
placeholders: {
profileName: '$1',
deviceName: '$2'
}
},
'^(.+)pplication for tenant (.+) with properties \\( (.+?) \\) already exists$': {
gettext: gettext(
'Application for tenant "{{tenant}}" with the following values ({{valuesList}}) already exists.'
),
placeholders: {
tenant: '$2',
valuesList: '$3'
}
},
'^Authentication failed! : User account is locked$': {
gettext: gettext('Authentication failed due to: user account is locked.')
},
'^Availability monitoring record$': {
gettext: gettext('Availability monitoring record')
},
'^Can not activate a certificate which is either expired or not yet valid$': {
gettext: gettext('Cannot activate a certificate which is either expired or not yet valid.')
},
'^Cannot add certificate - certificate with (.+?) fingerprint already exists. : Certificate with (.+?) fingerprint already exists.$':
{
gettext: gettext(
'Could not add certificate. Certificate with {{fingerprint}} fingerprint already exists.'
),
placeholders: {
fingerprint: '$1'
}
},
'^Cannot change password. : Provided token does not exist.$': {
gettext: gettext('Cannot change password: provided token is invalid.')
},
'^Cannot deploy module (.*)$': {
gettext: gettext('Cannot deploy module due to error: "{{ errorMessage | translate }}".'),
placeholders: {
errorMessage: '$1'
}
},
"^Cannot deploy module (.+?)! : Compilation failed in module '(.+?)' in expression '(.+?)' : Incorrect syntax near '(.+?)' at line (\\d+) column (\\d+) \\[([\\S\\s]+?)\\]$":
{
gettext: gettext(
'Could not deploy module "{{moduleName}}". Compilation failed in expression "{{expression}}": incorrect syntax near "{{incorrectExpression}}" at line {{line}} column {{column}}.'
),
placeholders: {
moduleName: '$1',
expression: '$3',
incorrectExpression: '$4',
line: '$5',
column: '$6'
}
},
"^Cannot deploy module (.+?)! : Compilation failed in module '(.+?)' in expression '(.+?)' : Incorrect syntax near '(.+?)' at line (\\d+) column (\\d+) near reserved keyword '(.+?)' \\[([\\S\\s]+?)\\]$":
{
gettext: gettext(
'Could not deploy module "{{moduleName}}". Compilation failed in expression "{{expression}}": incorrect syntax near "{{incorrectExpression}}" at line {{line}} column {{column}} near reserved keyword "{{keyword}}".'
),
placeholders: {
moduleName: '$1',
expression: '$3',
incorrectExpression: '$4',
line: '$5',
column: '$6',
keyword: '$7'
}
},
"^Cannot deploy module (.+?)! : Compilation failed in module '(.+?)' in expression '(.+?)' : Incorrect syntax near '(.+?)' at line (\\d+) column (\\d+), please check the where clause \\[([\\S\\s]+?)\\]$":
{
gettext: gettext(
'Could not deploy module "{{moduleName}}". Compilation failed in expression "{{expression}}": incorrect syntax near "{{incorrectExpression}}" at line {{line}} column {{column}}, check "where" clause.'
),
placeholders: {
moduleName: '$1',
expression: '$3',
incorrectExpression: '$4',
line: '$5',
column: '$6'
}
},
"^Cannot deploy module (.+?)! : Deployment failed in module '(.+?)' in expression '(.+?)' : Exception compiling script '(.+?)' of dialect '(.+?)': missing (.+?) before statement \\((.+?)\\) \\[([\\S\\s]+?)\\]$":
{
gettext: gettext(
'Could not deploy module "{{moduleName}}". Compilation failed in expression "{{expression}}": exception compiling script "{{scriptName}}" of dialect "{{scriptDialect}}": missing "{{missingSyntax}}" before statement "{{affectedStatement}}".'
),
placeholders: {
moduleName: '$1',
expression: '$3',
scriptName: '$4',
scriptDialect: '$5',
missingSyntax: '$6',
affectedStatement: '$7'
}
},
"^Cannot execute bulk operation on empty group. Group with id='(\\d+?)' doesn't have child assets.$":
{
gettext: gettext(
'Could not execute bulk operation on an empty group. Group with ID "{{groupId}}" has no child assets.'
),
placeholders: {
groupId: '$1'
}
},
"^Cannot execute bulk operation on empty group. DynamicGroup with id='(\\d+?)' doesn't have child assets$":
{
gettext: gettext(
'Could not execute bulk operation on an empty group. Smart group with ID "{{groupId}}" has no child assets.'
),
placeholders: {
groupId: '$1'
}
},
'^Cannot parse X509 certificate. : Could not parse certificate: (.+?)$': {
gettext: gettext('Could not parse X.509 certificate: {{ failureReason | translate }}.'),
placeholders: {
failureReason: '$1'
}
},
'^Cannot reschedule bulk operation. All its operations are successful$': {
gettext: gettext('Cannot reschedule bulk operation. All its operations are already successful.')
},
'^Cannot reset user password : Cannot find user with such email.$': {
gettext: gettext('Cannot reset password for user with such email: email not found.')
},
'^Cannot update/delete application binary via this endpoint$': {
gettext: gettext('Cannot update/delete application binary via this endpoint')
},
"^Can't delete user because it is used by another managed object$": {
gettext: gettext(
'Cannot delete device with associated device owner because this owner is still assigned to other device(s). Try to remove only the device.'
)
},
'^Cep module created$': {
gettext: gettext('CEP module created')
},
'^Cep module updated$': {
gettext: gettext('CEP module updated')
},
'^Cep module deleted$': {
gettext: gettext('CEP module deleted')
},
'^Cep module "(.+?)" created$': {
gettext: gettext('CEP module "{{name}}" created'),
placeholders: {
name: '$1'
}
},
'^Cep module "(.+?)" updated$': {
gettext: gettext('CEP module "{{name}}" updated'),
placeholders: {
name: '$1'
}
},
'^Cep module "(.+?)" deleted$': {
gettext: gettext('CEP module "{{name}}" deleted'),
placeholders: {
name: '$1'
}
},
'^Command state is invalid: (.+)$': {
gettext: gettext('Command state is invalid: {{violations}}'),
placeholders: {
violations: {
capture: '$1',
translate: {
'(\\w+?) - may not be null': {
gettext: gettext('"{{field}}" must not be null'),
placeholders: {
field: '$1'
}
}
}
}
}
},
'^Could not connect to endpoint (.+)\\. Could not verify `(.+)` host key with fingerprint `(.+)` for `(.+)` on port (.+)\\. If you expected that key, please remove the previous one from configuration to allow for connection\\.$':
{
gettext: gettext(
'Could not connect to endpoint "{{endpointName}}". Could not verify {{keyType}} host key with fingerprint {{fingerprint}} for host {{host}} on port {{port}}. If you expected this key, please remove the previous one from configuration to allow for connection.'
),
placeholders: {
endpointName: '$1',
keyType: '$2',
fingerprint: '$3',
host: '$4',
port: '$5'
}
},
'^Could not login to ssh server on endpoint "(.+)"\\. Provided credential for user "(.+)" is incorrect\\.$':
{
gettext: gettext(
'Could not access SSH server on endpoint "{{endpointName}}". Provided credentials for user "{{userName}}" are incorrect.'
),
placeholders: {
endpointName: '$1',
userName: '$2'
}
},
'^Could not save object remoteAccessUpdate: (.+)$': {
gettext: '{{errorMessages}}',
placeholders: {
errorMessages: {
capture: '$1',
translate: {
'Could not recognize host-key format': {
gettext: gettext('Could not recognize "Host key" format')
},
'Could not recognize key-pair format': {
gettext: gettext('Could not recognize the format of "Public key" or "Private key"')
}
}
}
}
},
'^Could not update user. : Error persisting user (.+?)!$': {
gettext: gettext('Could not update user "{{username}}".'),
placeholders: {
username: '$1'
}
},
'^Create bulk operation$': {
gettext: gettext('Create bulk operation')
},
'^Create bulk operation: (.+)$': {
gettext: gettext('Create bulk operation: {{updatesList}}'),
placeholders: bulkOperationAuditLogTextPlaceholders
},
'^Creation ramp must be greater than (\\d+?)$': {
gettext: gettext('Bulk operation delay must be greater than {{minSeconds}} seconds.'),
placeholders: {
minSeconds: '$1'
}
},
'^Created container$': {
gettext: gettext('Container created.')
},
'^Created pod: (.+)$': {
gettext: gettext('Pod "{{imageName}}" created.'),
placeholders: {
imageName: '$1'
}
},
'^Creating device on LoRa platform failed$': {
gettext: gettext('Could not create the device in the LoRa platform.')
},
'^CSV file contained empty dataset$': {
gettext: gettext('No entries found in uploaded CSV file.')
},
'^Cycle detected for route (.+?)!$': {
gettext: gettext('Cycle detected for route {{route}}.'),
placeholders: {
route: '$1'
}
},
'^Data broker processing is currently overloaded and may stop forwarding your data\\. Please contact support\\.$':
{
gettext: gettext(
'Data broker processing is currently overloaded and may stop forwarding your data. Please contact support.'
)
},
'^Data broker processing is not able to connect do destination tenant, thus data forwarding is not working\\. Please contact support\\.$':
{
gettext: gettext(
'Data broker processing is not able to connect to destination tenant, thus data forwarding is not working. Please contact support.'
)
},
'^Delete bulk operation$': {
gettext: gettext('Delete bulk operation')
},
'^Delete bulk operation: (.+)$': {
gettext: gettext('Delete bulk operation: {{updatesList}}'),
placeholders: bulkOperationAuditLogTextPlaceholders
},
"^Device id '(.+?)' contains '(.+?)' character which is not permitted.$": {
gettext: gettext('ID "{{deviceId}}" contains invalid character: "{{invalidCharacter}}".'),
placeholders: {
deviceId: '$1',
invalidCharacter: '$2'
}
},
"^Device name: '(.+?)', alarm text: '(.+?)'$": {
gettext: gettext('Device name: "{{deviceName}}", alarm text: "{{alarmText | translate}}"'),
placeholders: {
deviceName: '$1',
alarmText: '$2'
}
},
'^Device (.+?) already registered to a tenant.$': {
gettext: gettext(
'Device {{ devEUI }} is already registered in your tenant or in another tenant in the platform.'
),
placeholders: {
devEUI: '$1'
}
},
'^Device with external ID(s) (.+?) was replaced by device with external ID(s) (.+?)$': {
gettext: gettext(
'Device with external ID(s) {{ oldExtIds }} was replaced by device with external ID(s) {{ newExtIds }}.'
),
placeholders: {
oldExtIds: '$1',
newExtIds: '$2'
}
},
'^Display name$': {
gettext: gettext('Login alias')
},
'^Domain name in uploaded certificate differs from the one in use$': {
gettext: gettext(
'Domain name in uploaded certificate differs from the one in use. Please deactivate the custom domain before uploading new certificate.'
)
},
'^Domain name is already in use by another tenant!$': {
gettext: gettext('Domain name is already used by another tenant.')
},
'^Duplicated connector for instanceUrl (.+?)!$': {
gettext: gettext('Target URL {{targetUrl}} already used by another connector.'),
placeholders: {
targetUrl: '$1'
}
},
'^Duplicated connector for name (.+?)!$': {
gettext: gettext('Connector name "{{name}}" already used by another connector.'),
placeholders: {
name: '$1'
}
},
'^Entry is outside of the target dir: (.+)$': {
gettext: gettext('File entry outside of the target directory: "{{path}}".'),
placeholders: {
path: '$1'
}
},
'^Error during password validation. : Password must have at least (\\d+?) characters and no more than (\\d+?) and must contain only Latin1 characters.$':
{
gettext: gettext(
'Password is invalid. It must have at least {{minCharactersCount}} and no more than {{maxCharactersCount}} characters.'
),
placeholders: {
minCharactersCount: '$1',
maxCharactersCount: '$2'
}
},
'^Error during password validation. : Your password has been used already. Choose another.$': {
gettext: gettext('This password has already been used earlier. Use a different one.')
},
"^Error in statement (.+?):(.+?)! : Incorrect syntax near '(.+?)' near reserved keyword '(.+?)' \\[([\\S\\s]+?)\\]$":
{
gettext: gettext(
'Error in statement {{moduleName}}:{{statementNumber}}. Incorrect syntax near expression "{{expression}}" near reserved keyword "{{keyword}}".'
),
placeholders: {
moduleName: '$1',
statementNumber: '$2',
expression: '$3',
keyword: '$4'
}
},
'^External id not found; external id = ID \\[type=(.+?), value=(.+?)\\]$': {
gettext: gettext('External ID not found for type "{{type}}" and value "{{value}}".'),
placeholders: {
type: '$1',
value: '$2'
}
},
'^Error occurred when trying to find an Application for id ID (.+) : Could not find application by ID (\\d+)$':
{
gettext: gettext('Could not find application by ID {{applicationId}}.'),
placeholders: {
applicationId: '$2'
}
},
'^Http status code: 404\n{error="options/Not Found",message="Unable to find option by given key: sigfox-agent/provider.token",info="https://www.cumulocity.com/guides/reference-guide/#error_reporting",details="null"}$':
{
gettext: gettext('Unable to find option by given key: sigfox-agent/provider.token')
},
'^Failed to delete application. : Cannot remove application assigned to other tenants.$': {
gettext: gettext('Could not delete application assigned to other tenants.')
},
'^Failed to extract certificate from PKCS12$': {
gettext: gettext('Failed to extract certificate from PKCS12.')
},
'^Failed to update domain at the platform$': {
gettext: gettext('Failed to update domain at the platform.')
},
"^Finding device data from database failed : No managedObject for id '(.+?)'!$": {
gettext: gettext('Could not find managed object with ID "{{deviceId}}".'),
placeholders: {
deviceId: '$1'
}
},
'^Following mandatory fields should be included: (.+?)$': {
gettext: gettext('Following mandatory fields should be included: {{fields}}'),
placeholders: {
fields: '$1'
}
},
'^Global Role updated$': {
gettext: gettext('Global role updated')
},
'^Global Role (.+?) updated$': {
gettext: gettext('Global role "{{name}}" updated'),
placeholders: {
name: '$1'
}
},
'^Global Role (.+?) updated: (.+)$': {
gettext: gettext('Global role "{{name}}" updated: {{updatesList}}'),
placeholders: {
name: '$1',
updatesList: {
capture: '$2',
translate: {
'applications \\[([^\\]]+?)\\] added': {
gettext: gettext('applications {{list}} added'),
placeholders: {
list: '$1'
}
},
'applications \\[([^\\]]+?)\\] removed': {
gettext: gettext('applications {{list}} removed'),
placeholders: {
list: '$1'
}
},
'roles \\[([^\\]]+?)\\] added': {
gettext: gettext('roles {{list}} added'),
placeholders: {
list: '$1'
}
},
'roles \\[([^\\]]+?)\\] removed': {
gettext: gettext('roles {{list}} removed'),
placeholders: {
list: '$1'
}
}
}
}
}
},
'^Global Roles$': {
gettext: gettext('Global roles')
},
'^Operation updated: (.+)$': {
gettext: gettext('Operation updated: {{updatesList}}'),
placeholders: {
updatesList: {
capture: '$1',
translate: {
"status='(.+?)'": {
gettext: gettext('status: "{{ status | translate }}"'),
placeholders: {
status: '$1'
}
},
"description='(.+?)'": {
gettext: gettext('description: "{{ description | translate }}"'),
placeholders: {
description: '$1'
}
},
"device name='(.+?)'": {
gettext: gettext('device name: "{{ deviceName }}"'),
placeholders: {
deviceName: '$1'
}
},
"failure reason='(.+?)'": {
gettext: gettext('failure reason: "{{ failureReason | translate }}"'),
placeholders: {
failureReason: '$1'
}
}
}
}
}
},
'^ID \\[type=(.+?), value=(.+?)\\] was already bound to different Global ID.$': {
gettext: gettext('External ID "{{value}}" of the type "{{type}}" already exists.'),
placeholders: {
type: '$1',
value: '$2'
}
},
'^Invalid credentials! : Bad credentials$': {
gettext: gettext('Invalid credentials.')
},
'^Invalid credentials! : No phone number provided$': {
gettext: gettext('Log into the management tenant first and enter your phone number.')
},
'^Inventory Role removed$': {
gettext: gettext('Inventory role removed')
},
'^Inventory Role (.+?) removed$': {
gettext: gettext('Inventory role "{{name}}" deleted.'),
placeholders: {
name: '$1'
}
},
'^Inventory Role updated$': {
gettext: gettext('Inventory role updated')
},
'^Inventory Role (.+?) updated$': {
gettext: gettext('Inventory role "{{name}}" updated.'),
placeholders: {
name: '$1'
}
},
'^I/O error: Connection refused; nested exception is Connection refused : Connection refused$': {
gettext: gettext('Connection refused')
},
'^I/O error: Read timed out; nested exception is Read timed out : Read timed out$': {
gettext: gettext('Read timed out')
},
'^Log file requested$': {
gettext: gettext('Log file requested.')
},
'^Managed object deleted$': {
gettext: gettext('Managed object deleted')
},
'^Managed object "(.+?)" deleted$': {
gettext: gettext('Managed object "{{name}}" deleted'),
placeholders: {
name: '$1'
}
},
'^Maximum file size exceeded$': {
gettext: gettext('Maximum file size exceeded.')
},
"^Message with ID (.+?) doesn't exist in smart rest template (.+?)$": {
gettext: gettext(
'Message with ID "{{messageId}}" doesn\'t exist in SmartREST template with ID "{{templateId}}"'
),
placeholders: {
messageId: '$1',
templateId: '$2'
}
},
"^name of Application cannot start with '(.+)' prefix.$": {
gettext: gettext('Application name must not start with "{{ prefix }}".'),
placeholders: {
prefix: '$1'
}
},
'^NewDeviceRequest for id = (.+?) already exists.$': {
gettext: gettext('Device registration request with ID {{id}} already exists.'),
placeholders: {
id: '$1'
}
},
'^NewDeviceRequest for device id (.+?) is in state BLOCKED, not PENDING_ACCEPTANCE.$': {
gettext: gettext(
'Device registration request with ID "{{deviceId}}" is in state "Blocked", not "Pending acceptance". Remove this registration request and start over.'
),
placeholders: {
deviceId: '$1'
}
},
'^No communication with device since (.+?)$': {
gettext: gettext('No communication with device since {{timestamp | absoluteDate}}.'),
placeholders: {
timestamp: '$1'
}
},
'^No data received from device within required interval.$': {
gettext: gettext('No data received from device within required interval.')
},
'^No LoRa provider settings are found. Please configure the connectivity settings.$': {
gettext: gettext(
'No LoRa provider settings are found. Please configure the connectivity settings.'
)
},
'^Not within any context!$': {
gettext: gettext('A problem occurred with microservice subscription.')
},
'^Maximum age cannot be bigger than 10 years.$': {
gettext: gettext('Maximum age cannot be bigger than 10 years.')
},
'^Microservice application name incorrect. Please use only lower-case letters, digits and dashes. Maximum length is (\\d+) characters.$':
{
gettext: gettext(
'Microservice application name is incorrect: only lower case letters, digits and dashes allowed. Maximum length: {{maxLength}}.'
),
placeholders: {
maxLength: '$1'
}
},
'^Microservice not available.*$': {
gettext: gettext('Microservice is not available.')
},
'^Operation created$': {
gettext: gettext('Operation created.')
},
'^Operation updated$': {
gettext: gettext('Operation updated.')
},
"^Operation created: status='(.+?)'.$": {
gettext: gettext('Operation created: status: "{{ status | translate }}".'),
placeholders: {
status: '$1'
}
},
'^Option created$': {
gettext: gettext('Option created.')
},
'^Option "(.+?)" created$': {
gettext: gettext('Option "{{option}}" created.'),
placeholders: {
option: '$1'
}
},
'^Option deleted$': {
gettext: gettext('Option deleted.')
},
'^Option "(.+?)" deleted$': {
gettext: gettext('Option "{{option}}" deleted.'),
placeholders: {
option: '$1'
}
},
'^Owner field error. : Cannot introduce cyclic dependency.$': {
gettext: gettext('Could not introduce cyclic ownership dependency.')
},
'^Password change is temporary blocked.$': {
gettext: gettext('Password change is temporarily blocked.')
},
'^Password cipher does not match$': {
gettext: gettext('Password cipher does not match.')
},
'^Platform application cannot be added to, nor removed from any tenant.$': {
gettext: gettext('Platform application cannot be added to, nor removed from any tenant.')
},
'^Private key must be provided in KEY_PAIR credentials$': {
gettext: gettext('Private key must be provided when "Public/private keys" option is selected.')
},
'^Private key cipher does not match$': {
gettext: gettext('Private key cipher does not match')
},
'^Protocol "(.+?)" does not support "(.+?)" credentials type$': {
gettext: gettext(
'Protocol "{{protocol}}" does not support "{{credentialsType}}" credentials type.'
),
placeholders: {
protocol: '$1',
credentialsType: '$2'
}
},
'^Provided security key does not match key stored for device (.+?).$': {
gettext: gettext(
'Provided security token does not match the security token stored for this device "{{deviceId}}".'
),
placeholders: {
deviceId: '$1'
}
},
'^Provided security key does not match key stored for device (.+?).Reached maximum number of failed attempts while trying to register this device. Request will now be blocked and has to be removed manually to restart the process.$':
{
gettext: gettext(
'The provided security token does not match the token stored for device "{{deviceId}}". You have reached the maximum number of failed attempts while trying to register this device. The request will now be blocked and must be removed manually to restart the process.'
),
placeholders: {
deviceId: '$1'
}
},
'^pulling image "(.+)"$': {
gettext: gettext('Pulling image: "{{imageName}}".'),
placeholders: {
imageName: '$1'
}
},
'^Real-time event processing is currently overloaded and may stop processing your events\\. Please contact support\\.$':
{
gettext: gettext(
'Real-time event processing is currently overloaded and may stop processing your events. Please contact support.'
)
},
'^Resource ID \\[type=com_cumulocity_model_idtype_GId, value=(.+?)\\] for this request not found.$':
{
gettext: gettext('Could not find the resource with ID "{{id}}".'),
placeholders: {
id: '$1'
}
},
'^Retrieve configuration snapshot from device (.+?)$': {
gettext: gettext('Retrieve configuration snapshot from device {{deviceName}}'),
placeholders: {
deviceName: '$1'
}
},
'^Retrieve (.+?) configuration snapshot from device (.+?)$': {
gettext: gettext(
'Retrieve {{configurationType}} configuration snapshot from device {{deviceName}}'
),
placeholders: {
configurationType: '$1',
deviceName: '$2'
}
},
'^Scaled up replica set (.+) to (\\d+)$': {
gettext: gettext('Replica set "{{replicaSetName}}" scaled up to "{{scaleNumber}}".'),
placeholders: {
replicaSetName: '$1',
scaleNumber: '$2'
}
},
'^Send configuration snapshot (.+?) of configuration type (.+?) to device (.+?)$': {
gettext: gettext(
'Send configuration snapshot {{snapshotName}} of configuration type {{configurationType}} to device {{deviceName}}'
),
placeholders: {
snapshotName: '$1',
configurationType: '$2',
deviceName: '$3'
}
},
'^Send configuration snapshot (.+?) to device (.+?)$': {
gettext: gettext('Send configuration snapshot {{snapshotName}} to device {{deviceName}}'),
placeholders: {
snapshotName: '$1',
deviceName: '$2'
}
},
'^Simulator state is invalid: (.+)$': {
gettext: gettext('Simulator state is invalid: {{violations}}'),
placeholders: {
violations: {
capture: '$1',
translate: {
'(\\w+?) - may not be null': {
gettext: gettext('"{{field}}" should not be null'),
placeholders: {
field: '$1'
}
},
'(\\w+?) - must be less than or equal to (\\d+)': {
gettext: gettext('"{{field}}" must be less than or equal to {{maxValue}}'),
placeholders: {
field: '$1',
maxValue: '$2'
}
},
'(\\w+?) - should not contain null values': {
gettext: gettext('"{{field}}" should not contain null values'),
placeholders: {
field: '$1'
}
}
}
}
}
},
"^Smart rest template (.+?) doesn't exist$": {
gettext: gettext('SmartREST template with ID "{{templateId}}" doesn\'t exist.'),
placeholders: {
templateId: '$1'
}
},
'^Smart rule created$': {
gettext: gettext('Smart rule created.')
},
'^Smart rule updated$': {
gettext: gettext('Smart rule updated.')
},
'^Smart rule enabled$': {
gettext: gettext('Smart rule activated.')
},
'^Smart rule disabled$': {
gettext: gettext('Smart rule deactivated.')
},
'^Smart rule deleted$': {
gettext: gettext('Smart rule deleted.')
},
'^Smart rule "(.+?)" created$': {
gettext: gettext('Smart rule "{{name}}" created.'),
placeholders: {
name: '$1'
}
},
'^Smart rule "(.+?)" updated$': {
gettext: gettext('Smart rule "{{name}}" updated.'),
placeholders: {
name: '$1'
}
},
'^Smart rule "(.+?)" enabled$': {
gettext: gettext('Smart rule "{{name}}" activated.'),
placeholders: {
name: '$1'
}
},
'^Smart rule "(.+?)" disabled$': {
gettext: gettext('Smart rule "{{name}}" deactivated.'),
placeholders: {
name: '$1'
}
},
'^Smart rule "(.+?)" deleted$': {
gettext: gettext('Smart rule "{{name}}" deleted.'),
placeholders: {
name: '$1'
}
},
'^Started container$': {
gettext: gettext('Container started.')
},
'^Successfully assigned (.+) to (.+)$': {
gettext: gettext('"{{imageName}}" assigned to "{{address}}".'),
placeholders: {
imageName: '$1',
address: '$2'
}
},
'^Successfully pulled image "(.+)"$': {
gettext: gettext('Image "{{imageName}}" pulled.'),
placeholders: {
imageName: '$1'
}
},
'^Tenant creation failed. : Tenant with given id already exists.$': {
gettext: gettext('Could not create a tenant. Tenant with given domain/URL already exists.')
},
'^Tenant id cannot be a reserved sql keyword "(.+?)".$': {
gettext: gettext('Could not use a reserved SQL keyword "{{tenantId}}" as a domain name.'),
placeholders: {
tenantId: '$1'
}
},
'^Tenant "(.+?)" activated$': {
gettext: gettext('Tenant "{{tenant}}" activated.'),
placeholders: {
tenant: '$1'
}
},
'^Tenant (.+?) has sub-tenants, please remove them first!$': {
gettext: gettext('Could not remove tenant "{{tenant}}". Remove its subtenants first.'),
placeholders: {
tenant: '$1'
}
},
'^Tenant activated$': {
gettext: gettext('Tenant activated.')
},
'^Tenant "(.+?)" created$': {
gettext: gettext('Tenant "{{tenant}}" created.'),
placeholders: {
tenant: '$1'
}
},
'^Tenant created$': {
gettext: gettext('Tenant created.')
},
'^Tenant "(.+?)" deleted$': {
gettext: gettext('Tenant "{{tenant}}" deleted.'),
placeholders: {
tenant: '$1'
}
},
'^Tenant deleted$': {
gettext: gettext('Tenant deleted.')
},
'^Tenant "(.+?)" suspended$': {
gettext: gettext('Tenant "{{tenant}}" suspended.'),
placeholders: {
tenant: '$1'
}
},
'^Tenant suspended$': {
gettext: gettext('Tenant suspended')
},
'^Tenant "(.+?)" updated: (.+?)$': {
gettext: gettext('Tenant "{{tenant}}" updated: {{properties}}.'),
placeholders: {
tenant: '$1',
properties: '$2'
}
},
'^Tenant updated$': {
gettext: gettext('Tenant updated.')
},
'^Too Many Requests$': {
gettext: gettext('Too many requests. Try again later.')
},
"^User alias equals username '(.+)'$": {
gettext: gettext('Username and login alias must be different.')
},
'^User created$': {
gettext: gettext('User created')
},
'^User (.+?) created$': {
gettext: gettext('User "{{name}}" created'),
placeholders: {
name: '$1'
}
},
'^User deleted$': {
gettext: gettext('User deleted')
},
'^User (.+?) deleted$': {
gettext: gettext('User "{{name}}" deleted'),
placeholders: {
name: '$1'
}
},
'^(.+?) user login with OAuth internal mode failed$': {
gettext: gettext('"{{name}}" user login with OAI-Secure mode failed'),
placeholders: {
name: '$1'
}
},
'^User updated$': {
gettext: gettext('User updated')
},
'^User (.+?) updated: (.+)$': {
gettext: gettext('User "{{name}}" updated: {{updatesList}}'),
placeholders: {
name: '$1',
updatesList: {
capture: '$2',
translate: {
"delegatedBy='(.+?)'": {
gettext: gettext('delegated by: "{{delegate}}"'),
placeholders: {
delegate: '$1'
}
},
"owner='(.+?)'": {
gettext: gettext('owner: "{{owner}}"'),
placeholders: {
owner: '$1'
}
},
'inventory assignment \\[(.+?)\\] added': {
gettext: gettext('inventory assignment [{{inventoryAssignment}}] added'),
placeholders: {
inventoryAssignment: '$1'
}
},
'inventory assignment \\[(.+?)\\] removed': {
gettext: gettext('inventory assignment [{{inventoryAssignment}}] removed'),
placeholders: {
inventoryAssignment: '$1'
}
},
'applications \\[(.+?)\\] added': {
gettext: gettext('applications [{{applicationsList}}] added'),
placeholders: {
applicationsList: '$1'
}
},
'applications \\[(.+?)\\] removed': {
gettext: gettext('applications [{{applicationsList}}] removed'),
placeholders: {
applicationsList: '$1'
}
},
'global roles \\[(.+?)\\] added': {
gettext: gettext('global roles [{{globalRolesList}}] added'),
placeholders: {
globalRolesList: '$1'
}
},
'global roles \\[(.+?)\\] removed': {
gettext: gettext('global roles [{{globalRolesList}}] removed'),
placeholders: {
globalRolesList: '$1'
}
}
}
}
}
},
"^User with username '(.+?)' already exists! : Duplicated: (.+?)$": {
gettext: gettext('User "{{username}}" already exists.'),
placeholders: {
username: '$1'
}
},
"^User with username or alias '(.+)' already exists! : Duplicated: (.+)$": {
gettext: gettext('User with username or login alias "{{usernameOrAlias}}" already exists.'),
placeholders: {
usernameOrAlias: '$1'
}
},
"^User with email '(.+?)' already exists! : Duplicated: (.+?)$": {
gettext: gettext('User with email "{{email}}" already exists.'),
placeholders: {
email: '$1'
}
},
'^unable to find option with given key (.+?) : Could not find entity Option by ID (.+?)!$': {
gettext: gettext('Unable to get tenant option: "{{option}}".'),
placeholders: {
option: '$2'
}
},
'^unable to find option with given key (.+?) : There is no system property for key (.+?)$': {
gettext: gettext('Unable to get system option: "{{option}}".'),
placeholders: {
option: '$2'
}
},
'^Write failed with error code 16733 and error message \'trying to index text where term list is too big, max is 4mb _id: "(.+?)"\'$':
{
gettext: gettext(
'The uploaded image cannot be bigger than 4 MB. Please upload a smaller one.'
)
},
'^Write failed with error code 17280 and error message \'WiredTigerIndex::insert: key too large to index, failing (.+?) { : "(.+?)" }\'$':
{
gettext: gettext('The selected name is too long. Please try a shorter one.')
},
'^You have reached devices limit. No more devices can be registered.$': {
gettext: gettext('You reached devices limit. No more devices can be registered.')
},
'^(.+) succeeded for volume "(.+)"$': {
gettext: gettext('Operation "{{operation}}" succeeded for volume "{{volume}}".'),
placeholders: {
operation: '$1',
volume: '$2'
}
},
"^Exception on tenant (.+) in statement '(.+)': Invocation exception when invoking method '(.+)' of class '(.+)' passing parameters \\[(.+)\\] for statement '(.+)': (.+) : (.+)$":
{
gettext: gettext(
'Exception on tenant {{tenantId}} in statement "{{moduleName}}": Invocation exception when invoking method "{{methodName}}" of class "{{classPath}}" passing parameters [{{parameters}}] for statement "{{statement}}": {{exceptionType}} : {{exceptionMessage}}.'
),
placeholders: {
tenantId: '$1',
moduleName: '$2',
methodName: '$3',
classPath: '$4',
parameters: '$5',
statement: '$6',
exceptionType: '$7',
exceptionMessage: '$8'
}
},
'^No nodes are available that match all of the predicates: (.+).$': {
gettext: gettext('No nodes are available that match all of the predicates: [{{predicates}}].'),
placeholders: {
predicates: '$1'
}
},
'^Readiness probe failed: (.+) (.+): (.+): request canceled while waiting for connection \\(Client.Timeout exceeded while awaiting headers\\)$':
{
gettext: gettext(
'Readiness probe failed: {{requestMethod}} {{uri}}: {{protocol}}: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).'
),
placeholders: {
requestMethod: '$1',
uri: '$2',
protocol: '$3'
}
},
'^Liveness probe failed: (.+) (.+): (.+): request canceled while waiting for connection \\(Client.Timeout exceeded while awaiting headers\\)$':
{
gettext: gettext(
'Liveness probe failed: {{requestMethod}} {{uri}}: {{protocol}}: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).'
),
placeholders: {
requestMethod: '$1',
uri: '$2',
protocol: '$3'
}
},
'^Error syncing pod$': {
gettext: gettext('Pod synchronization error.')
},
'^Failed create pod sandbox.$': {
gettext: gettext('Pod sandbox creation failed.')
},
'^Exception on tenant (.+) in statement \'(.+)\': Http status code: (\\d+) \\{error="alarm/Unprocessable Entity",message="(.+)",info="https://www.cumulocity.com/guides/reference-guide/#error_reporting",details="null"\\}$':
{
gettext: gettext(
'Exception on tenant {{tenantId}} in statement "{{statement}}": HTTP status code: {{httpStatusCode}} : {{message | translate}}'
),
placeholders: {
tenantId: '$1',
statement: '$2',
httpStatusCode: '$3',
message: '$4'
}
},
"^User '(.+)' is managed by a remote identity management service defined by an administrator, direct update is forbidden$":
{
gettext: gettext(
'User "{{userName}}" is managed by a remote identity management service defined by an administrator, direct update is forbidden.'
),
placeholders: {
userName: '$1'
}
},
'^Added new child device to "(.+)" \\(ID: (.+)\\).$': {
gettext: gettext('Added new child device to "{{parentDeviceName}}" (ID: {{parentDeviceId}}).'),
placeholders: {
parentDeviceName: '$1',
parentDeviceId: '$2'
}
},
'^Updated child device of "(.+)" \\(ID: (.+)\\).$': {
gettext: gettext('Updated child device of "{{parentDeviceName}}" (ID: {{parentDeviceId}}).'),
placeholders: {
parentDeviceName: '$1',
parentDeviceId: '$2'
}
},
'^Added child device "(.+)" \\(ID: (.+)\\).$': {
gettext: gettext('Added child device "{{name}}" (ID: {{id}}).'),
placeholders: {
name: '$1',
id: '$2'
}
},
'^Removed child device "(.+)" \\(ID: (.+)\\).$': {
gettext: gettext('Removed child device "{{name}}" (ID: {{id}}).'),
placeholders: {
name: '$1',
id: '$2'
}
},
'^Change value of "(.+)" to (.+) (.+).$': {
gettext: gettext('Change value of "{{name}}" to {{value}}{{unit}}.'),
placeholders: {
name: '$1',
value: '$2',
unit: '$3'
}
},
'^Change value of "(.+)" to (.+).$': {
gettext: gettext('Change value of "{{name}}" to {{value}}.'),
placeholders: {
name: '$1',
value: '$2'
}
},
'^Change status of "(.+)" to "(.+)".$': {
gettext: gettext('Change status of "{{name}}" to "{{label}}".'),
placeholders: {
name: '$1',
label: '$2'
}
},
'^Send message "(.+)".$': {
gettext: gettext('Send message "{{str}}".'),
placeholders: {
str: '$1'
}
},
'^Close relay (.+).$': {
gettext: gettext('Close relay {{number}}.'),
placeholders: {
number: '$1'
}
},
'^Open relay (.+).$': {
gettext: gettext('Open relay {{number}}.'),
placeholders: {
number: '$1'
}
},
'^Change trace status to (.+).$': {
gettext: gettext('Change trace status to {{state | translate}}.'),
placeholders: {
state: '$1'
}
},
'^Change relay status to (.+).$': {
gettext: gettext('Change relay status to {{status | translate}}.'),
placeholders: {
status: '$1'
}
},
'^Closing relay (.+).$': {
gettext: gettext('Closing relay {{number}}.'),
placeholders: {
number: '$1'
}
},
'^Opening relay (.+).$': {
gettext: gettext('Opening relay {{number}}.'),
placeholders: {
number: '$1'
}
},
'^Update bulk operation$': {
gettext: gettext('Update bulk operation')
},
'^Update bulk operation: (.+)$': {
gettext: gettext('Update bulk operation: {{updatesList}}'),
placeholders: bulkOperationAuditLogTextPlaceholders
},
'^Update firmware to: "?(.+?)"? \\(version: (.+)\\)\\.?$': {
gettext: gettext('Update firmware to: "{{ name }}" (version: {{ version }})'),
placeholders: {
name: '$1',
version: '$2'
}
},
'^Update firmware to: "?(.+?)"?\\.?$': {
gettext: gettext('Update firmware to: "{{ name }}"'),
placeholders: {
name: '$1'
}
},
'^Update configuration to (.+).$': {
gettext: gettext('Update configuration to: {{ name }}.'),
placeholders: {
name: '$1'
}
},
'^Apply device profile: (.+).?$': {
gettext: gettext('Apply device profile: {{ name }}'),
placeholders: {
name: '$1'
}
},
'^Execute generic command: (.+).?$': {
gettext: gettext('Execute generic command: {{command}}'),
placeholders: {
command: '$1'
}
},
'^Failed to refresh application. : Cannot refresh non local-hosted application.$': {
gettext: gettext('Could not reactivate the application as it is not hosted locally.')
},
'^Failed to refresh application. : Cannot refresh application without active version id.$': {
gettext: gettext('Could not reactivate the application as it has no active version.')
},
// TODO: remove if we decide not to translate such messages:
// '^Killing container with id (.+):Need to kill Pod$': {
// gettext: gettext('Killing container with ID "{{containerId}}". Need to kill Pod.'),
// placeholders: {
// containerId: '$1'
// }
// },
'^Scaled down replica set (.+) to (\\d+)$': {
gettext: gettext('Replica set "{{replicaSetName}}" scaled down to "{{scaleNumber}}".'),
placeholders: {
replicaSetName: '$1',
scaleNumber: '$2'
}
},
'^Deleted pod: (.+)$': {
gettext: gettext('Pod "{{imageName}}" deleted.'),
placeholders: {
imageName: '$1'
}
},
'^Container image "(.+)" already present on machine$': {
gettext: gettext('Container image "{{imageName}}" already exists.'),
placeholders: {
imageName: '$1'
}
},
'^Error updating tenant! Cannot insert second configuration for Password code grant internal/Bad Request$':
{
gettext: gettext(
'This login mode was already set by another administrator. Refresh the page to update the data.'
)
},
// Translations for audit logs
'^Application deleted$': {
gettext: gettext('Application deleted')
},
'^Microservice application "(.+?)" deleted for tenant "(.+?)"$': {
gettext: gettext('Microservice application "{{appName}}" deleted for tenant "{{tenant}}"'),
placeholders: {
appName: '$1',
tenant: '$2'
}
},
'^Hosted application "(.+?)" deleted for tenant "(.+?)"$': {
gettext: gettext('Hosted application "{{appName}}" deleted for tenant "{{tenant}}"'),
placeholders: {
appName: '$1',
tenant: '$2'
}
},
'^External application "(.+?)" deleted for tenant "(.+?)"$': {
gettext: gettext('External application "{{appName}}" deleted for tenant "{{tenant}}"'),
placeholders: {
appName: '$1',
tenant: '$2'
}
},
'^Application activated$': {
gettext: gettext('Application activated')
},
'^Microservice application "(.+?)" activated: version \\[(.+?)\\] added, activeVersionId \\[(.+?)\\] added$':
{
gettext: gettext(
'Microservice application "{{appName}}" activated: version "{{version}}" added, activeVersionId "{{activeVersionId}}" added'
),
placeholders: {
appName: '$1',
version: '$2',
activeVersionId: '$3'
}
},
'^Hosted application "(.+?)" activated: version \\[(.+?)\\] added, activeVersionId \\[(.+?)\\] added$':
{
gettext: gettext(
'Hosted application "{{appName}}" activated: version "{{version}}" added, activeVersionId "{{activeVersionId}}" added'
),
placeholders: {
appName: '$1',
version: '$2',
activeVersionId: '$3'
}
},
'^External application "(.+?)" activated: version \\[(.+?)\\] added, activeVersionId \\[(.+?)\\] added$':
{
gettext: gettext(
'External application "{{appName}}" activated: version "{{version}}" added, activeVersionId "{{activeVersionId}}" added'
),
placeholders: {
appName: '$1',
version: '$2',
activeVersionId: '$3'
}
},
'^(.+?) user logged in to the platform with OAuth internal login mode$': {
gettext: gettext('"{{name}}" user logged in to the platform with OAI-Secure login mode'),
placeholders: {
name: '$1'
}
},
"^Scaling application '(.+?)' from (.+?) to (.+?) instances$": {
gettext: gettext('Scaling application "{{appName}}" from {{from}} to {{to}} instances'),
placeholders: {
appName: '$1',
from: '$2',
to: '$3'
}
},
'^User logout$': {
gettext: gettext('User logout')
},
'^(.+?) user logout$': {
gettext: gettext('"{{name}}" user logout'),
placeholders: {
name: '$1'
}
},
'^Authentication with id: (.+?) configuration updated.$': {
gettext: gettext('Authentication configuration with ID "{{id}}" updated.'),
placeholders: {
id: '$1'
}
},
'^Authentication configuration with id: (.+?) added.$': {
gettext: gettext('Authentication configuration with ID "{{id}}" added.'),
placeholders: {
id: '$1'
}
},
'^Configuration type: basic.$': {
gettext: gettext('Configuration type: Basic Auth.')
},
'^Configuration type: oauth2_internal.$': {
gettext: gettext('Configuration type: OAI-Secure.')
},
'^Configuration type: oauth2.$': {
gettext: gettext('Configuration type: Single sign-on.')
},
'^Device put into maintenance state$': {
gettext: gettext('Device put into maintenance state')
},
'^device with id: (.+?) is put into maintenance state$': {
gettext: gettext('Device with ID "{{deviceId}}" is put into maintenance state'),
placeholders: {
deviceId: '$1'
}
},
'^Connector updated$': {
gettext: gettext('Connector updated')
},
'^Connector (.+?) updated: filters [(.+?)] added$': {
gettext: gettext('Connector "{{name}}" updated: filters [{{filters}}] added'),
placeholders: {
name: '$1',
filters: '$2'
}
},
'^Connector deleted$': {
gettext: gettext('Connector deleted')
},
'^Connector (.+?) deleted$': {
gettext: gettext('Connector "{{name}}" deleted'),
placeholders: {
name: '$1'
}
},
'^Connector created$': {
gettext: gettext('Connector created')
},
'^Connector (.+?) created: (.+?) added, (.+?)$': {
gettext: gettext('Connector "{{name}}" created: {{configuration}} added, {{baseProperties}}'),
placeholders: {
name: '$1',
configuration: '$2',
baseProperties: '$3'
}
},
'^Connector (.+?) updated: (.+?) added, (.+?) removed$': {
gettext: gettext('Connector "{{name}}" updated: {{newConfig}} added, {{oldConfig}} removed'),
placeholders: {
name: '$1',
newConfig: '$2',
oldConfig: '$3'
}
},
'^Connector (.+?) updated: (.+?) removed, (.+?) added$': {
gettext: gettext('Connector "{{name}}" updated: {{newConfig}} added, {{oldConfig}} removed'),
placeholders: {
name: '$1',
oldConfig: '$2',
newConfig: '$3'
}
},
'^Can read all data of the asset and manage all inventory data, but cannot perform operations. Can also acknowledge and clear alarms. Can create and updates dashboards.$':
{
gettext: gettext(
'Can read all data of the asset and manage all inventory data, but cannot perform operations. Can also acknowledge and clear alarms. Can create and updates dashboards.'
)
},
'^Operations: All$': {
gettext: gettext('Operations: All')
},
'^Can remotely manage the assets by sending operations to the device. This includes for example remote configuration, software update, etc.$':
{
gettext: gettext(
'Can remotely manage the assets by sending operations to the device. This includes remote configuration, software update and more.'
)
},
'^Operations: Restart Device$': {
gettext: gettext('Operations: Restart Device')
},
'^Can restart devices.$': {
gettext: gettext('Can restart devices.')
},
'^Reader$': {
gettext: gettext('Reader')
},
'^Can read all data of the asset.$': {
gettext: gettext('Can read all data of the asset.')
},
// Default global roles' names and descriptions:
// Description for 'admins' role
'^Enables administrative permissions. The first user created for the tenant receives this role$':
{
gettext: gettext(
'Enables administrative permissions. The first user created for the tenant receives this role.'
)
},
// Description for 'business' role
'^Can access all devices and their data but has no management permission in the tenant$': {
gettext: gettext(
'Can access all devices and their data but has no management permission in the tenant.'
)
},
'^CEP Manager$': {
gettext: gettext('CEP Manager')
},
'^Has full access to all deployed CEP modules and SmartRules$': {
gettext: gettext('Has full access to all deployed CEP modules and smart rules.')
},
'^Devicemanagement User$': {
gettext: gettext('Device Management User')
},
'^Gives access to bulk operations and device management application. This does not include access to any device data.$':
{
gettext: gettext(
'Gives access to bulk operations and Device Management application. This does not include access to any device data.'
)
},
// Description for 'devices' role
'^A role marker for device users. After registration, a device automatically has this role$': {
gettext: gettext(
'A role marker for device users. After registration, a device automatically has this role.'
)
},
'^Global Manager$': {
gettext: gettext('Global Manager')
},
'^Can read and write all data from all devices$': {
gettext: gettext('Can read and write all data from all devices.')
},
'^Global Reader$': {
gettext: gettext('Global Reader')
},
'^Can read all data from all devices$': {
gettext: gettext('Can read all data from all devices.')
},
'^Cockpit User$': {
gettext: gettext('Cockpit User')
},
'^User to work in Cockpit application. This does not include the access to any device data.$': {
gettext: gettext(
'User to work in Cockpit application. This does not include the access to any device data.'
)
},
'^Global User Manager$': {
gettext: gettext('Global User Manager')
},
'^Can access and modify the full user hierarchy$': {
gettext: gettext('Can access and edit the full user hierarchy.')
},
// '^readers$': {
// gettext: gettext('Reader')
// },
'^Can read all data \\(including users, in contrast to "Global Reader"\\)$': {
gettext: gettext('Can read all data (including users, in contrast to "Global Reader").')
},
'^Shared User Manager$': {
gettext: gettext('Shared User Manager')
},
'^Can create new user as his own sub-users and manage this$': {
gettext: gettext('Can create new own sub-users and manage them.')
},
'^Tenant Manager$': {
gettext: gettext('Tenant Manager')
},
'^Can manage tenant wide configurations like applications, tenant options and retention rules$': {
gettext: gettext(
'Can manage tenant wide configurations like applications, tenant options and retention rules.'
)
},
// DataHub global roles' names and descriptions:
'^DATAHUB_ADMINISTRATOR$': {
gettext: gettext('DataHub Administrator')
},
'^Can conduct administrative tasks and manage offloading pipelines$': {
gettext: gettext('Can conduct administrative tasks and manage offloading pipelines.')
},
'^DATAHUB_MANAGER$': {
gettext: gettext('DataHub Manager')
},
'^Can manage offloading pipelines$': {
gettext: gettext('Can manage offloading pipelines.')
},
'^DATAHUB_READER$': {
gettext: gettext('DataHub Reader')
},
'^Can execute SQL queries against the data in the data lake$': {
gettext: gettext('Can execute SQL queries against the data in the data lake.')
},
'^User "(.+?)" password was updated by user "(.+?)"$': {
gettext: gettext(
'"{{ targetUserName }}" user\'s password was updated by "{{ userName }}" user'
),
placeholders: {
targetUserName: '$1',
userName: '$2'
}
},
'^User password update$': {
gettext: gettext('User password update')
},
'^User "(.+?)" password updated$': {
gettext: gettext('"{{ userName }}" user changed own password'),
placeholders: {
userName: '$1'
}
},
// LWM2M strings (move to submodule when it's migrated from ng1)
'^LWM2M device type$': {
gettext: gettext('LWM2M device type')
},
'^LWM2M server URI$': {
gettext: gettext('LWM2M server URI')
},
'^coaps://<LWM2M-server-domain>:<coaps-port>$': {
gettext: gettext('coaps://<LWM2M-server-domain>:<coaps-port>')
},
'^Endpoint client ID$': {
gettext: gettext('Endpoint client ID')
},
'^Server public key$': {
gettext: gettext('Server public key')
},
'^Generate bootstrap server config$': {
gettext: gettext('Generate bootstrap server config')
},
'^LWM2M bootstrap short server ID$': {
gettext: gettext('LWM2M bootstrap short server ID')
},
'^LWM2M short server ID$': {
gettext: gettext('LWM2M short server ID')
},
'^Registration lifetime$': {
gettext: gettext('Registration lifetime')
},
'^in seconds$': {
gettext: gettext('in seconds')
},
'^Security instance offset$': {
gettext: gettext('Security instance offset')
},
'^Default minimum period$': {
gettext: gettext('Default minimum period')
},
'^Default maximum period$': {
gettext: gettext('Default maximum period')
},
'^Binding mode$': {
gettext: gettext('Binding mode')
},
'^applicable for LWM2M 1\\.0$': {
gettext: gettext('applicable for LWM2M 1.0')
},
'^Awake time registration parameter$': {
gettext: gettext('Awake time registration parameter')
},
'^in milliseconds, 0 means device is always online$': {
gettext: gettext('in milliseconds, 0 means device is always online')
},
'^Use common timestamp resources 5518 and 6050 or object specific timestamp for object 6 reported by the device if available$':
{
gettext: gettext(
'Use common timestamp resources 5518 and 6050 or object specific timestamp for object 6 reported by the device if available'
)
},
'^Notification storing when disabled or offline$': {
gettext: gettext('Notification storing when disabled or offline')
},
'^Disable timeout$': {
gettext: gettext('Disable timeout')
},
'^LWM2M request timeout$': {
gettext: gettext('LWM2M request timeout')
},
'^in milliseconds$': {
gettext: gettext('in milliseconds')
},
'^Binary delivery encoding$': {
gettext: gettext('Binary delivery encoding')
},
'^Firmware update delivery method$': {
gettext: gettext('Firmware update delivery method')
},
'^Firmware update supported device protocol$': {
gettext: gettext('Firmware update supported device protocol')
},
'^Firmware update reset mechanism$': {
gettext: gettext('Firmware update reset mechanism')
},
'^Firmware update URL$': {
gettext: gettext('Firmware update URL')
},
'^Failed to find operation data in the internal memory store\\. Try again!$': {
gettext: gettext('Failed to find operation data in the internal memory store. Try again.')
},
'^Security mode$': {
gettext: gettext('Security mode')
},
'^Bootstrap PSK ID$': {
gettext: gettext('Bootstrap PSK ID')
},
'^Bootstrap pre-shared key$': {
gettext: gettext('Bootstrap pre-shared key')
},
'^LWM2M PSK ID$': {
gettext: gettext('LWM2M PSK ID')
},
'^LWM2M pre-shared key$': {
gettext: gettext('LWM2M pre-shared key')
},
'^LWM2M bulk device upload operation$': {
gettext: gettext('LWM2M bulk device upload operation')
},
'^This operation is only triggered by the agent when user uploads a CSV file with all required information to register new LWM2M devices\\. The source of the operation is the LWM2M device connector\\. Users are not able to trigger this operation using the shell command\\.$':
{
gettext: gettext(
'This operation is only triggered by the agent when user uploads a CSV file with all required information to register new LWM2M devices. The source of the operation is the LWM2M device connector. Users are not able to trigger this operation using the shell command.'
)
},
'^Write$': {
gettext: gettext('Write')
},
'^Execute$': {
gettext: gettext('Execute')
},
'^Execute with parameters$': {
gettext: gettext('Execute with parameters')
},
'^Execute with Parameters$': {
gettext: gettext('Execute with parameters')
},
'^Delete Instance$': {
gettext: gettext('Delete instance')
},
'^Create Instance$': {
gettext: gettext('Create instance')
},
'^Read Object$': {
gettext: gettext('Read object')
},
'^Read Instance$': {
gettext: gettext('Read instance')
},
'^LWM2M bulk device removal operation$': {
gettext: gettext('LWM2M bulk device removal operation')
},
'^This operation is only triggered by the agent when user uploads a CSV file with a list of endpoint IDs to delete from C8Y\\.The source of the operation is the LWM2M device connector\\. Users are not able to trigger this operation using the shell command\\.$':
{
gettext: gettext(
'This operation is only triggered by the agent when user uploads a CSV file with a list of endpoint IDs to delete from the platform. The source of the operation is the LWM2M device connector. Users are not able to trigger this operation using the shell command.'
)
},
'^Could not find device$': {
gettext: gettext('Could not find device')
},
'^Exception occurred while removing device (.+?)$': {
gettext: gettext('Exception occurred while removing device: {{ exceptionMessage }}'),
placeholders: {
exceptionMessage: '$1'
}
},
'^This command can be used to migrate LWM2M devices which are created in a non-standard way\\. It can take comma-separated device managed object IDs as parameters\\. If the IDs are specified then the migration will be done only for those devices\\. If the command is sent without any parameters then the agent will look up for possible Lwm2m devices that are not created in a standard way and try to migrate them\\. Usage: migrateLwm2mDevices 1122,3344 or migrateLwm2mDevices$':
{
gettext: gettext(
'This command can be used to migrate LWM2M devices which are created in a non-standard way. It can take comma-separated device managed object IDs as parameters. If the IDs are specified then the migration will be done only for those devices. If the command is sent without any parameters then the agent will look up for possible LWM2M devices that are not created in a standard way and try to migrate them. Usage: migrateLwm2mDevices 1122,3344 or migrateLwm2mDevices'
)
},
'^Unable to migrate devices$': {
gettext: gettext('Unable to migrate devices')
},
'^Error while processing report$': {
gettext: gettext('Error while processing report')
},
'^Expected 1 endpointId argument$': {
gettext: gettext('Expected 1 endpointId argument')
},
'^LWM2M device registration$': {
gettext: gettext('LWM2M device registration')
},
'^The required and optional properties to register and setup LWM2M Devices$': {
gettext: gettext('The required and optional properties to register and setup LWM2M devices')
},
'^Bootstrap$': {
gettext: gettext('Bootstrap')
},
'^Advanced$': {
gettext: gettext('Advanced')
},
'^Bulk LWM2M device registration$': {
gettext: gettext('Bulk LWM2M device registration')
},
'^This command returns a list of shell commands with description that can be created for the Lwm2m device connector\\.$':
{
gettext: gettext(
'This command returns a list of shell commands with description that can be created for the LWM2M device connector.'
)
},
'^The following operations are supported:$': {
gettext: gettext('The following operations are supported:')
},
'^PSK template$': {
gettext: gettext('PSK template')
},
'^A bulk registration CSV template showing all mandatory fields$': {
gettext: gettext('A bulk registration CSV template showing all mandatory fields')
},
'^Mandatory fields template$': {
gettext: gettext('Mandatory fields template')
},
'^General template$': {
gettext: gettext('General template')
},
'^A bulk registration CSV template for NO_SEC devices with all optional fields$': {
gettext: gettext('A bulk registration CSV template for NO_SEC devices with all optional fields')
},
'^A general bulk registration CSV template showing all possible fields$': {
gettext: gettext('A general bulk registration CSV template showing all possible fields')
},
'^A bulk registration CSV template for PSK devices with all optional fields$': {
gettext: gettext('A bulk registration CSV template for PSK devices with all optional fields')
},
'^NO_SEC template$': {
gettext: gettext('NO_SEC template')
},
// LPWAN device registration and connectivity strings
'^Authentication to the Loriot platform failed with status code (.+?). Check if the credentials are correct or if Session ID is expired.$':
{
gettext: gettext(
'Authentication to the LORIOT platform failed with status code {{ statusCode }}. Check if the credentials are correct or if session ID is expired.'
),
placeholders: {
statusCode: '$1'
}
},
'^Authentication to the Loriot platform failed with status code (.+?). Check if the base URL, credentials are correct and the application with the given ID exists.$':
{
gettext: gettext(
'Authentication to the LORIOT platform failed with status code {{ statusCode }}. Check if the base URL, credentials are correct and the application with the given ID exists.'
),
placeholders: {
statusCode: '$1'
}
},
'^Application output creation failed due to status code (.+?)$': {
gettext: gettext('Application output creation failed due to status code {{ statusCode }}.'),
placeholders: {
statusCode: '$1'
}
},
'^Application output update failed due to status code (.+?)$': {
gettext: gettext('Application output update failed due to status code {{ statusCode }}.'),
placeholders: {
statusCode: '$1'
}
},
'^Error creating the device due to status code (.+?). Check if the application Id, devEui, appEui and appKey are in the correct format or the device limit has been exceeded or has been registered with another account in the Loriot provider$':
{
gettext: gettext(
'Error creating the device due to status code {{ statusCode }}. Check if the application name, Device EUI, Application EUI and Application key are in the correct format or the device limit has been exceeded or has been registered with another account in the LORIOT provider.'
),
placeholders: {
statusCode: '$1'
}
},
'^Error retrieving application with given ID: (.+?) with status code 400. Check if the applicationId provided is in the correct format$':
{
gettext: gettext(
'Error retrieving application with given ID: {{ applicationId }} with status code 400. Check if the selected application is correct'
),
placeholders: {
applicationId: '$1'
}
},
"^LNS connection name can't be null or blank.$": {
gettext: gettext("LNS connection name can't be empty.")
},
'^Unexpected error occurred while accessing the cached LNS connections map with key (.+?)$': {
gettext: gettext(
'Unexpected error occurred while accessing the cached LNS connections map with key "{{ connectionName }}".'
),
placeholders: {
connectionName: '$1'
}
},
"^LNS connection named (.+?) doesn't exist.$": {
gettext: gettext('LNS connection named "{{ connectionName }}" doesn\'t exist.'),
placeholders: {
connectionName: '$1'
}
},
'^LNS connection named (.+?) already exists.$': {
gettext: gettext('LNS connection named "{{ connectionName }}" already exists.'),
placeholders: {
connectionName: '$1'
}
},
"^New LNS connection can't be null.$": {
gettext: gettext("New LNS connection can't be empty.")
},
"^LNS connection to update can't be null.$": {
gettext: gettext("LNS connection to update can't be empty.")
},
"^The name of the LNS connection to update can't be null.$": {
gettext: gettext("The name of the LNS connection to update can't be empty.")
},
'^Can not delete the LNS connection with name "(.+?)" as it\'s associated with (.+?) device(s).$':
{
gettext: gettext(
'Could not delete the LNS connection with the name "{{ connectionName }}" as it\'s associated with {{ numberOfDevices }} device(s).'
),
placeholders: {
connectionName: '$1',
numberOfDevices: '$2'
}
},
'^Can not update the LNS connection with name "(.+?)" as it\'s associated with (.+?) device(s).$':
{
gettext: gettext(
'Could not update the LNS connection with the name "{{ connectionName }}" as it\'s associated with {{ numberOfDevices }} device(s).'
),
placeholders: {
connectionName: '$1',
numberOfDevices: '$2'
}
},
'^Authentication to the Actility platform failed with status code (.+?). Check if the credentials are correct.$':
{
gettext: gettext(
'Authentication to the Actility platform failed with status code {{ statusCode }}. Check if the credentials are correct.'
),
placeholders: {
statusCode: '$1'
}
},
'^Authentication to the Actility platform failed with status code (.+?). Check if the profile Id is correct.$':
{
gettext: gettext(
'Authentication to the Actility platform failed with status code {{ statusCode }}. Check if the Profile ID is correct.'
),
placeholders: {
statusCode: '$1'
}
},
'^Authentication to the Actility platform failed. Check if the base URL (.+?) is correct.$': {
gettext: gettext(
'Authentication to the Actility platform failed. Check if the base URL {{ baseUrl }} is correct.'
),
placeholders: {
baseUrl: '$1'
}
},
'^Authentication to the Sigfox platform failed. Check if the base URL (.+) is correct.$': {
gettext: gettext(
'Authentication to the Sigfox platform failed. Check if the base URL {{ baseUrl }} is correct.'
),
placeholders: {
baseUrl: '$1'
}
},
'^Authentication to the Sigfox platform failed. Check if the Parent group Id and/or the credentials are correct.$':
{
gettext: gettext(
'Authentication to the Sigfox platform failed. Check if the Parent group ID and/or the credentials are correct.'
)
},
'^Authentication to the Loriot platform failed with status code (.+?). Session Id might have expired.$':
{
gettext: gettext(
'Authentication to the LORIOT platform failed with status code {{ statusCode }}. Session ID might have expired.'
),
placeholders: {
statusCode: '$1'
}
},
'^Authentication to the Actility platform failed with status code (.+?). Check if the base URL and/or the credentials are correct.$':
{
gettext: gettext(
'Authentication to the Actility platform failed with status code {{ statusCode }}. Check if the base URL and/or the credentials are correct.'
),
placeholders: {
statusCode: '$1'
}
}
} as const
|