I've been thinking for a while now of creating a separate module for all i18n loggers and message bundles. There are a few advantages to this;
  1. To update translations you only need to build and deploy one module. This could possibly be used to limit the languages shipped too, e.g. a customer only wants English and Spanish no need to ship German, Chinese, Japanese and Brazilian Portuguese as well.
  2. Allow generic messages, e.g. "parameter_name is null", to be reused. I know support doesn't like the reuse, but it seems silly to have 50 different methods that all the same thing that translators have to translate 50 times.
  3. Help stop messages id conflicts. I am going to use a new annotation to help with this too.

The only real disadvantage I can think of is every module will have a dependency on it. Also we would have be to strict about not letting anything except loggers and message bundles be added to the module just because it's shared across all modules.

Just wanted to open it up for discussion in case there is something I'm missing before I open a JIRA for it.
-- 
James R. Perkins
JBoss by Red Hat