code: public static String message(String key, Locale locale, Object... params) {
          String pattern;
          try {
              pattern = ResourceBundle.getBundle(BUNDLE, locale == null ? Locale.getDefault() : locale).getString(key);
          } catch (MissingResourceException e) {
              pattern = key;
          }
          return empty(params) ? pattern : new MessageFormat(pattern).format(params);
      }
docs: Looks for a localized property/message in <code>activejdbc_messages</code> bundle.
  
  @param key key of the property.
  @param locale locale of a bundle, or null for default locale
  @param params list of parameters for a message. The order of parameters in this list will correspond to the
  numeric order in the parameters listed in the message and has nothing to do with a physical order. This means
  that the first parameter in the list will correspond to <code>{0}</code>, second to <code>{1}</code> and so on.
  @return localized  message merged with parameters (if provided), or key if message not found.