thanks for the explanation.
The problem is that the Telerik documentation doesn't list all the resource keys that are needed for a control. For example, the documentation for RadDateTimePicker doesn't list the "Today" key that is new to version Q1 2016. For RadRibbonView, the keys are not displayed and the example lists only 3 of the 12 (at least keys) So to detect the missing keys, I display them inside square brackets. Now, with your implementation of this particular resource, the translated string is displayed between square bracket.
Now for the control implementation.
First, note that the problem is only with the "Error" key and that the other messages are handled correctly. In addition, the translated string is always displayed with a single pair of square brackets, so the call is only made twice, not for each display of thie text.
Second, it should not be difficult to have a field that is initialized to null when the resource is not known and that is initialized with the key in this case.
Now for the LocalizationManager.
The only documentation published by Telerik says that it should receive a key and that it should return the text to display for the key.
It doesn't specify that, when the key is not found, we should return the key.
All this to say that the problem is from the implementation of this particular resource key for the RadDateTime control.
Have a good day