Device Messages are displaying the Key item instead of the Value text

Problem

Labels/Buttons are displaying the device message key item instead of the Value text. 

 In this example "record.delete" is displayed and not the translation value of "Delete".

Solution

This occurs when the device message key and corresponding value does not exist in the Device messages view. 

From the Admin console, click on the Administrator view and select “Device messages”. Click on the search button and type the key as displayed in the device in the key field. Click search.

  • If the Key does not exist, it can either be created as a new device message or imported.  Please see /wiki/spaces/SMSAGV/pages/213876 or /wiki/spaces/SMSAGV/pages/213903 for more details.
  • If the key does exist, its possible the user has an older CAD which does contain the device message key. Check that the Value is correct, and send the user the latest CAD.


Note. If the device message appears during an action like a save or edit on the device , then this could be related to javascript used during the action. To view javascript, click on module settings and click on the javascript icon corresponding to the module.

 if an action during an edit produces a device message which does not display the value of the device message specified in the console then you may need to check if javascript has been used for the edit action and confirm that the device message referneced within the javascript matches the device message in the console."

For example: In a time module, we have the following javascript on edit action:

function checkCondition(row)

{
var result;
result = "true";

if(row. length>0){
if(row[0]._6.CALKW04 == "Y"){
window.location = "melt://showAlert:$custom.cannot.edit.hours";
result = "false";
}
}
return "[ {\"action\":\"validate\",\"result\":\"" + result + "\"} ]";
}

 

But the device message in the console has been created as custom.cannot.edit.time with a value of "Cannot edit time" then the message displayed will be custom.cannot.edit.hours. In this case the javascript entry will need to be changed to custom.cannot.edit.time