1. A method for machine translation, comprising: receiving a source string in a source language, an indication of a target language, and user identification information; using the user identification information to identify at least one memory with user-specific translation data; tokenizing the source string, using at least one processor, to produce a tokenized source string comprising at least one unique temporary textual elements associated with corresponding target textual elements during tokenization, wherein tokenizing further comprises: searching the source string to identify at least one portion of the source string that meet a search criterion; replacing the identified at least one portion of the source string with a corresponding unique temporary textual element; and associating each unique temporary textual element with a corresponding target textual element; obtaining a translated string from a translator, the translated string being at least a partial translation of the tokenized source string and including the at least one unique temporary textual elements; and generating an output string using at least one processor, the generation comprising replacing the at least one unique temporary textual elements in the translated string with the associated target textual elements.