About a year ago ...
I have three standalone MT packages (English/Japanese only) and all of them work in much the same way, as follows.
When I machine-translate a segment, a translation is displayed. Then, if I’m not satisfied with it, I click on a word or phrase to find and apply a better alternative (selectable from a pop-up list of alternatives). Alternatives are derived from both built-in and user dictionaries which include attribute information (e.g., verb/noun/adverb, etc.; collocation, position within the sentence, and so on) that is used by the syntax-based translation engine.
The selections made are remembered by the system and are applied immediately (from the next segment onward) on a preferential basis.
Word/phrase selections can be saved, so I can have any number of groups of preferred choices: for legal documents, for business reports, for advertisements, and more. Of course, the selected group is applied first.
The packages can also define any number of translation styles, including the sentence style (formal or not), number replacement preferences, default translations for certain conjunctions, and so on. Again, of course, the selected style is applied first.