OmegaT could propose translations based on a combination of the best match and the glossary items that do not fit.
Ex:
translated:
I like cakes -> j'aime les gateaux
glossary:
bananas -> les bananes
new segment:
I like bananas
match:
66% -> I like cakes
pseudo match:
I like (s/cakes/bananas) -> j'aime (s/les gateaux/les bananes) = j'aime les bananes.
Articles, conjugations etc are tricky but I suppose for a lot of languages and in a lot of cases, such pseudo matches would actually greatly enhance the efficiency of the process.
i am looking into implementing this request because i need a very similar feature for my own use case as well.
https://github.com/omegat-org/omegat/pull/2364 introduces "Insert Match with Glossary Hits Replaced" (ctrl/cmd alt i): inserts active fuzzy match with glossary repairs - where match source differs from current segment and both sides of the difference are glossary terms, old target term is swapped for the new one (whole-word, capitalization-matched)