Usage of sprintf and placeholders with filters

{{ 'greeting' | i18n:{section:'about', placeholders:[ctrl.name]} }}

The translation string is 'Hello %s you are in the about section.'
'{{ ctrl.name }}' comes from the controller and is passed to the placeholders parameter of the i18n filter

Usage of sprintf and placeholders with directives

The translation string is 'Hello %s you are in the about section.'
'{{ ctrl.name }}' comes from the controller and is passed to the placeholders parameter of the i18n filter

Display of untranslated string with filters

Using ng-bind-html to have html ouput

Using angular expression directly
{{ 'untranslated.id.here' | i18n:{section:'about', placeholders:[ctrl.name]} }}

Display of untranslated string with directives