On Thu, Dec 8, 2016 at 2:03 PM, Vincent Massol <[email protected]> wrote:
>
>> On 8 Dec 2016, at 14:01, Thomas Mortagne <[email protected]> wrote:
>>
>> On Thu, Dec 8, 2016 at 1:46 PM, Vincent Massol <[email protected]> wrote:
>>> Hi devs,
>>>
>>> The story
>>> ========
>>>
>>> 1) We introduced some new translations keys in 
>>> https://github.com/xwiki/xwiki-platform/commit/5c50e2e88bb7cf592c1ecedcf0f34781e1fbc81f#diff-fffbf37334c4d7a178b13f4ccc313f86R746
>>>
>>> That was done in XWIKI-12431 (Adapt the "rename" action for nested 
>>> documents), i.e. in 7.2M3
>>>
>>> 2) We modified the keys in 
>>> https://github.com/xwiki/xwiki-platform/commit/12ec17d1c486935162581d47bbf1077693c401e6
>>>
>>> That was done in XWIKI-13067 ("Rename: Change the label to make it clear 
>>> that both links and backlinks are updated or have 2 separate options”), 
>>> i.e. in XWiki 8.0-rc-1, 7.4.3
>>>
>>> 3) The consequence is that all translations got broken, resulting in 
>>> problems such as http://jira.xwiki.org/browse/XINFRA-219. However this 
>>> issue reports the issue only for French but it’s likely that it broke the 
>>> translations for other languages.
>>>
>>> The learnings
>>> ===========
>>>
>>> 1) We must never change the format of existing translation keys. This is 
>>> the equivalent of breaking an API. Instead we need to go through 
>>> deprecation of existing keys and introduction of new keys, even though it’s 
>>> a pain. 
>>> http://dev.xwiki.org/xwiki/bin/view/Community/DevelopmentPractices#HTranslationBestPractices
>>>  would probably benefit from additional explanations too.
>>
>> Well this is not really new and it's already our rule.
>
> That’s precisely my point! It’s our rule but it’s not documented.

It's possible it's documented only in ApplicationResource.properties
file yes. I guess we forgot to document it when
http://dev.xwiki.org/xwiki/bin/view/Community/DevelopmentPractices#HTranslationBestPractices
section was created.

>
> Thanks
> -Vincent
>
>>
>>>
>>> 2) We would need a tool in the quality profile of our build/CI that would 
>>> break the build if someone changes the format of a translation.Easiest 
>>> would be a tool that compares the English translations on master vs the 
>>> last released version and breaks if there’s a difference in parameter (i.e. 
>>> {N} syntax).
>>>
>>> 3) We need to decide if A) we keep the current change done in XWIKI-13067 
>>> or B) revert them and revert/adapt the changes already brought to some 
>>> translations keys (as it was done for FR). For this we need to evaluate the 
>>> extent of the damage.
>>>
>>> Any volunteer for 3)? :)
>>>
>>> Thanks
>>> -Vincent
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>> --
>> Thomas Mortagne
>



-- 
Thomas Mortagne

Reply via email to