On Mar 8, 2012, at 8:15 AM, Thomas Mortagne wrote:

> Thats planned for the new translation module since it's a long time
> voted need for rendering.

Yes it's a good idea that Thomas and I have discussed a few times already.

It was mentioned on:
http://xwiki.markmail.org/thread/v5sslam4fjmlpx73

Thanks
-Vincent

> 
> On Wed, Mar 7, 2012 at 6: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?
>> 
>> 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

Reply via email to