Oddly enough, yes it can – in a very specific scenario – of course, this can be avoided
with clear processes (or even better automation) with the right hotfix (TT88491: Translation Manager revert retrieved translation for target item in “Reserved state”) but it’s good to know as tracking this down was a real bugger!
- Tridion 2013 SP1 HR1
- Translation Manager 2.0
- Translation Manager specific Hotfix: TM_2013.1.1.200
Many use cases and tweaking later I can see the specific scenario that will reproduce this.
1. The component is based on a schema that has the flag
Any changes made to a Component based on this Schema require approval by a Bundle Workflow Process.
2. The component is not in an active workflow bundle
et voila – irrespective of whether the component intended for translation was localized **or** still shared it will be
- Localized for translation
- The content from the source will be compiled into the package
- Sent to World Server
- Retrieved by the Translation Manager
- And then, Translation Manager will undo the checkout and then unlocalize the item 😡
If the bundle (or just translation job) contains a mix of content that concur with this scenario then only the ones set as above will be unlocalized.
Oddly, there’s nothing shown in the logs by way of an error (or information pertaining to the reason for the unlocalization) as shown in the example below:
Example when unlocalized
(Tridion.TranslationManager.Service RetrieveFromTranslation) Exit CoreServiceProxy.GetAppData tcmUri=tcm:xxx-29751 key=tm:TranslationInfo Entry CoreServiceProxy.GetItem tcmUri=tcm:xxx-29751 Exit CoreServiceProxy.GetItem tcmUri=tcm:xxx-29751 Undoing checkout for item "component title here" (tcm:xxx-29751). Entry CoreServiceProxy.UndoCheckoutItem tcmUri=tcm:xxx-29751 Exit CoreServiceProxy.UndoCheckoutItem tcmUri=tcm:xxx-29751 Unlocalizing item "component title here" (tcm:xxx-29751) Entry CoreServiceProxy.UnLocalizeItem tcmUri=tcm:xxx-29751 Exit CoreServiceProxy.UnLocalizeItem tcmUri=tcm:xxx-29751
Example when successful
(Tridion.TranslationManager.Service RetrieveFromTranslation) Entry CoreServiceProxy.GetAppData tcmUri=tcm:xxx-29751 key=tm:TranslationInfo Exit CoreServiceProxy.GetAppData tcmUri=tcm:xxx-29751 key=tm:TranslationInfo Entry CoreServiceProxy.GetItem tcmUri=tcm:xxx-29751 Exit CoreServiceProxy.GetItem tcmUri=tcm:xxx-29751 Versioned item "it.accountActivity.transactions.amount" (tcm:xxx-29751) is no longer in translation - BluePrint state left unchanged as the item already contains changed content.