feat(directive): translate attributes using directive

translate directive can process attributes now. as per #568 
`unwatch` will be called the first time the function will be invoked, but it is within a loop with multiple invocations actually? That looks bad, I'd say.