Provide an adapter to the I18N infrastructure so that it can be used from inside templating systems, like Velocity.
Infact, using a separate I18N infrastructure for each language is a pain, from an integration POV.
At its best, this system should be able to catch all times Velocity (and in future other templating system) calls a getter to display its output (so, not within an if statement) and instead of returning the raw data, return a properly formatted output.
The first step is, however, to simply give a context object with simple method to format values. This simple bridge could anyway be used to internationalize strings, even when the more complete system is in place.