messageSource.setDefaultEncoding(defaultEncoding);
messageSource.setFallbackToSystemLocale(fallbackToSystemLocale);
messageSource.setCacheSeconds(resourceCacheRefreshInterval);
messageSource.setBasenames(resourceBasePaths);
Filter i18N = new I18NFilter(this);
final FilterManager filterManager = site.getFilterManager();
filterManager.addFilter(i18N);
// now make sure the i18N filter is always first (if present)
Collections.swap(filterManager.getBeforeFilters(), 0, filterManager.getBeforeFilters().size() - 1);