> I also contributed the RequestFilter in different phases ("before:*", "before:SetupRender", "before:BeginRender") because, to me, this should set the locale before any template is rendered. I've never heard of filters named "SetupRender" or "BeginRender" so I'm pretty sure "before:SetupRender" has no effect.
> I removed the unnecesary interfaces and cleaned up Interfaces are very necessary!!!. They are crucial to tapestry to support lazy loading etc. You should NEVER refer to your services by their concrete type. eg: binder.bind(TimingFilter.class).withSimpleId(); Should be: binder.bind(RequestFilter.class, TimingFilter.class).withSimpleId(); eg: public static void contributeRequestHandler(OrderedConfiguration<RequestFilter> configuration, @InjectService("TimingFilter") TimingFilter timingFilter) { should be: public static void contributeRequestHandler(OrderedConfiguration<RequestFilter> configuration, @InjectService("TimingFilter") RequestFilter timingFilter) { I'm still not sure why your filter doesn't work when contributed "before:*". Have you tried some logging / breakpoints? Are you sure that ThreadLocale.setLocale() is being called? -- View this message in context: http://tapestry.1045711.n5.nabble.com/How-to-call-locale-properties-file-based-on-urls-tp5719862p5719873.html Sent from the Tapestry - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org