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 any unique temporary textual elements associated with corresponding target textual elements during tokenization; obtaining a translated string from a translator, the translated string being at least a partial translation of the tokenized source string and including all of the unique temporary textual elements; and generating an output string using at least one processor, the generation comprising replacing all of the unique temporary textual elements in the translated string with the associated target textual elements.