Import TMs to GroupShare 2017 CU10 via API fails

Hello,

we have problem to import a TMs to GroupShare 2017 CU10.

we had a working program with SDL Studio 2019 (SDLTradosStudio2019_CU1_36320) - this worked

but with SDLTradosStudio2019_SR2_15.2.5.2145 its NOT. Newtosoft problem exactly like this: 

https://community.sdl.com/developers-more/developers/language-developers/f/applications/26397/could-not-load-file-or-assembly-newtonsoft-json-version-9-0-0-0-culture-neutral-publickeytoken-30ad4fe6b2a6aeed-or-one-of-its-dependencies

any ideas if the .dlls as still not working? to me it seems that one (or more) .dll are not updated and therefor its not working.

Thanks for any HELP.

  • The Newtonsoft dlls were updated in Studio CU5 or 4... don't recall exactly.  You should either reference the ones that are in Studio (better approach) or include the updated dlls in your code.

    You can find some examples of this in the github pages (MT Enhanced, DeepL for example) as we have just had to do this for several plugins.

  • Please remove the NuGet reference, and reference the dll from following path:  

    $(ProgramFiles)\SDL\SDL Trados Studio\Studio15\Newtonsoft.Json.dll

  • I do have on more question. in some imports we get this:

    Thu, Dec. 19, 2019 12:02:11
    Thu, Dec. 19, 2019 12:03:47
    1 minute 35 seconds
    Error: System - Violation of PRIMARY KEY constraint 'PK__#A528509__29A52D0AF7D1EB6A'. Cannot insert duplicate key in object 'dbo.@tuContexts'. The duplicate key value is (1fd3be16-6d82-4787-b7ce-522fc2c007ef, 6470017178, 5017750481). The data for table-valued parameter "@tuContexts" doesn't conform to the table type of the parameter. SQL Server error is: 3602, state: 30 The statement has been terminated. (details: System.Data.SqlClient.SqlException (0x80131904): Violation of PRIMARY KEY constraint 'PK__#A528509__29A52D0AF7D1EB6A'. Cannot insert duplicate key in object 'dbo.@tuContexts'. The duplicate key value is (1fd3be16-6d82-4787-b7ce-522fc2c007ef, 6470017178, 5017750481). The data for table-valued parameter "@tuContexts" doesn't conform to the table type of the parameter. SQL Server error is: 3602, state: 30 The statement has been terminated. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader() at Sdl.LanguagePlatform.TranslationMemoryImpl.Storage.SqlStorage.AddTus(Tuple`2[] batchTUs, FuzzyIndexes indexes, Int64 tokenizationSignatureHash, Int32 tmid) at Sdl.LanguagePlatform.TranslationMemoryImpl.Importer.FlushBatchToDb(ImportSettings settings, ImportParameters importParameters) at Sdl.LanguagePlatform.TranslationMemoryImpl.Importer.ImportInner(IList`1 tus, IList`1 previousTranslationHashes, ImportSettings settings, IList`1 mask, Boolean isUpdate, IList`1 retainFgaInfoList) at Sdl.LanguagePlatform.TranslationMemoryImpl.Importer.Import(IList`1 tus, IList`1 previousTranslationHashes, ImportSettings settings, IList`1 mask, Boolean isUpdate, IList`1 retainFgaInfoList) at Sdl.LanguagePlatform.TranslationMemoryImpl.API.AddOrUpdateTranslationUnitsMasked(Container container, PersistentObjectToken tmId, TranslationUnit[] tus, Int32[] previousTranslationHashes, ImportSettings settings, Boolean[] mask) ClientConnectionId:300f0b68-5779-4e17-b006-211da6fb4e22 Error Number:2627,State:2,Class:14)

  • Hi Peter, 

    Recently I had the same problem at one of our customers.  I opened the support ticket

    "Importing TMX to server TM fails with Error: System - Violation of PRIMARY KEY constraint"

    and got the following answer: 

    "We are dealing with a defect that affects GroupShare 2017: CRQ-14950. The defect is already fixed in GroupShare 2020. "

    SDL Support also provided a workaround solution:

    As a workaround, I suggest you to perform the followings in the Web UI: create a Language Resource Template, a new Translation Memory , and import the .tmx file into the newly created TM.

    Here are the steps:

    1.Creating a Language Resource Template:
    - GroupShare Server->Resources->Language Resource Templates->New Language Resource Template
    - Add a suggestive name, choose a Location for it and in the Language Resources tab add the correct Source Language (German (Germany))
    - Finish button
    2.Creating a new TM on GroupShare server:
    - GroupShare Server->Resources->Translation Memories->New Translation Memory
    - General Settings->Choose a name, Location and Container
    - Language Pairs: choose the proper language pairs
    - Fields: No changes
    - Language Resources->Use Template->Link the previously created Language Resource Template
    - Advanced Settings and Summary: No changes
    - Finish button
    3. Select/Mark the newly created TM and choose the Import button

  • Just one important note to the above. 

    When we followed the above procedure we didn't set the "recognizer" in the language resource template. The consequence is that all newly imported TM's do not recognize dates, numbers, abbreviations, ... 

    Screenshot of Trados Studio Advanced Settings showing disabled options for Dates, Acronyms, Variables, and Measurements with a red circle highlighting the message 'You cannot change settings as they are populated from the linked Language Resource template.'

    And It doesn't let me change that now.

    See the topic from https://community.sdl.com/product-groups/translationproductivity/sdl-groupshare/f/groupshare-qa/21588/sdl-groupshare-cu09---recognizers-and-linked-language-resources/79398#79398



    Generated Image Alt-Text
    [edited by: Trados AI at 4:06 AM (GMT 0) on 5 Mar 2024]