In angular translation service, interpolating params in normal translation json works well. But in nested json, interpolating params is not working.
My JSON:
"SampleField": {
"SampleValidation": {
"MIN": "Value should not be less than {{min}}",
"MAX": "Value should not be more than {{max}}",
}
}
My Angular Code:
ngOnInit(): void {
this.translateService.get('SampleField.Validation', {
// using hard coded value just as a sample
min: 0, max: 2000
}).subscribe(translation => {
console.log(translation);
});
}
Expected Output:
{
MIN: "Value should not be less than 0",
MAX: "Value should not be greater than 2000"
}
Actual Output:
{
MIN: "Value should not be less than {{min}}",
MAX: "Value should not be greater than {{max}}"
}
According to the source of ngx-translate interpolation works only on strings:
This means you might need to use an array of keys instead of a non-leaf element: