I prefer an approach where what appears in the template is an identifier (e.g. your_new_username_is). This allows making minor changes to the English (or fixing typos) without losing all the translations, but does require that you have good test coverage to ensure all translations exist in at least English (or whatever your fallback language is).
--
A math joke: r = | |csc(θ)|+|sec(θ)| |-| |csc(θ)|-|sec(θ)| |