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.

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

Reply via email to