On Tue, Oct 23, 2012 at 3:31 PM, Marius Dumitru Florea <[email protected]> wrote: > On Tue, Oct 23, 2012 at 1:17 PM, Thomas Mortagne > <[email protected]> wrote: >> Hi devs, >> >> I started recently to refactor the localization module Sergiu had >> started. You can look at the current status in the branch >> https://github.com/xwiki/xwiki-platform/tree/feature-localization. >> >> Nothing is working yet but I wrote enough APIs to see a bit more clear >> on what I'm up to so here it is. >> >> This mail is mostly to discuss the general architecture. There will be >> other more detailed mails for voting class name and things like that. >> >> = Get a translation = >> > >> * here is the main client API: the client ask for a Translation object >> to LocalizationManager by indicating it's key (String) and locale >> (java.util.Locale). Then it calls Translation#render() with optional >> parameters to get a rendering Block as result. This Block is then >> inserted in the main XDOM using the translation macro or rendered as >> text by XWikiMessageTools#get() and other APIs like that if there is > > +1. I like the separation between getting the translation and > rendering it with parameters. > >> >> = Provide new translations = >> >> * support "injecting" new translations just by "marking" pages >> containing translation using an object to not have to list them in >> XWikiPreferences anymore. This is especially required for extensions. >> * the same way I think we should be able to provide translation in a >> jar extension >> * on idea introduce by Sergiu and that I agree with is the fact that >> like with ssx/jsx we need to be able to pull a specific translation >> explicitly without it to be automatically registered for the whole >> wiki or something like this >> * LocalizationManager (and more specifically BundleContext) find the >> right translations bundles to look at by lokuping all the >> org.xwiki.localization.Bundle components depending of the context >> (component can be registered for specific wikis/users). > > +1. For extensions (especially applications) its better to pull the > translation bundle rather than registering it for the entire wiki. > >> >> = Translation message syntaxes = >> >> * translation message syntax: the current syntax of our translations >> is a MessageTool based syntax depending on the fact that your have >> custom parameters or not. This syntax is not very good IMO (managing ' >> char is a mess) but good or not I think we need to have the >> possibility to introduce new features (like variables, light formating >> syntax, etc.) whenever we needs it without breaking anything and the >> way to do it is by having the possibility to have translation >> resources in different syntaxes and associated parsers. Note that >> TranslationMessage does not appear anywhere in the Translation API, >> any Bundle can implement Translation the way it want but we will have >> a lot of Bundle on our side using this concept of translation message >> syntax. The main target is wiki translations. > > +1, though I think this is less important.
Yes a lot less but it's the kind of thing that needs to be done from the start ;) > > Thanks, > Marius > >> >> Not all that is going to ends up in 4.3 but the goal is to have at >> least the new architecture support the "old" ApplicationResources >> resource and XWikiPreferences static translations pages and start >> introduce dynamically registered wiki translations. >> >> Shoot ! >> >> -- >> Thomas Mortagne >> _______________________________________________ >> devs mailing list >> [email protected] >> http://lists.xwiki.org/mailman/listinfo/devs > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs -- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

