Error message "An item with the same key has already been added" (in Trados 2017)

Hello!

I have started getting the error message "An item with the same key has already been added" (in Trados 2017) when I try to confirm a segment in the translation phase. This happens often but not in every segment in project packages from especially one client. If I open the package in Trados 2015, the problem doesn't occur. Does anyone know what could be wrong and what I can do about it? Could it be something to do with the Term base?

 

Here are the error details:

<?xml version="1.0"?>

<SDLErrorDetails time="7/10/2017 9:36:25 AM"><ErrorMessage>An item with the same key has already been added.</ErrorMessage><Exception><Type>System.ArgumentException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</Type><ParamName/><HelpLink/><Source>mscorlib</Source><HResult>-2147024809</HResult><StackTrace><![CDATA[

at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value) at Sdl.MultiTerm.Core.XmlProcessor.EntryXmlProcessor.Transform(String inputXml) at Sdl.MultiTerm.Client.TerminologyProvider.TerminologyPrioviders.AbstractMultiTermTerminologyProvider.GetEntry(MultiTermTermbase termbase, Int32 id) at Sdl.MultiTerm.Client.TerminologyProvider.MultiTermTermbase.GetEntry(Int32 id) at Sdl.MultiTerm.Client.TerminologyProvider.TerminologyPrioviders.AbstractMultiTermTerminologyProvider.GetEntry(Int32 id) at Sdl.MultiTerm.Client.TerminologySearch.TermRecognitionHit.get_Entry() at Sdl.Verification.TermVerifier.TermVerifierProcessing.CheckTermsWithoutTarget(ISegment source, String sourceText) at Sdl.Verification.TermVerifier.TermVerifierProcessing.Verify(ISegment Source, ISegment Target, Boolean sourceHasRevisions, Boolean targetHasRevisions) at Sdl.Verification.TermVerifier.TermVerifierMain.ProcessParagraphUnit(IParagraphUnit paragraphUnit) at Sdl.FileTypeSupport.Framework.Core.Utilities.BilingualApi.BilingualContentHandlerAdapter.ProcessParagraphUnit(IParagraphUnit paragraphUnit) at Sdl.FileTypeSupport.Framework.Core.Utilities.BilingualApi.BilingualContentHandlerAdapter.ProcessParagraphUnit(IParagraphUnit paragraphUnit) at Sdl.FileTypeSupport.Framework.Core.Utilities.BilingualApi.BilingualContentHandlerAdapter.ProcessParagraphUnit(IParagraphUnit paragraphUnit) at Sdl.FileTypeSupport.Framework.Integration.AbstractBilingualProcessorContainer.ProcessParagraphUnit(IParagraphUnit paragraphUnit) at Sdl.FileTypeSupport.Framework.BilingualApi.AbstractBilingualContentProcessor.ProcessParagraphUnit(IParagraphUnit paragraphUnit) at Sdl.FileTypeSupport.Framework.Integration.LocationMarkerLocator.ProcessParagraphUnit(IParagraphUnit paragraphUnit) at Sdl.FileTypeSupport.Framework.Integration.AbstractBilingualProcessorContainer.ProcessParagraphUnit(IParagraphUnit paragraphUnit) at Sdl.FileTypeSupport.Framework.Integration.FileExtractor.ProcessParagraphUnit(IParagraphUnit paragraphUnit) at Sdl.TranslationStudio.Editor.TranslationEditor.TranslatableDocument.SingleParagraphUnitBilingualParser.ParseNext() at Sdl.FileTypeSupport.Framework.Integration.FileExtractor.ParseNext() at Sdl.FileTypeSupport.Framework.Integration.MultiFileConverter.ParseNext() at Sdl.FileTypeSupport.Framework.Integration.MultiFileConverter.Parse() at Sdl.TranslationStudio.Editor.TranslationEditor.TranslatableDocument.VerifySegment(ISegmentContainerNode segmentContainerNode, IParagraphUnitContainerNode paragraphContainerNode, IFileContainerNode fileContainerNode) at Sdl.TranslationStudio.Editor.TranslationEditor.SideBySideDocumentEditingView.VerifySegment() at Sdl.TranslationStudio.Editor.TranslationEditor.Actions.AbstractConfirmSegmentAction.ExecuteActiveSegment() at Sdl.TranslationStudio.Editor.TranslationEditor.Actions.AbstractConfirmSegmentAction.Execute() at Sdl.Desktop.Platform.Implementation.CommandBars.ActionService.<>c__DisplayClass3.<ExecuteAction>b__2() at Sdl.Desktop.Platform.Implementation.Services.Log.Resources(Object message, Action action) at Sdl.Desktop.Platform.Implementation.CommandBars.ActionService.ExecuteAction(IAction action, ActionOrigin origin, Boolean allowToggle) at Sdl.Desktop.Platform.Implementation.CommandBars.ActionService.ExecuteActionForShortcut(Keys shortcut) at Sdl.Desktop.Platform.WinForms.StudioWindowForm.OnKeyDown(KeyEventArgs e) at System.Windows.Forms.Control.ProcessKeyEventArgs(Message& m) at System.Windows.Forms.Form.ProcessKeyPreview(Message& m) at System.Windows.Forms.Control.ProcessKeyPreview(Message& m) at System.Windows.Forms.Control.ProcessKeyPreview(Message& m) at System.Windows.Forms.Control.ProcessKeyPreview(Message& m) at System.Windows.Forms.Control.ProcessKeyPreview(Message& m) at System.Windows.Forms.Control.ProcessKeyPreview(Message& m) at System.Windows.Forms.Control.ProcessKeyPreview(Message& m) at System.Windows.Forms.Control.ProcessKeyPreview(Message& m) at System.Windows.Forms.Control.ProcessKeyPreview(Message& m) at System.Windows.Forms.Control.ProcessKeyPreview(Message& m) at System.Windows.Forms.Control.ProcessKeyPreview(Message& m) at System.Windows.Forms.Control.ProcessKeyPreview(Message& m) at System.Windows.Forms.Control.ProcessKeyPreview(Message& m) at System.Windows.Forms.Control.ProcessKeyPreview(Message& m) at System.Windows.Forms.Control.ProcessKeyPreview(Message& m) at System.Windows.Forms.Control.ProcessKeyPreview(Message& m) at System.Windows.Forms.Control.ProcessKeyPreview(Message& m) at System.Windows.Forms.Control.ProcessKeyMessage(Message& m) at System.Windows.Forms.Control.WmKeyChar(Message& m) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

]]></StackTrace></Exception><Environment><ProductName>SDL Trados Studio</ProductName><ProductVersion>14.0.0.0</ProductVersion><EntryAssemblyFileVersion>14.0.5889.5</EntryAssemblyFileVersion><OperatingSystem>Microsoft Windows 10 Home</OperatingSystem><ServicePack>NULL</ServicePack><OperatingSystemLanguage>1031</OperatingSystemLanguage><CodePage>1252</CodePage><LoggedOnUser>LAPTOP-EC1O6MVN\MissHelene</LoggedOnUser><DotNetFrameWork>4.0.30319.42000</DotNetFrameWork><ComputerName>LAPTOP-EC1O6MVN</ComputerName><ConnectedToNetwork>True</ConnectedToNetwork><PhysicalMemory>8286340 MB</PhysicalMemory></Environment></SDLErrorDetails>

 

Thank you for your help!

  • Dear Helene,

    You have added this question to the incorrect community location. The SDL Knowledge Center location is focused on the SDL Knowledge Center product suite (Content Manager, Content Editor, Content Delivery products).

    I'll ask an administrator to reroute your question towards the correct location on the community for Trados related questions.

    Kind Regards,

    Raf
  • Hi  

    Have you tried removing the termbase to see if it makes a difference?

    It's also good to simply attach the stack trace and then we can read it properly:

    Regards

    Paul

    Paul Filkin | RWS Group

    ________________________
    Design your own training!

    You've done the courses and still need to go a little further, or still not clear? 
    Tell us what you need in our Community Solutions Hub

  • Hello Paul,

    Thank you for the tips!

    It does make a difference when I remove the TB but I would like to use that TB in my work ... I attach the error report - I hope you can see it below:

     

    <SDLErrorDetails time="08-09-2017 12:57:42">
      <ErrorMessage>An item with the same key has already been added.</ErrorMessage>
      <Exception>
        <Type>System.ArgumentException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</Type>
        <ParamName />
        <HelpLink />
        <Source>mscorlib</Source>
        <HResult>-2147024809</HResult>
        <StackTrace><![CDATA[   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
       at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
       at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
       at Sdl.MultiTerm.Core.XmlProcessor.EntryXmlProcessor.Transform(String inputXml)
       at Sdl.MultiTerm.Client.TerminologyProvider.TerminologyPrioviders.AbstractMultiTermTerminologyProvider.GetEntry(MultiTermTermbase termbase, Int32 id)
       at Sdl.MultiTerm.Client.TerminologyProvider.MultiTermTermbase.GetEntry(Int32 id)
       at Sdl.MultiTerm.Client.TerminologyProvider.TerminologyPrioviders.AbstractMultiTermTerminologyProvider.GetEntry(Int32 id)
       at Sdl.MultiTerm.Client.TerminologySearch.TermRecognitionHit.get_Entry()
       at Sdl.Verification.TermVerifier.TermVerifierProcessing.CheckTermsWithoutTarget(ISegment source, String sourceText)
       at Sdl.Verification.TermVerifier.TermVerifierProcessing.Verify(ISegment Source, ISegment Target, Boolean sourceHasRevisions, Boolean targetHasRevisions)
       at Sdl.Verification.TermVerifier.TermVerifierMain.ProcessParagraphUnit(IParagraphUnit paragraphUnit)
       at Sdl.FileTypeSupport.Framework.Core.Utilities.BilingualApi.BilingualContentHandlerAdapter.ProcessParagraphUnit(IParagraphUnit paragraphUnit)
       at Sdl.FileTypeSupport.Framework.Core.Utilities.BilingualApi.BilingualContentHandlerAdapter.ProcessParagraphUnit(IParagraphUnit paragraphUnit)
       at Sdl.FileTypeSupport.Framework.Core.Utilities.BilingualApi.BilingualContentHandlerAdapter.ProcessParagraphUnit(IParagraphUnit paragraphUnit)
       at Sdl.FileTypeSupport.Framework.Integration.AbstractBilingualProcessorContainer.ProcessParagraphUnit(IParagraphUnit paragraphUnit)
       at Sdl.FileTypeSupport.Framework.BilingualApi.AbstractBilingualContentProcessor.ProcessParagraphUnit(IParagraphUnit paragraphUnit)
       at Sdl.FileTypeSupport.Framework.Integration.LocationMarkerLocator.ProcessParagraphUnit(IParagraphUnit paragraphUnit)
       at Sdl.FileTypeSupport.Framework.Integration.AbstractBilingualProcessorContainer.ProcessParagraphUnit(IParagraphUnit paragraphUnit)
       at Sdl.FileTypeSupport.Framework.Integration.FileExtractor.ProcessParagraphUnit(IParagraphUnit paragraphUnit)
       at Sdl.TranslationStudio.Editor.TranslationEditor.TranslatableDocument.SingleParagraphUnitBilingualParser.ParseNext()
       at Sdl.FileTypeSupport.Framework.Integration.FileExtractor.ParseNext()
       at Sdl.FileTypeSupport.Framework.Integration.MultiFileConverter.ParseNext()
       at Sdl.FileTypeSupport.Framework.Integration.MultiFileConverter.Parse()
       at Sdl.TranslationStudio.Editor.TranslationEditor.TranslatableDocument.VerifySegment(ISegmentContainerNode segmentContainerNode, IParagraphUnitContainerNode paragraphContainerNode, IFileContainerNode fileContainerNode)
       at Sdl.TranslationStudio.Editor.TranslationEditor.SideBySideDocumentEditingView.VerifySegment()
       at Sdl.TranslationStudio.Editor.TranslationEditor.Actions.AbstractConfirmSegmentAction.ExecuteActiveSegment()
       at Sdl.TranslationStudio.Editor.TranslationEditor.Actions.AbstractConfirmSegmentAction.Execute()
       at Sdl.Desktop.Platform.Implementation.CommandBars.ActionService.<>c__DisplayClass3.<ExecuteAction>b__2()
       at Sdl.Desktop.Platform.Implementation.Services.Log.Resources(Object message, Action action)
       at Sdl.Desktop.Platform.Implementation.CommandBars.ActionService.ExecuteAction(IAction action, ActionOrigin origin, Boolean allowToggle)
       at Sdl.Desktop.Platform.Implementation.CommandBars.ActionService.ExecuteActionForShortcut(Keys shortcut)
       at Sdl.Desktop.Platform.WinForms.StudioWindowForm.OnKeyDown(KeyEventArgs e)
       at System.Windows.Forms.Control.ProcessKeyEventArgs(Message& m)
       at System.Windows.Forms.Form.ProcessKeyPreview(Message& m)
       at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
       at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
       at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
       at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
       at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
       at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
       at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
       at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
       at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
       at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
       at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
       at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
       at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
       at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
       at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
       at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
       at System.Windows.Forms.Control.ProcessKeyMessage(Message& m)
       at System.Windows.Forms.Control.WmKeyChar(Message& m)
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)]]></StackTrace>
      </Exception>
      <Environment>
        <ProductName>SDL Trados Studio</ProductName>
        <ProductVersion>14.0.0.0</ProductVersion>
        <EntryAssemblyFileVersion>14.1.6284.6</EntryAssemblyFileVersion>
        <OperatingSystem>Microsoft Windows 10 Home</OperatingSystem>
        <ServicePack>NULL</ServicePack>
        <OperatingSystemLanguage>1031</OperatingSystemLanguage>
        <CodePage>1252</CodePage>
        <LoggedOnUser>LAPTOP-EC1O6MVN\MissHelene</LoggedOnUser>
        <DotNetFrameWork>4.0.30319.42000</DotNetFrameWork>
        <ComputerName>LAPTOP-EC1O6MVN</ComputerName>
        <ConnectedToNetwork>True</ConnectedToNetwork>
        <PhysicalMemory>8286340 MB</PhysicalMemory>
      </Environment>
    </SDLErrorDetails>

     

    Coincidentally (?), the same TB can't be converted into an Excel TB using the Glossary Converter so I don't really know what to do.

     

    Thank you for your help!

     

    Helene

  • Hi ,

    It sounds as though there may be a problem with your termbase. Can you share it? If you can please send it to pfilkin@sdl.com

    Regards

    Paul

    Paul Filkin | RWS Group

    ________________________
    Design your own training!

    You've done the courses and still need to go a little further, or still not clear? 
    Tell us what you need in our Community Solutions Hub

  • Dear Helene

    Could it be that you have in your termbase entries that were merged during the creation of an entry, while the termbase layout was not set to "Default layout"?
    If yes this might be related to the issue described here: gateway.sdl.com/.../communityknowledge

    Even though the article is focusing here on MultiTerm, the same can happen in Studio because when getting into a segment and/or after confirming a segment and the terminology verifier is trying to check for terms the error described is returned.

    This is a known issue that was forwarded to our Development Team and is planned to be fixed with a Cumulative Update in near future.

    Kind regards
    Richard Puschmann | Senior Support Engineer | SDL | LinkedIn ( http://linkd.in/1HzhUQ4 ) | Twitter: @Richard___P