The cell is compared against the keys in the dictionary file and - given that a matching key is found - the cell content is then replaced by the value of the respective dictionary entry.
AFAIK, the String Replace (Dictionary) compares the complete cell content and replaces it. It does not look out for partial matches. That said, it behaves different to its potential counterpart String Replacer that allows to define wildcard patterns and regular expressions.
I am not aware of a node that directly reads from a dictionary file and replaces partial matches in a cell.
I see a couple of potential workarounds:
Manually create a regular expression based on your replacement rules (provided as file) and use it once in the String Replacer.
Use a combination of String Replacer in combination with looping nodes (to apply each rule individually) – you probably need Table Row To Variable Loop Start/Loop End for applying multiple patterns in a loop and Recursive Loop Start/Recursive Loop End for passing the same string over and over again.
Maybe one of our more knowledgable forum users has an already working solution available or a way to solve this with even less nodes.