Good stuff, let us know if you get stuck. Cheers
Dan On 9 October 2014 15:21, Cuneyt Ozen <[email protected]> wrote: > Hi Dan, > > Thanks a lot for your reply and pointed me to right direction. > > I've read contributor's documentation. > And I've forked and built ISIS locally. > > Will let you know how it goes from there. > > Cuneyt > > On Tue, Sep 30, 2014 at 9:02 AM, Dan Haywood <[email protected] > > > wrote: > > > forgot the refs: > > > > [1] https://github.com/apache/isis > > [2] http://isis.apache.org/contributors/building-isis.html > > > > > > On 30 September 2014 07:01, Dan Haywood <[email protected]> > > wrote: > > > > > Hi Cuneyt, > > > > > > the first thing to do is to create a fork of our github repo [1], and > > then > > > make sure you can build Isis locally from this [2]. > > > > > > Then, set up the todo app (in examples/application/todoapp) to run from > > > your IDE... it's a useful playground. > > > > > > In the todoapp's WEB-INF/isis.properties you should see that there is > the > > > line: > > > > > > > > > > > > isis.reflector.facet-decorators=org.apache.isis.core.metamodel.facetdecorator.i18n.resourcebundle.I18nDecoratorUsingResourceBundleInstaller > > > > > > Set a breakpoint in I18nDecoratorUsingResourceBundleInstaller and then > > > watch what it does: basically it's a factory that returns a NamedFacet > > (or > > > DescribedAsFacet or HelpFacet) that decorates/wraps the original facet. > > > Facets are the bits of metadata that we associate with the classes and > > > class members. > > > > > > What you then could do is to copy > > > I18nDecoratorUsingResourceBundleInstaller and related classes (eg > > > NamedFacetWrapI18n), and then configure your copy in isis.properties. > > > > > > The main bit of the puzzle is to get hold of the locale. This will > need > > > to be in your (copy of) NamedFacetWrapI18n, so that it gets hold of the > > > locale of the current user (eg > > > using AuthenticatedWebSessionForIsis.get().getLocale() or similar) and > > uses > > > that to lookup the correct resource bundle. > > > > > > Let me know if you need more guidance, > > > > > > Cheers > > > Dan > > > > > > > > > > > > > > > > > > > > > On 25 September 2014 21:48, Cuneyt Ozen <[email protected]> wrote: > > > > > >> Hi Dan, > > >> > > >> I'd like to give it a shot If you can provide me some guidance. > > >> > > >> Cuneyt > > >> > > >> On Thu, Sep 25, 2014 at 4:02 PM, Dan Haywood < > > >> [email protected]> > > >> wrote: > > >> > > >> > I've raised a ticket ISIS-903 for this [1] > > >> > > > >> > > > >> > [1] https://issues.apache.org/jira/browse/ISIS-903 > > >> > > > >> > On 20 September 2014 18:20, Dan Haywood < > [email protected] > > > > > >> > wrote: > > >> > > > >> > > Hi Cuneyt, > > >> > > > > >> > > ok, here's the scoop. > > >> > > > > >> > > It *is* possible to add i18n for Isis apps, but the implementation > > we > > >> > have > > >> > > reflects the locale of the server, rather than the client. This > may > > or > > >> > may > > >> > > not be what you want. If it isn't (that is, if you want i18n for > > the > > >> > > calling client), then some custom coding will be required... > nothing > > >> too > > >> > > difficult, though it's probably that the core framework should > > >> probably > > >> > > support out-of-the-bx. > > >> > > > > >> > > But, if server-side i18n is what you need, then we have the > > >> > > I18nFacetDecoratorInstaller which is enabled by default in > > >> > isis.properties > > >> > > [1]. Then create a resource bundle in the root package, for > > >> > > i18n_en.properties. This can hold the "name" (=@Named) and > > >> "description" > > >> > > (=@DescribedAs) facets; see for example this commit [2]. > > >> > > > > >> > > If client-side i18n is what you require then it ought to be > possible > > >> to > > >> > > implement a different implementation of > I18nFacetDecoratorInstaller. > > >> You > > >> > > can get hold of the user's locale using: > > >> > > > > >> > > AuthenticatedWebSessionForIsis.get().getLocale() > > >> > > > > >> > > HTH > > >> > > Dan > > >> > > > > >> > > > > >> > > [1] > > >> > > > > >> > > > >> > > > https://github.com/danhaywood/isis-i18napp/blob/56eaa9c940e00090a227a37863ca31d797bc3398/webapp/src/main/webapp/WEB-INF/isis.properties#L140 > > >> > > [2] > > >> > > > > >> > > > >> > > > https://github.com/danhaywood/isis-i18napp/commit/ce1421376b461d436c3e9d7c9ffc9d9b32e836ae > > >> > > > > >> > > > > >> > > > > >> > > On 20 September 2014 16:52, Cuneyt Ozen <[email protected]> > wrote: > > >> > > > > >> > >> I am all eyes and ears Dan :) > > >> > >> > > >> > >> On Sat, Sep 20, 2014 at 10:34 AM, Dan Haywood < > > >> > >> [email protected]> > > >> > >> wrote: > > >> > >> > > >> > >> > Hi Cuneyt, > > >> > >> > welcome to the mailing list > > >> > >> > > > >> > >> > I'm just working on an example, will upload it to github > shortly. > > >> > >> > > > >> > >> > Watch this space... > > >> > >> > > > >> > >> > Cheers > > >> > >> > Dan > > >> > >> > > > >> > >> > > > >> > >> > On 18 September 2014 22:30, Cuneyt Ozen <[email protected]> > > wrote: > > >> > >> > > > >> > >> > > Hi All, > > >> > >> > > > > >> > >> > > I have seen the following note below on documentation titled > > >> "*How > > >> > to > > >> > >> > > specify a name and/or description for an object*". > > >> > >> > > So what is the seperate mechanism for deailing with > > >> > >> internationalisation? > > >> > >> > > > > >> > >> > > *"Note* > > >> > >> > > > > >> > >> > > There is an entirely separate mechanism for dealing with > > >> > >> > > Internationalisation (to document... ask on mailing list...)" > > >> > >> > > > > >> > >> > > > >> > >> > > >> > > > > >> > > > > >> > > > >> > > > > > > > > >
