On Wed, Mar 7, 2012 at 7:59 PM, Eduard Moraru <[email protected]> wrote: > Hi, > > I`m not entirely sure if this is relevant to the topic at hand or if a > similar solution already exists, but since this is the best place for it, > I`ll just say it here: > > Another cool option that Marius suggested, in an offline talk, would be to > be able to reference translation keys inside a translation's value. > > One usecase when this would be very handy is when you create a livetable > you have to specify your translation prefix for all the livetable, while > you still would have liked to reuse action translations for things like > "Delete", "Edit", etc. Instead of adding a new key in your translations > that has the value "Delete", you could just say > "@platform.index._actions.delete" and reuse an existing key. > > Back to the deprecation issue of renamed keys at hand, this would be useful > as well because you would no longer need to carry the old translation's > value and you could just do a: > > #@deprecated > [email protected] > > This would be very easy to detect in the $msg code and to do a get to the > referenced property instead. > > You could see this as an addition to what you have already > proposed/implemented, and not a replacement. I think that, for some > usecases, it will make the translations document smaller and less error > prone. >
> WDYT? +1 :) Thanks, Marius > > Thanks, > Eduard > > On Fri, Jan 20, 2012 at 6:34 PM, Paul Libbrecht <[email protected]> wrote: > >> This looks good to me, >> >> I would love to see the second proposal, maybe that'd be a GSOC project if >> done really completely (including all the workflows, role definition, >> disrupting/non-disrupting modes...). >> >> My +1. >> >> paul >> >> >> >> >> Le 20 janv. 2012 à 11:41, Thomas Mortagne a écrit : >> >> > On Fri, Jan 20, 2012 at 10:24 AM, Paul Libbrecht <[email protected]> >> wrote: >> >> >> >> Thomas, >> >> >> >> Le 19 janv. 2012 à 12:06, Thomas Mortagne a écrit : >> >>>> A deprecation mechanism should be able to support the developer into >> actualizing to the right keys, chosen from a finite set of suggestions (the >> new keys). >> >>> >> >>> Examples would be nice ;) >> >> >> >> Think of redoing a part of "my blabla profile" where "my contributions" >> are displayed so that it can speak to the third person when the user is not >> the same: you'd start with a copy of the profile velocity views (pages, vm >> files), then modify them progressively. >> >> >> >> The keys, maybe they were prefixed with "myblabla" would be refactored >> to be either with "ownblaba" and "othersblabla". >> >> Ideally, this should be done in one shot, so no real need of >> deprecation, but I do not think this can be ensured. >> >> >> >>> Do you mean that the old key is refactored in severals ? In this cases >> >>> as a key cannot contains a white space in Properties specs we could >> >>> have: >> >>> >> >>> #@deprecated new.key.subname1 new.key.subname2 >> >>> old.key.name=Default translation >> >> >> >> Fits me perfectly! >> >> >> >>>> The encoding is bound to the target usages and vice versa... >> >>> Not sure I understand what you mean. >> >> >> >> that's philosophical: I meant we need to envision the usages to make >> sure the knowledge representation is good engouh. >> >> >> >>>> The restricted view of a key-renaming appears to me as something that >> could be easily automated leading to an automatic refactoring of the >> sources. >> >>>> Other deprecation mechanisms cannot be so: the deprecation without >> replacement can only lead to a developer warning, the deprecation with >> multiple alternatives can only lead to a warning with suggestion... >> >>> >> >>> Sure it's hard to automate translation copy to the new key when there >> >>> is 0 or more that one new keys. Do you mean that we need a syntax >> >>> advanced enough to explain to the l10n wiki or any other tool how to >> >>> cut the key in peaces to put it in the right keys ? >> >> >> >> I did mean this indeed. >> >> >> >>>> I'm just trying to see the big picture of the future before settling >> on the knowledge representation... >> >>> >> >>> Sure, that's why this proposal is for: make sure we go in the right >> >>> direction. But does not mean we have to do everything at once, just >> >>> that we need to make sure we don't block the future ;) >> >> >> >> We're on the same wavelength. >> >> >> >> I think at this point, considering all the cases we've considered, I >> can say: >> >> >> >> +1. >> > >> > Ok thanks. >> > >> > I will go for >> > >> > #@deprecated new.key.subname1 new.key.subname2 >> > old.key.name=Default translation >> > >> > as first implementation. >> > >> > I will also make sure of the following: >> > * the type of syntax is indicated by a {syntaxid} at the beginning, >> > default being a list of new keys >> > * skip unknown syntax type without complaining. So it allows a large >> > choice of syntaxes to extend the current syntax without breaking >> > anything. >> > >> > For example: >> > >> > #@deprecated {regexp} match="(.*) and (.*)" new.key.subname1=1 >> > new.key.subname2=2 >> > old.key.name=Default translation >> > >> > WDYT ? >> > >> >> >> >> I would lover, however, to see what tools are used that use the >> deprecation. >> > >> > As I said the first one will be l10n wiki: the goal is to make sure we >> > don't loose translation assigned to the old key when renaming it. When >> > l10n import the default language and see a new deprecated key it's >> > going to copy the translations assigned t the old key on the new key >> > so that when you export again translation from l10n wiki all the >> > translations are now both on the old and new key. >> > >> > On XWiki itself we can imagine printing warning indicating which key >> > to use instead when some code try to get deprecated key translation >> > and even get the translation from the new key instead. >> > >> >> >> >> paul >> >> _______________________________________________ >> >> 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 >> >> _______________________________________________ >> devs mailing list >> [email protected] >> http://lists.xwiki.org/mailman/listinfo/devs >> > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

