the combination of class, key, locale, style must be unique, so if I have the same keys ( while locale and style is not changing ) - the classname must be unique. So I cannot use this in anonymous classes, as it does not resolve, e.g. page class name
Žilvinas Vilutis Mobile: (+370) 652 38353 E-mail: cika...@gmail.com On Wed, Apr 21, 2010 at 1:46 PM, Josh Glassman <josh...@gmail.com> wrote: > Not sure what you mean about implementing a unique class... any class which > inherits from Component can call getString(String key), which will call your > custom IStringResourceLoader. Additionally, you can set the locale on any > MarkupContainer or the Session, and Components will use their parent's > locale falling back to the Session's. > > You can also use the wicket:message tag directly in your markup, which uses > whatever locale it's associated class uses. > > What we do is set the locale on the Session, and use that and a resource key > to pull the string from the database. We use DB caching, and turn off the > built-in resource string caching that wicket does (see below, goes in > WebApplication.init()). > > getResourceSettings().setLocalizer(new Localizer() { > @Override > protected void putIntoCache(String cacheKey, String string) { > // Do nothing... no caching desired, since our DB layer caches > } > }); > > > > On Tue, Apr 20, 2010 at 1:53 PM, Zilvinas Vilutis <cika...@gmail.com> wrote: > >> Yes, >> >> That seems to work. Although each component which needs to be >> localized needs to implement a unique class, 'cause in many cases the >> Component class is "WebMarkupContainer" ( if we use components in list >> & etc ). >> >> Does anyone have practice on using any performance experience on that? >> >> Do you use DB caching or method caching? >> >> >> Žilvinas Vilutis >> >> Mobile: (+370) 652 38353 >> E-mail: cika...@gmail.com >> >> >> >> On Tue, Apr 20, 2010 at 7:40 AM, Josh Glassman <josh...@gmail.com> wrote: >> > Yup, you have the right idea. >> > >> > Something like... >> > public class DatabaseStringResourceLoader implements >> > IStringResourceLoader {...} >> > >> > And then in your WebApplication.init()... >> > getResourceSettings().addStringResourceLoader(new >> > DatabaseStringResourceLoader()); >> > >> > Cheers, >> > Josh >> > >> > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org