We are gradually having more and more things in the server that are translated. Each of these need to set up gettext properly to get access to the translations. Unfortunately, we've just been copying the setup code in to each new place. For long term viability, we should coordinate this, so everything works the same way.
One thing to consider is the modularity of the translations. Right now, everything is centralised in a "tl-misc" catalogue. That is a bit inflexible, though, so it would be preferable if the common setup can still handle on catalogue per module.