Hello everybody :-)
I've found a problem on lines 83-85:
if (!newObject[key]) {
delete oldObject[key];
}
This code removes all the properties of oldObject that does not exist in newObject, which removes properties assigned by other decorators of $locale service. Is this desired behavior?