I'm working on redesigning a large consumer facing retail website. Think something like gap.com
The technology stack is Apache tiles, Apache velocity, Spring MVC.
Question: To implement I18N right, should I just create multiple velocity templates per locale or externalize strings into properties files? With the latter approach, there'll be much clutter in the velocity templates of the sort - resourcebundle.getMessage("website.title", "en_US") whereas in the earlier case, I'll probably have duplicated logic sitting in multiple templates.