This is looking great. A few questions: 1. Do you have a test for this? 2. What happens when an invalid/unmatched locale is passed? 3. Please add a simple cache (Map<Locale, String> will do) for the retrieved data so you don't need to reload the data from JARs all the time.
Thanks! John http://codereview.appspot.com/109114

