Custom languages freeze the term search in Terminology Provider

Hi,

I am implementing a Terminology Provider plugin for Trados Studio 2021, 2022 SR2 and 2024.

I need to keep all three versions properly updated.

My problem is that when I am using custom languages (regional), I notice two problems:

#1. in Studio 2022 SR2 (only in this version) I get a constant 'Searching for terms..' and no results appear, even though I do search and return with results (an exception appears in the logs)

#2. in Studio 2022 SR2 and Studio 2024 the system does not ask for the descriptive fields and so it does not fill in the Hitlist fields.

-------------------------

PROBLEM #1: STEPS TO REPRODUCE

1. Use a custom terminology provider plugin

2. Create a project that translates from ENG-US to GER-DE

3. You need to map the ENG-US to a custom language, e.g. ENG-GB

Screenshot of Trados Studio Project Settings showing TermBases tab with a TermWeb Studio plug-in set as default and language mappings for English (United States) to English (UK), French (France) to French (FR), and German (Germany) to German (DE).

4. Open the project and try to search for terms using the custom terminology provider. You will see that the 'Searching for terms..' message stays forever

Screenshot of Trados Studio with a document open for translation showing a persistent 'Searching for terms...' message in the Term Recognition pane, indicating a problem with term search functionality.

At the same moment you get the following error in the logs:

ERROR [2024-07-11 19:17:58,201] Sdl.TranslationStudio.Editor.Terminology.SegmentTermRecognizer - Object reference not set to an instance of an object.
System.NullReferenceException: Object reference not set to an instance of an object.
at Sdl.MultiTerm.Client.TerminologyProvider.Search.TermbaseRecognitionEngine.CreateScoringObject()
at Sdl.MultiTerm.Client.TerminologyProvider.Search.TermbaseRecognitionEngine.FindTerms(String text, Int16 termbaseMaxHits, Boolean includeHomonyms, Boolean allowOverlappingTerms)
at Sdl.TranslationStudio.Editor.Terminology.SegmentTermRecognizer.RecogniseTerms(IList`1 termbaseContexts, IProjectTermbaseRecognitionOptions recognitionOptions, TermRecognitionSettings termRecognitionSettingsBundle, ITermbaseRecognitionEngine recognitionEngine, PlainTextMapper sourceTextMapper)
ERROR [2024-07-11 19:17:58,383] Sdl.TranslationStudio.Editor.Terminology.SegmentTermRecognizer - Object reference not set to an instance of an object.
System.NullReferenceException: Object reference not set to an instance of an object.
at Sdl.MultiTerm.Client.TerminologyProvider.Search.TermbaseRecognitionEngine.CreateScoringObject()
at Sdl.MultiTerm.Client.TerminologyProvider.Search.TermbaseRecognitionEngine.FindTerms(String text, Int16 termbaseMaxHits, Boolean includeHomonyms, Boolean allowOverlappingTerms)
at Sdl.TranslationStudio.Editor.Terminology.SegmentTermRecognizer.RecogniseTerms(IList`1 termbaseContexts, IProjectTermbaseRecognitionOptions recognitionOptions, TermRecognitionSettings termRecognitionSettingsBundle, ITermbaseRecognitionEngine recognitionEngine, PlainTextMapper sourceTextMapper)

I am attaching the full log

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
ERROR [2024-07-11 19:09:29,289] Sdl.Common.Licensing.Provider.SafeNetRMS.ProductLicense - Error at License CheckOut
Sdl.Common.Licensing.Provider.SafeNetRMS.SentinelProviderException: Failed to check out license feature ProfessionalEdition.
Error ID: 210037 ---> com.sntl.licensing.LicensingException: <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<sentinelInfo>
<status>
<statusCode>210037</statusCode>
<statusMessage>Duration of Trial License of ProfessionalEdition ver 2022 is exhausted.</statusMessage>
</status>
</sentinelInfo>
at com.sntl.licensing.LoginSession.login(ApplicationContext appCtx, String featureName, Attribute attribute)
at Sdl.Common.Licensing.Provider.SafeNetRMS.UnifiedAPIProvider.CheckOutFeature(LicenseFeature feature)
--- End of inner exception stack trace ---
at Sdl.Common.Licensing.Provider.SafeNetRMS.UnifiedAPIProvider.CheckOutFeature(LicenseFeature feature)
at Sdl.Common.Licensing.Provider.SafeNetRMS.ProductLicense.CheckOut()
ERROR [2024-07-11 19:09:29,308] Sdl.Desktop.Platform.Perpetual.PerpetualLicense - Error initializing perpetual license
Sdl.Common.Licensing.Provider.SafeNetRMS.SentinelProviderException: Failed to check out license feature ProfessionalEdition.
Error ID: 210037 ---> com.sntl.licensing.LicensingException: <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<sentinelInfo>
<status>
<statusCode>210037</statusCode>
<statusMessage>Duration of Trial License of ProfessionalEdition ver 2022 is exhausted.</statusMessage>
</status>
</sentinelInfo>
at com.sntl.licensing.LoginSession.login(ApplicationContext appCtx, String featureName, Attribute attribute)
at Sdl.Common.Licensing.Provider.SafeNetRMS.UnifiedAPIProvider.CheckOutFeature(LicenseFeature feature)
--- End of inner exception stack trace ---
at Sdl.Common.Licensing.Provider.SafeNetRMS.UnifiedAPIProvider.CheckOutFeature(LicenseFeature feature)
at Sdl.Common.Licensing.Provider.SafeNetRMS.ProductLicense.CheckOut()
at Sdl.Desktop.Platform.Perpetual.PerpetualLicense.Initialize()
INFO [2024-07-11 19:09:29,314] TradosStudio.PushNotificationProvider.SignalRClient - Initializing client
INFO [2024-07-11 19:09:46,460] Sdl.Desktop.Platform.Implementation.Studio - Starting application service.
INFO [2024-07-11 19:09:46,589] Sdl.BestMatchServiceStudioIntegration.Common.DelegatingHandlers.ConnectivityHandler - Request with trace id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx for lc-api.sdl.com/.../sync-user-profile:
INFO [2024-07-11 19:09:47,051] Sdl.BestMatchServiceStudioIntegration.Common.DelegatingHandlers.ConnectivityHandler - Request response: OK traceId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
INFO [2024-07-11 19:09:47,103] Sdl.BestMatchServiceStudioIntegration.Common.DelegatingHandlers.ConnectivityHandler - Request with trace id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx for lc-api.sdl.com/.../accountsAndSettings:
INFO [2024-07-11 19:09:47,461] Sdl.BestMatchServiceStudioIntegration.Common.DelegatingHandlers.ConnectivityHandler - Request response: OK traceId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
INFO [2024-07-11 19:09:47,616] Sdl.BestMatchServiceStudioIntegration.Common.DelegatingHandlers.ConnectivityHandler - Request with trace id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx for lc-api.sdl.com/.../studioPackage:
INFO [2024-07-11 19:09:48,149] Sdl.BestMatchServiceStudioIntegration.Common.DelegatingHandlers.ConnectivityHandler - Request response: OK traceId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
INFO [2024-07-11 19:09:48,158] Sdl.TranslationStudio.LanguageCloud.Startup.LanguageCloudLogin - Language Cloud login successful.
INFO [2024-07-11 19:09:48,233] Sdl.TranslationStudio.ProjectManagement.AutoDeleteOnStartup - Deleting temporary files
INFO [2024-07-11 19:09:50,071] Sdl.BestMatchServiceStudioIntegration.Common.DelegatingHandlers.ConnectivityHandler - Request with trace id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx for lc-api.sdl.com/.../projects:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


I noticed from my personal logs that the `ITerminologyProvider.Search` runs normally without issues and I return the search results properly, but the `ITerminologyProvider.GetEntry(int id)` does not run at all.

It is important to notice that the exact same code runs perfectly in Trados Studio 2024.

-------------------------

PROBLEM #2: STEPS TO REPRODUCE

Follow exactly the same steps 1-3 from problem #1

Now, open your project and notice that Trados does not ever run the `ITerminologyProvider.GetDescriptiveFields()` to fill in the Hitlist Fields

This problem exists in Studio 2022 SR2 and Studio 2024.

If I use no custom languages I get the descriptive fields to work fine.

Looking forward to your answer



Generated Image Alt-Text
[edited by: RWS Community AI at 6:06 AM (GMT 0) on 15 Nov 2024]