Forcing translation of specific words

I’m considering the option where I force the model to translate some specific words according to a user defined dictionary, that is, specifying a custom translation for some words. This could be useful for the case of named entities such as names, cities, etc. Moreover, it would enable the user to select the most convenient word among the possible synonyms, which may not be the one translated by the model.

I have thought about adding some special feature and then training the model to learn that pattern. For example:
My|T nickname|T is|T anderleich|NT
where T stands for translate and NT for no translate

Another option, and I don’t really know if it is possible, would be to dig into the probabilities returned by the model for the most adequate word, and let the user choose among the top 3.

Any suggestions?