Hi,
using services in directives is very simple, just inject them and
that's it. It seems your question evolves to: is it possible to
construct a template inside directive involving a service. I am not
sure I do understand, it seems you want to concatenate templates from
static and dynamic/runtime (provided by a service) fragments. Well,
that seems to be a challenging task, because templates are supposed to
be known during compile phase and waiting for $http to get
translations would require you to manually postpone compilation.
However: I am not sure if this is exactly what you were asking.
Can you provide an example?

By the way: generally I think it is not a good idea to implement
localization that way. If you could make all the messages not to leak
out of HTML templates, you could make your back-end to provide already
translated templates, so you would never have to deal with that in
your application. End to end testing should be easier as well...

I don't know how to make jsfiddle including an external resource but I try to explain.

If I change the "templateUrl" property in the directive to "template" I'm able to use my service with "{{translateMe('one')}} "

Maybe that's what you mentioned by saying 'just inject them' right?

Using a template within my controller scope works properly - as expected - but in my case the template is an external HTML fragment in a separate location/file. So I have to use 'templateUrl' in my directive.

This HTML contains parts that could be translated with my service, but I can't call the service from there. Assuming the HTML looks like

<div> {{ translateMe("one") }} </div> my service won't be called.

It is possible to bind some variables with the scope-property ("@", "=",...) in the directive so that the values are available in the templateUrl; is it possible to bind the service in a similar way?