No Term Recognition when using a Custom Terminology Provider

I'm building a custom terminology provider. I've got it to the state where I can search terms and show the search result's details in the Termbase Viewer panel.

But I'm unable to have terms in the source segment recognised as being present in the termbase.

For example, in my test project I have a source document containing only the text 'Hallo Welt'. Attached to this project is a file-based MultiTerm termbase with only the following entry:

Once the file is opened in Trados Studio the text in the source segment is recognised:

As can be seen, the text in the source segment is recognised (red line above the text) and the termbase entry is shown in the Term Recognition panel.

If I now remove that MultiTerm termbase from the project and hook up my own termbase in its place (via the custom terminology provider), I can show that 'Hello world'/'Hallo Welt' is in this termbase because I can search for it and receive the result...

The above screenshot also has the Termbase Viewer panel open to show that the result is from my terminology provider - the search result is also visible in the Termbase Search panel. But as can be seen, there's no red line in the source segment.

Here's almost the same screenshot, this time with an empty Term Recognition panel:

I know that the source segment is being searched for because it hits the expected breakpoint in my code. I also know that the search result is being returned from that method.

I've also tried the ExcelTerminology example plugin and it does exactly the same as mine - it only displays search results and doesn't indicate any hits in the source segments or the Term Recognition panel.

Can anyone explain why that search result is not shown in either the Term Recognition panel or with the addition of a red line above the source text?

9 Replies Latest Replies: 16 Nov 2018 12:18 PM by Florentina Caputa < 1   2  >
  • In reply to Andrew Jameson:

    The interesting bit would be to see how you implemented IEntry.
    The initial Search() is just to establish if and which terms you can deliver (the source text you can match). What counts is the actual delivery of the terms in GetEntry(). It doesn't take your word for it: if you don't return the found IEntry it won't draw a pretty red line above the matched text let alone show search results.
< 1   2  >