in scripts/extractStrings.js [182:212]
function getLocalizeableStrings(obj, key, outputMap, templatePath) {
for (var field in obj) {
var objectEntry = obj[field];
var jsonKey;
if (typeof objectEntry === 'object') {
// If the last field is a number, it is part of an array.
// See if there's another identifier such that if a template order is edited, the string does not need to be re-localized
if (isNumeric(field)) {
jsonKey = getKeyForArrayObject(key, objectEntry, field);
} else {
jsonKey = key.concat(".", field);
}
getLocalizeableStrings(objectEntry, jsonKey, outputMap, templatePath);
} else if (LocKeys.includes(field)) {
jsonKey = key.concat(".", field).substring(1);
const jsonVal = obj[field];
if (canLocalize(jsonVal)) {
if (outputMap[jsonKey] != null) {
logError("Found duplicate key: " + jsonKey + " in template: " + templatePath + ". To fix this error, change the step name or id", /**true**/);
// delete the key from being localized
outputMap[jsonKey] = undefined;
} else {
outputMap[jsonKey] = jsonVal;
}
}
// Check for parameters that should be locked
findAndGenerateLockedStringComment(jsonKey, objectEntry, outputMap);
}
}
}