Lift (Scala's web framework) has one quite cool internationalization feature, and I'm not sure if it has a parallel in the Seam/JSF land.
Sometimes a whole page must be localized, with a lot of text. Using the message bundles is then unpractical. Or different locales require different page layouts. Then, it is useful to localize a whole template.
The way Lift solves this, is by dynamically choosing a template basing on the locale. So you could have: template.xhtml templatepl.xhtml templatede.xhtml and so on.
I think this could be implemented with a view resolver. What do you think?