Add i18n support.

@incuna/js please.
So im guessing that if you dont have i18n as a dependency, then this directive will just be ignored? Why are we putting it here? Surely this is a project specific requirement and can be added with extended templates?