* the locale of the processing, and the rest elements are used as format arguments
* @return the i18n message
*/
public static String i18n(ITemplate template, String key, Object... args) {
if (null != template) {
II18nMessageResolver resolver = template.__engine().conf().i18nMessageResolver();
if (null != resolver && II18nMessageResolver.DefaultImpl.INSTANCE != resolver) {
return resolver.getMessage(template, key, args);
}
}
boolean useFormat = args.length > 0;
Locale locale = null;
if (useFormat) {