From: "Marcus Crafter" <[EMAIL PROTECTED]> > Hi Konstantin!
Hi mate! Haven't read your for ages. ;) > > On Tue, Nov 12, 2002 at 06:46:08PM +0300, Konstantin Piroumian wrote: > > > > 1. New features - new namespace. > > > > The new implementation of i18n transformer has several very useful new > > features but also some backward incompatibilities, so I am going to change > > the namespace to use a new version number (2.1 instead of 2.0). > > Great stuff mate. What new features are available ? > Is this a complete rewrite ? or an adaption of the old one ? > What's not compatible with the older one ? Thanks to Matthieu Sozeau (mattam at netcourrier dot com) it is now possible: 1. To have markup in translations and parameters which is very useful for things like links, e.g.: <i18n:translate> <a href=http://www.any.com>{0}</a> <i18n:param><i18n:text>Any</i18n:text></i18n:param> </i18n:translate> This feature also allows to switch on the XPath translation keys (they are now hardcoded to '/catalogue/message[@key=$key]/text()'. It can be useful to select XML fragments to initialize selection lists etc. 2. 'inline translations': <i18n:if locale="ru">Only for Russian language, including ru_RU, ru_RU_KOI8r</i18n:if> and <i18n:choose> <i18n:when locale="de_AT">Only for Austria</i18n:when> <i18n:otherwise>For others</i18n:otherwise> </i18n:choose> 3. Also, now possible to have named parameters: <i18n:translate> {one}, {two} <i18n:param name="one"><i18n:text>one</i18n:text></i18n:param> <i18n:param name="two"><i18n:text>two</i18n:text></i18n:param> </i18n:translate> The implementation is adaption of the old one, but there are some other new things in the i18n package: Bundle and BundleFactory interfaces, and rewritten XMLResourceBundle implementation, etc. (It'd be fine if some avalonian could take a look at them and comment). Incompatibilities are not many, AFAIK, it is the <i18n:param> syntax: it became more verbose and you should now use: <i18n:param><i18n:date /></i18n:param> instead of <i18n:param type="date"/>. Another changed thing is the <i18n:text> inside of the <i18n:translate>: it is now required to use i18n:key attribute instead of the inline text. Though, I think that this one can be made less verbose by implementing this syntax: <i18n:translate key="text_with_params"> <i18n:param name="one"><i18n:text>one</i18n:text></i18n:param> <i18n:param name="two"><i18n:text>two</i18n:text></i18n:param> </i18n:translate> > > <snip/>.. > > > So, the second questions is: is it a good idea to use a configuration > > parameter to control the cachability of a component? Or there are better > > solutions from Avalon/Excalibur for such cases? > > Michael might have some ideas about how to do this with pipeline > hints ? hmm.. I'll ask him. Thanks. > > Looking forward to seeing what you've written Konstantin :) I didn't wrote much, again thanks to Matthieu, who did the most of the markup processing changes. Btw, now it'd be possible to implement your suggested <i18n:to-upper /> and <i18n:to-lower /> tags to be used in parameters to perform Upper/Lower case conversions. Regards, Konstantin P.S. The BASF IT developers suggested to rewrite the i18n transformer using their Tag (JSP-like) transformer and it seems to be a more flexible approach, but unfortunately, I didn't have time to spend on investigating it. I think that in their implementation it's much easier to add new tags. P.P.S. I have new translations for i18n samples in Japanese, Chinese and Korean!!! They look excelent! ;) > > Cheers, > > Marcus > > -- > ..... > ,,$$$$$$$$$, Marcus Crafter > ;$' '$$$$: Computer Systems Engineer > $: $$$$: ManageSoft GmbH > $ o_)$$$: 82-84 Mainzer Landstrasse > ;$, _/\ &&:' 60327 Frankfurt Germany > ' /( &&& > \_&&&&' > &&&&. > &&&&&&&: > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, email: [EMAIL PROTECTED] > > ------------------ Get free mailbox 20 Mb at http://www.hotbox.ru
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]